Larry Gillis Eric Lam Cindy Lee Calvin Nguyen

GROUP 3
Larry Gillis
Eric Lam
Cindy Lee
Calvin Nguyen
Evgeni Zlatanov
The Problem
Interoperability between Internet applications
•
•
Today there are countless different operating systems,
different firewalls, different methods of making remote
procedure calls, and different platforms. In order to
interoperate across the Internet both the client and
server need to understand each others security types
and trusts, service deployment schemas, and
implementation details.
Remote objects can give a program lots of power over
the Internet, but most firewalls block non-HTTP
requests.
The Goal
•
The goal is a world where you can access objects
and services on remote (or local) servers in a
platform-independent manner.
The Solution
•
•
SOAP bridges the gap between competing object RPC
(Remote Procedure Calls) technologies and provides a
light-weight messaging format that works with any
operating system, any programming language, and any
platform.
SOAP is able to provide intraprocess communication
across machines. It gets around the limitations of
firewalls remote objects face when sending non-HTTP
requests.
Overview
•
•
•
•
•
•
•
•
Introduction
Brief History
3 Main Components
SOAP Skeleton
Demonstration (SOAP Request/Response)
SOAP & MC365 Final Projects
Conclusion
Q&A | Additional Resources
Introduction
What is SOAP?
•
•
SOAP defines the use of XML and HTTP to
access services, objects, and servers in a
platform-independent manner.
SOAP offers a mechanism for bridging
competing technologies in a standard way. The
main goal of SOAP is to facilitate
interoperability.
Brief History
•
A group of industry leaders including Compaq,
HP, IBM, IONA, Lotus, Microsoft, and SAP
proposed to W3C, in May 2000, the SOAP
Internet protocol that they hope will
revolutionize application development by
connecting GUI desktop applications to
powerful Internet servers using the standards of
the Internet, HTTP and XML.
3 Main Components
•
The SOAP envelope construct defines an overall
framework for expressing what is in a message; who
should deal with it, and whether it is optional or
mandatory.
•
The SOAP encoding rules defines a serialization
mechanism that can be used to exchange instances of
application-defined data types.
The SOAP RPC representation defines a convention
that can be used to represent remote procedure calls
and responses.
•
SOAP Skeleton
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap=http://www.w3.org/2001/12/soap-envelope
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
SOAP Skeleton
Simple Example
MESSAGE
RESPONSE
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap=http://www.w3.org/2001/12/so
ap-envelope
soap:encodingStyle="http://www.w3.org/20
01/12/soap-encoding">
<soap:Header>
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap=http://www.w3.org/2001/12/
soap-envelope
soap:encodingStyle="http://www.w3.org/2
001/12/soap-encoding">
<soap:Header>
</soap:Header>
</soap:Header>
<soap:Body>
<soap:Body>
<n:movie>Star
Wars</n:movie>
<p:day>Wednesday</p:day>
<p:times>7 p.m-12
a.m.</p:times>
</soap:Body>
</soap:Envelope>
<n:movie>Star
Wars</n:movie>
<p:day>Wednesday</p:day>
<p:times>12 a.m.</p:times>
</soap:Body>
</soap:Envelope>
Demonstration
Fire-and-forget SOAP message
Stock Quotes
Simple SOAP messaging model
• Used by businesses to send
automated messages and updates
 increase productivity, reduce
costs, improve services
<?xml version="1.0" ?>
<env:Envelope
xmlns:env="http://www.w3.org/2001
/09/soap-envelope">
<env:Body>
<r:StockPriceUpdate
xmlns:r="http://example.org/2001/06
/quotes">
<r:Symbol>BigCo</r:Symbol>
<r:Price>34.5</r:Price>
</r:StockPriceUpdate>
</env:Body>
</env:Envelope>
Demonstration
GoogleSearch
http://www.perfectxml.com/SOAPTestClient.asp
http://www.perfectxml.com/articles/XML/TheXMLWe
b.asp
License key = bCpSxv1QFHLwtI0PLyIO4+2gPqkLO2z8
Demonstration
Message Exchange Patterns
•
•
•
•
•
One-way message
Request/Response
Solicit/Response
(the reverse of
request/response)
Notifications
Long running P2P
conversations
Simple Response/Response
Sophisticated SOAP messaging
SOAP & MC365 Final Projects
BC Books – Eliminating the Middleman
Group #4: “BC-Bay”
Group #1:
http://www.perfectxml.com/SOAPTestClient.asp
SOAP & MC365 Final Projects
Group #2:
Information repository
– encryption/decryption
A sender wishes to exchange data with
a receiver and has agreed to
encrypt the payload. The sending
and receiving applications agree on
the encryption methodology. Data
is encrypted by the originating
application and sent to the receiver
via SOAP. The data reaches the
receiving application untouched,
and may then be decrypted in the
agreed-upon manner.
SOAP & MC365 Final Projects
Group #5:
Secure file transfer and messaging
Two partners are engaged in a long-running process, which involves multiple
message exchanges.
http://www.w3.org/TR/xmlp-scenarios/
Conclusion
Summary
•
•
•
•
•
•
•
•
•
•
•
Simple Object Access Protocol
Communication Protocol
Communication between applications
Format for sending messages
Designed to communicate via Internet
Platform independent
Language independent
Based on XML
Simple and Extensible
Get around Firewalls
W3C standard
Conclusion
Benefits of SOAP
•
•
Important for application development to allow
Internet communication between programs
Provides a way to communicate between
applications running on different operating
systems, with different technologies and
programming languages
Q&A
Additional Resources
•
•
Any questions?
Additional Resources
•
•
•
•
•
•
http://www.xmlfiles.com/articles/adam/soapsoup/default.asp
http://www.microsoft.com/mind/0100/soap/soap.asp
http://developer.java.sun.com/developer/technicalArticles/xml/webservices/
http://java.sun.com/webservices/docs/1.1/api/javax/xml/soap/packagesummary.html
http://www.w3schools.com/soap/default.asp
http://www.w3.org/TR/SOAP/