ppt

clappingknaveSoftware and s/w Development

Dec 14, 2013 (3 years and 9 months ago)

82 views

SOAP TECHNOLOGY



What is SOAP ?



SOAP is a simple, lightweight XML protocol
for exchanging exchanging structured and
typed information on the Web


Extensible


No application semantics and no transport
semantics


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
submitted.

Why SOAP?


Important need in Internet application
development to allow communication
between apps.



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
interoperability
issue
at the data serialization level


Bringing down the walls


These systems could interact using
bridges

but they add costs and hurt
performance.



Made decisions to standardize on one or
the other ; then used message
-
oriented
middleware for integration.



If Web browsers can, why not remote
services?



SOAP
-

simplicity, flexibility, platform
-
neutrality and text
-
based.


RPC revisited


SOAP
-

a standard way of serializing the
info. needed to invoke remote services into
a format

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
”.



DCOM Architecture



Location transparency in DCOM using the
proxy/stub architecture. DCOM uses the
NDR serialization scheme.



SOAP uses XML to structure the data
serialization.

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
objects...



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
through firewalls.




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

SOAP

Building block ( cont’d )


A SOAP message is an ordinary XML
document.



The XML document contains the following
XML elements:



-

A SOAP envelope , defines message
content


-

A SOAP header(optional), contains
header information



-

A SOAP body, that contains call and
response information



A SOAP Example



A SOAP request embedded in an HTTP
Request:



<SOAP
-
ENV:Envelope>


< SOAP
-
ENV:Body>



<xmlns:m=“http://www.stock.org/stock”/>



< m:GetStockPrice>



< StockName>IBM</StockName>



</m:GetStockPrice>


</SOAP
-
ENV:Body>


</SOAP
-
ENV:Envelope>


A SOAP Example (Cont’d )


A SOAP response embedded in an
HTTP Response



<SOAP
-
ENV:Envelope>


< SOAP
-
ENV:Body>



<xmlns:m=“http://www.stock.org/stock”/>



< m:GetStockPriceResponse>



< StockName>113.81</StockName>



</m:GetStockPriceResponse>


</SOAP
-
ENV:Body>


</SOAP
-
ENV:Envelope>


SOAP Summary



SOAP is



-

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

Thankyou!