optimization of soap presentation(jg9e10)

18
SOAP based web service messaging Optimization Web technology Presented by Jie Gao Engineering and Computer Science Academic Year 2010 /11

Upload: jerry-gao

Post on 27-Jun-2015

1.227 views

Category:

Documents


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Optimization Of Soap Presentation(Jg9e10)

SOAP based web service messaging Optimization

Web technologyPresented by Jie GaoEngineering and Computer Science

Academic Year 2010 /11

Page 2: Optimization Of Soap Presentation(Jg9e10)

Papers

• 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

• K. Chiu, M. Govindaraju, and R. Bramley.Investigating the Limits of SOAP Performance forScientific Computing. In Proceedings of 11th IEEEInternational Symposium on High PerformanceDistributed Computing, pages 246–254, Edinburgh,Scotland, July 23-26, 2002.

Page 3: Optimization Of Soap Presentation(Jg9e10)

AGENDA

• Motivation & Background• Optimization technique Solutions– DS– DDS

• DS vs. DDS• Conclusion

Page 4: Optimization Of Soap Presentation(Jg9e10)

Motivation & Background

Page 5: Optimization Of Soap Presentation(Jg9e10)

Why SOAP?

–WSDL and SOAP

Page 6: Optimization Of Soap Presentation(Jg9e10)

Why SOAP?

On one hand,– Soap is a xml-based message description language– Soap specifies a means for invoking web services over some

underlying protocol, usually HTTP– Soap is simple, expressive, extensible and language independent

Enable interoperability between clients and servers across heterogeneous platforms and languages

Page 7: Optimization Of Soap Presentation(Jg9e10)

SOAPOn the other hand,

SOAP is an ASCII and XML based format

Converting between SOAP and in-memory application data representations can be expensive

Bottleneck in Data Serialization and Deserialization

Page 8: Optimization Of Soap Presentation(Jg9e10)

Previous Approach Differential serialization (DS) -Client side solution

Avoid serializing entire messages on the sender side

– Buffering copies of outgoing message– Track and only the changes are reconverted and rewritten

– Improve the performance significantly in the scenario

when clients send sequences of similar messages with similar structure and content

Page 9: Optimization Of Soap Presentation(Jg9e10)

Differential deserialization(DDS)– DS’ analogue on the server side

Page 10: Optimization Of Soap Presentation(Jg9e10)

Two sample SOAP messages ----- Google Web ServicesPOST / HTTP/1.1Host: api.google.comUser-Agent: gSOAP/2.7Content-Type: text/xml; charset=utf-8Content-Length: 664Connection: closeSOAPAction: "urn:GoogleSearchAction"<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:api="urn:GoogleSearch"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><api:doGoogleSearch><key>XXXXX</key><q>Binghamton Grid Computing</q><start>0</start><maxResults>10</maxResults><filter>true</filter><restrict></restrict><safeSearch>false</safeSearch><lr></lr><ie>latin1</ie><oe>latin1</oe></api:doGoogleSearch></SOAP-ENV:Body></SOAP-ENV:Envelope>

(a) A search for “Binghamton Grid Computing”

POST / HTTP/1.1Host: api.google.comUser-Agent: gSOAP/2.7Content-Type: text/xml; charset=utf-8Content-Length: 667Connection: closeSOAPAction: "urn:GoogleSearchAction"<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:api="urn:GoogleSearch"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><api:doGoogleSearch><key>XXXXX</key><q>Differential Deserialization</q><start>0</start><maxResults>10</maxResults><filter>true</filter><restrict></restrict><safeSearch>false</safeSearch><lr></lr><ie>latin1</ie><oe>latin1</oe></api:doGoogleSearch></SOAP-ENV:Body></SOAP-ENV:Envelope>

(b) A search for “Differential Deserialization”

Figure 1: Two similar gSOAP-generated SOAP messages to the Google doGoogleSearch Web Service.

Page 11: Optimization Of Soap Presentation(Jg9e10)

How DDS works?

An idea to avoid fully deserializing each message in an incoming stream of similar messages

Page 12: Optimization Of Soap Presentation(Jg9e10)

How DDS works?

DDS-enabled Deserialiser

– Regular mode – Read and process all SOAP tags and message contents– Create checkpoints and corresponding message portion

checksums– fast mode

– Consider the sequence of checksums corresponding to disjoint portions of the message

– Compares them against the sequence of checksums associated with the most recently received message for the same service

Page 13: Optimization Of Soap Presentation(Jg9e10)

How DDS works?

– Periodically checkpoint the state of the SOAP deserialiser– Switch back and forth between fast and regular deserialization

modes

– Compute checksums of SOAP message portions– Through matching corresponding portions, expensive step of

completely parsing and deserializing the incoming message can be avoided

Page 14: Optimization Of Soap Presentation(Jg9e10)

DS VS. DDS

– Completely separate– Independent ideas and implements– Represents very different realization of the

same high level ideas– DS for sending SOAP data; DDS for receiving it

Page 15: Optimization Of Soap Presentation(Jg9e10)

Conclusion

– DDS is more promising than DS– More applicable – DS only works if the same client sends a

stream of similar messages– DDS can avoid Deserialization of similar

messages sent by multiple different clients– It is a client server mode

Speed of server is more often the determining factor of performance

Page 16: Optimization Of Soap Presentation(Jg9e10)

Reference

– 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

– K. Devaram and D. Andresen. SOAP Optimization via Parameterized Client-Side Caching. In Proceedings of PDCS 2003, pages 785–790, November 3-5, 2003.

– E. Christensen et. al. Web Services Description Language (WSDL) 1.1, March 2001. http://www.w3.org/TR/wsdl.

Page 17: Optimization Of Soap Presentation(Jg9e10)
Page 18: Optimization Of Soap Presentation(Jg9e10)

18

Thanks!