What is SOAP ?
SOAP is a simple, lightweight XML protocol
for exchanging exchanging structured and
typed information on the Web
No application semantics and no transport
Who is drafting SOAP ?
UserLand, Ariba, CommerceOne,
Compaq, Developmentor, HP, IBM, IONA,
Lotus, Microsoft, SUN and SAP.
SOAP specification v1.1 already a W3C
standard. v1.2 has recently been
Important need in Internet application
development to allow communication
The politics of serialization : Several large
factions each loyal to its own particular
RPC ( remote procedure call ) protocol
DCOM, CORBA , Java RMI
SOAP addresses the
at the data serialization level
Bringing down the walls
These systems could interact using
but they add costs and hurt
Made decisions to standardize on one or
the other ; then used message
middleware for integration.
If Web browsers can, why not remote
simplicity, flexibility, platform
neutrality and text
a standard way of serializing the
info. needed to invoke remote services into
and transported across the wire,
then recreated at destination.
To understand SOAP better : a look at
DCOM’s RPC architecture.
Primary design goal of DCOM was
Location transparency in DCOM using the
proxy/stub architecture. DCOM uses the
NDR serialization scheme.
SOAP uses XML to structure the data
SOAP and...HTTP ?!
More than a data serialization format to do
real RPC….transfer messages to the
server and return the response.
DCOM and CORBA are incompatible when
addressing endpoints, activating remote
HTTP most conducive Internet Protocol for
RPC via SOAP msgs :
URLs,Synch. Blocking, Scalable ,Secure
The Firewall blues
DCOM and CORBA IIOP not firewall
friendly, use oddly
numbered ports etc.
HTTP traffic over port 80 usually can talk
SOAP messages treated as a new MIME
type to be carried in a HTTP payload : so
HTTP headers indicate packet has SOAP
request , better firewall control
SOAP building block
Building block ( cont’d )
A SOAP message is an ordinary XML
The XML document contains the following
A SOAP envelope , defines message
A SOAP header(optional), contains
A SOAP body, that contains call and
A SOAP Example
A SOAP request embedded in an HTTP
A SOAP Example (Cont’d )
A SOAP response embedded in an
a lightweight comm. protocol
is based on XML
designed to communicate via HTTP
not tied to any component technology
or programming language.
simple and extensible
a W3C standard