Optimization Of Soap Presentation(Jg9e10)


Published on

About the technology that improve the serialise and deserialise SOAP message between web services

  • Be the first to comment

  • Be the first to like this

Optimization Of Soap Presentation(Jg9e10)

  1. 1. SOAP based web service messaging Optimization<br />Web technology<br />Presented by Jie Gao<br />Engineering and Computer Science<br />Academic Year 2010 /11<br />
  2. 2. Papers<br />Abu-Ghazaleh, N.; Lewis, M.J.; , "Differential Deserialization for Optimized SOAP Performance," Supercomputing, 2005. Proceedings of the ACM/IEEE SC 2005 Conference , pp. 21- 21, 12-18 Nov. 2005<br />K. Chiu, M. Govindaraju, and R. Bramley.<br /> Investigating the Limits of SOAP Performance for<br /> Scientific Computing. In Proceedings of 11th IEEE<br /> International Symposium on High Performance<br /> Distributed Computing, pages 246–254, Edinburgh,<br /> Scotland, July 23-26, 2002. <br />
  3. 3. AGENDA<br />Motivation & Background<br />Optimization technique Solutions<br />DS<br />DDS<br />DS vs. DDS<br />Conclusion<br />
  4. 4. Motivation & Background<br />
  5. 5. Why SOAP?<br /><ul><li>WSDL and SOAP</li></li></ul><li> Why SOAP?<br />On one hand,<br /><ul><li>Soap is a xml-based message description language
  6. 6. Soap specifies a means for invoking web services over some underlying protocol, usually HTTP
  7. 7. Soap is simple, expressive, extensible and language independent</li></ul> Enable interoperability between clients and servers across heterogeneous platforms and languages<br />
  8. 8. SOAP<br />On the other hand,<br />SOAP is an ASCII and XML based format<br />Converting between SOAP and in-memory application data representations can be expensive<br />Bottleneck in Data Serialization and Deserialization <br />
  9. 9. Previous ApproachDifferential serialization (DS) -Client side solution<br />Avoid serializing entire messages on the sender side<br /><ul><li>Buffering copies of outgoing message
  10. 10. Track and only the changes are reconverted and rewritten
  11. 11. Improve the performance significantly in the scenario when clients send sequences of similar messages with similar structure and content</li></li></ul><li>Differential deserialization(DDS)<br /><ul><li>DS’ analogue on the server side</li></li></ul><li>Two sample SOAP messages ----- Google Web Services<br />POST / HTTP/1.1<br />Host: api.google.com<br />User-Agent: gSOAP/2.7<br />Content-Type: text/xml; charset=utf-8<br />Content-Length: 664<br />Connection: close<br />SOAPAction: "urn:GoogleSearchAction"<br /><?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexm<br />lns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xm<br />lns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xm<br />lns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x<br />sd="http://www.w3.org/2001/XMLSchema" xmlns:api="urn:Google<br />Search"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schem<br />as.xmlsoap.org/soap/encoding/"><api:doGoogleSearch><key>XXX<br />XX</key><q>Binghamton Grid Computing</q><start>0</start><ma<br />xResults>10</maxResults><filter>true</filter><restrict></re<br />strict><safeSearch>false</safeSearch><lr></lr><ie>latin1</i<br />e><oe>latin1</oe></api:doGoogleSearch></SOAP-ENV:Body></SOA<br />P-ENV:Envelope><br />(a) A search for “Binghamton Grid Computing”<br />POST / HTTP/1.1<br />Host: api.google.com<br />User-Agent: gSOAP/2.7<br />Content-Type: text/xml; charset=utf-8<br />Content-Length: 667<br />Connection: close<br />SOAPAction: "urn:GoogleSearchAction"<br /><?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexm<br />lns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xm<br />lns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xm<br />lns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x<br />sd="http://www.w3.org/2001/XMLSchema" xmlns:api="urn:Google<br />Search"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schem<br />as.xmlsoap.org/soap/encoding/"><api:doGoogleSearch><key>XXX<br />XX</key><q>Differential Deserialization</q><start>0</start><br /><maxResults>10</maxResults><filter>true</filter><restrict><<br />/restrict><safeSearch>false</safeSearch><lr></lr><ie>latin1<br /></ie><oe>latin1</oe></api:doGoogleSearch></SOAP-ENV:Body></<br />SOAP-ENV:Envelope><br />(b) A search for “Differential Deserialization”<br />Figure 1: Two similar gSOAP-generated SOAP messages to the Google doGoogleSearch Web Service.<br />
  12. 12. How DDS works?<br />An idea to avoid fully deserializing each message in an incoming stream of similar messages<br />
  13. 13. How DDS works?<br />DDS-enabled Deserialiser<br /><ul><li>Regular mode
  14. 14. Read and process all SOAP tags and message contents
  15. 15. Create checkpoints and corresponding message portion checksums
  16. 16. fast mode
  17. 17. Consider the sequence of checksums corresponding to disjoint portions of the message
  18. 18. Compares them against the sequence of checksums associated with the most recently received message for the same service</li></li></ul><li> How DDS works?<br /><ul><li>Periodically checkpoint the state of the SOAP deserialiser
  19. 19. Switch back and forth between fast and regular deserialization modes
  20. 20. Compute checksums of SOAP message portions
  21. 21. Through matching corresponding portions, expensive step of completely parsing and deserializing the incoming message can be avoided </li></li></ul><li>DS VS. DDS<br /><ul><li>Completely separate
  22. 22. Independent ideas and implements
  23. 23. Represents very different realization of the same high level ideas
  24. 24. DS for sending SOAP data; DDS for receiving it</li></li></ul><li>Conclusion<br /><ul><li>DDS is more promising than DS
  25. 25. More applicable
  26. 26. DS only works if the same client sends a stream of similar messages
  27. 27. DDS can avoid Deserialization of similar messages sent by multiple different clients
  28. 28. It is a client server mode</li></ul> Speed of server is more often the determining factor of performance<br />
  29. 29. Reference<br /><ul><li>T. Suzumura, T. Takase, and M. Tatsubori. Optimizing Web Services Performance by Differential Deserialization. IEEE/ACM International Conference on Web Services, pages 185–192, Orlando, FL, July on Web Services, pages 185–192, Orlando, FL, July
  30. 30. K. Devaram and D. Andresen. SOAP Optimization via Parameterized Client-Side Caching. In Proceedings of PDCS 2003, pages 785–790, November 3-5, 2003.
  31. 31. E. Christensen et. al. Web Services Description Language (WSDL) 1.1, March 2001. http://www.w3.org/TR/wsdl.</li></li></ul><li>
  32. 32. Thanks!<br />18<br />