GROUP 3
Larry Gillis
Eric Lam
Cindy Lee
Calvin
Nguyen
Evgeni
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 applicationdefined 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=[Link]
soap:encodingStyle="[Link]
<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=
[Link]
-envelope
soap:encodingStyle="[Link]
[Link]/2001/12/soap-encoding">
<soap:Header>
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap=[Link]
01/12/soap-envelope
soap:encodingStyle="[Link]
[Link]/2001/12/soap-encoding">
<soap:Header>
<n:movie>Star
Wars</n:movie>
</soap:Header>
<n:movie>Star
Wars</n:movie>
</soap:Header>
<soap:Body>
<soap:Body>
<p:day>Wednesday</p:day>
<p:times>7 p.m-12
a.m.</p:times>
</soap:Body>
</soap:Envelope>
<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="[Link]
g/2001/09/soap-envelope">
<env:Body>
<r:StockPriceUpdate
xmlns:r="[Link]
2001/06/quotes">
<r:Symbol>BigCo</r:Symbol
>
<r:Price>34.5</r:Price>
</r:StockPriceUpdate>
</env:Body>
</env:Envelope>
Demonstration
GoogleSearch
[Link]
asp
[Link]
[Link]
License key =
bCpSxv1QFHLwtI0PLyIO4+2gPqkLO2z8
Demonstration
Message Exchange Patterns
One-way message
Request/Respons
e
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:
[Link]
p
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
Group #5:
MC365 Final
Projects
&
Secure file transfer and messaging
Two partners are engaged in a long-running process, which involves multiple message
exchanges.
[Link]
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
[Link]
[Link]
[Link]
/webservices/
[Link]
/[Link]
[Link]
[Link]