140 likes | 197 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 ?.
E N D
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 formatand 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.
SOAPBuilding 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