Upload
joy-anthony
View
220
Download
2
Embed Size (px)
Citation preview
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!