what is soap


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

what is soap

  1. 1. SOAP TECHNOLOGY <ul><li>What is SOAP ? </li></ul><ul><ul><li>SOAP is a simple, lightweight XML protocol for exchanging exchanging structured and typed information on the Web </li></ul></ul><ul><ul><li>Extensible </li></ul></ul><ul><ul><li>No application semantics and no transport semantics </li></ul></ul>
  2. 2. Who is drafting SOAP ? <ul><li>UserLand, Ariba, CommerceOne, Compaq, Developmentor, HP, IBM, IONA, Lotus, Microsoft, SUN and SAP. </li></ul><ul><li>SOAP specification v1.1 already a W3C standard. v1.2 has recently been submitted. </li></ul>
  3. 3. Why SOAP? <ul><li>Important need in Internet application development to allow communication between apps. </li></ul><ul><li>The politics of serialization : Several large factions each loyal to its own particular RPC ( remote procedure call ) protocol - DCOM, CORBA , Java RMI </li></ul><ul><li>SOAP addresses the interoperability issue at the data serialization level </li></ul>
  4. 4. Bringing down the walls <ul><li>These systems could interact using bridges but they add costs and hurt performance. </li></ul><ul><li>Made decisions to standardize on one or the other ; then used message-oriented middleware for integration. </li></ul><ul><li>If Web browsers can, why not remote services? </li></ul><ul><li>SOAP - simplicity, flexibility, platform-neutrality and text-based. </li></ul>
  5. 5. RPC revisited <ul><li>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. </li></ul><ul><li>To understand SOAP better : a look at DCOM’s RPC architecture. </li></ul><ul><li>Primary design goal of DCOM was “ location transparency ”. </li></ul>
  6. 6. DCOM Architecture <ul><li>Location transparency in DCOM using the proxy/stub architecture. DCOM uses the NDR serialization scheme. </li></ul><ul><li>SOAP uses XML to structure the data serialization. </li></ul>
  7. 7. SOAP and...HTTP ?! <ul><li>More than a data serialization format to do real RPC….transfer messages to the server and return the response. </li></ul><ul><li>DCOM and CORBA are incompatible when addressing endpoints, activating remote objects... </li></ul><ul><li>HTTP most conducive Internet Protocol for RPC via SOAP msgs : -URLs,Synch. Blocking, Scalable ,Secure </li></ul>
  8. 8. The Firewall blues <ul><li>DCOM and CORBA IIOP not firewall friendly, use oddly-numbered ports etc. </li></ul><ul><li>HTTP traffic over port 80 usually can talk through firewalls. </li></ul><ul><li>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 . </li></ul>
  9. 9. SOAP building block
  10. 10. SOAP Building block ( cont’d ) <ul><li>A SOAP message is an ordinary XML document. </li></ul><ul><li>The XML document contains the following XML elements: </li></ul><ul><li>- A SOAP envelope , defines message content </li></ul><ul><li>- A SOAP header(optional), contains header information </li></ul><ul><li>- A SOAP body, that contains call and response information </li></ul>
  11. 11. A SOAP Example <ul><li>A SOAP request embedded in an HTTP Request: </li></ul><ul><li><SOAP-ENV:Envelope> </li></ul><ul><li>< SOAP-ENV:Body> </li></ul><ul><li><xmlns:m=“http://www.stock.org/stock”/> </li></ul><ul><li>< m:GetStockPrice> </li></ul><ul><li>< StockName>IBM</StockName> </li></ul><ul><li></m:GetStockPrice> </li></ul><ul><li></SOAP-ENV:Body> </li></ul><ul><li></SOAP-ENV:Envelope> </li></ul>
  12. 12. A SOAP Example (Cont’d ) <ul><li>A SOAP response embedded in an HTTP Response </li></ul><ul><li><SOAP-ENV:Envelope> </li></ul><ul><li>< SOAP-ENV:Body> </li></ul><ul><li><xmlns:m=“http://www.stock.org/stock”/> </li></ul><ul><li>< m:GetStockPriceResponse> </li></ul><ul><li>< StockName>113.81</StockName> </li></ul><ul><li></m:GetStockPriceResponse> </li></ul><ul><li></SOAP-ENV:Body> </li></ul><ul><li></SOAP-ENV:Envelope> </li></ul>
  13. 13. SOAP Summary <ul><li>SOAP is </li></ul><ul><li>- a lightweight comm. protocol </li></ul><ul><li>- is based on XML </li></ul><ul><li>- designed to communicate via HTTP </li></ul><ul><li>- not tied to any component technology or programming language. </li></ul><ul><li>- simple and extensible </li></ul><ul><li>- a W3C standard </li></ul>
  14. 14. Thankyou!