Supervisor : Dr. Sanjiva Weerawarana Presented by : Prabath Siriwardena
<ul><li>Web service calls are considerably slow compared to JAVA RMI and .NET Remoting </li></ul><ul><li>SOAP is based on ...
<ul><li>SOAP message template generation for a given WSDL </li></ul><ul><li>Templating & Caching SOAP message requests to ...
 
<ul><li>SOAP message template generation </li></ul>WSDL WSDL2JAVA SOAP Message Template SOAP Message Template SOAP Message...
<ul><li>SOAP message template generation [contd..] </li></ul><s:element name=&quot; TestWithComplexType5 &quot;> <s:comple...
<ul><li>SOAP message template generation [contd..] </li></ul>String[] template =  new String[11];  template[0]= &quot;<Tes...
<ul><li>Caching & Templating </li></ul>Envelope Cache Search(‘Axis’) Template  Repository Not in Cache SOAP Envelope Build...
<ul><li>Caching & Templating </li></ul>Template  Repository SOAP Envelope SOAP Header
.NET Web Service AXIS2 Engine Client One : Templating + Caching  Client Three : Templating Only Client Two : Default Clien...
<ul><li>Performance gain due to templating & caching increases as the object complexity increases. </li></ul>
<ul><li>Templating contributes in a larger percentage to the performance gain than the caching as the object complexity in...
<ul><li>Differential Serialization & Differential De-serialization </li></ul><ul><li>Client Side Caching </li></ul><ul><li...
<ul><li>Implementation of SOAP message template generation : 5% </li></ul>
<ul><ul><li>SOAP Spec 1.2 </li></ul></ul><ul><ul><li>The Axis2 Transport Framework     http://www.developer.com/services/a...
<ul><li>Thank You…! </li></ul>
Upcoming SlideShare
Loading in …5
×

Improving Soap Message Serialization

1,676
-1

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,676
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Improving Soap Message Serialization

    1. 1. Supervisor : Dr. Sanjiva Weerawarana Presented by : Prabath Siriwardena
    2. 2. <ul><li>Web service calls are considerably slow compared to JAVA RMI and .NET Remoting </li></ul><ul><li>SOAP is based on XML and XML encoding contributes in a large amount for the slowness of web service API calls. </li></ul><ul><li>SOAP requires it’s wire format to be in text and there is a cost of conversion from binary form to text before being transmitted. </li></ul>
    3. 3. <ul><li>SOAP message template generation for a given WSDL </li></ul><ul><li>Templating & Caching SOAP message requests to overcome performance bottlenecks due to serialization. </li></ul>
    4. 5. <ul><li>SOAP message template generation </li></ul>WSDL WSDL2JAVA SOAP Message Template SOAP Message Template SOAP Message Template Modified XSL files
    5. 6. <ul><li>SOAP message template generation [contd..] </li></ul><s:element name=&quot; TestWithComplexType5 &quot;> <s:complexType> <s:sequence>   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; address &quot; type=&quot; tns:Address &quot; />   </s:sequence>   </s:complexType>   </s:element> <s:complexType name=&quot; Address &quot;> <s:sequence>   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; Address1 &quot; type=&quot; s:string &quot; />   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; Address2 &quot; type=&quot; s:string &quot; />   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; City &quot; type=&quot; s:string &quot; />   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; State &quot; type=&quot; s:string &quot; />   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; Country &quot; type=&quot; s:string &quot; />   <s:element minOccurs=&quot; 0 &quot; maxOccurs=&quot; 1 &quot; name=&quot; PostalCode &quot; type=&quot; s:string &quot; />   </s:sequence>   </s:complexType>
    6. 7. <ul><li>SOAP message template generation [contd..] </li></ul>String[] template = new String[11]; template[0]= &quot;<TestWithComplexType5 xmlns=&quot;http://axis2.benchmarking/&quot;> <address><Address1>&quot;; template[2]=&quot;</Address1><Address2>&quot;; template[4]=&quot;</Address2><City>&quot;; template[6]=&quot;</City><State>&quot;; template[8]=&quot;</State><PostalCode>&quot;; template[10]=&quot;</PostalCode></address></TestWithComplexType5>&quot;; public static final int ADDRESS_1 = 1; public static final int ADDRESS_2 = 3; public static final int CITY = 5; public static final int STATE = 7; public static final int POSTAL_CODE = 9;
    7. 8. <ul><li>Caching & Templating </li></ul>Envelope Cache Search(‘Axis’) Template Repository Not in Cache SOAP Envelope Builder Add to Cache SOAP Envelope 1 2 3 4 5 SOAP Template Builder SOAP Envelope
    8. 9. <ul><li>Caching & Templating </li></ul>Template Repository SOAP Envelope SOAP Header
    9. 10. .NET Web Service AXIS2 Engine Client One : Templating + Caching Client Three : Templating Only Client Two : Default Client useTemplating=true useTemplating=false useTemplating=true Modified Stubs Default Stubs Modified Stubs
    10. 11. <ul><li>Performance gain due to templating & caching increases as the object complexity increases. </li></ul>
    11. 12. <ul><li>Templating contributes in a larger percentage to the performance gain than the caching as the object complexity increases </li></ul>
    12. 13. <ul><li>Differential Serialization & Differential De-serialization </li></ul><ul><li>Client Side Caching </li></ul><ul><li>SOAP message compression : CPU time spent on compression and decompression outweighs the benefits. </li></ul><ul><li>Compact the XML tags and to reduce the length of XML tags. </li></ul>
    13. 14. <ul><li>Implementation of SOAP message template generation : 5% </li></ul>
    14. 15. <ul><ul><li>SOAP Spec 1.2 </li></ul></ul><ul><ul><li>The Axis2 Transport Framework    http://www.developer.com/services/article.php/3606466 </li></ul></ul><ul><ul><li>Writing an Axis2 Service from Scratch    http://www.developer.com/java/ent/article.php/10933_3613896_1 </li></ul></ul><ul><ul><li>Introducing Axiom    http://www.theserverside.com/tt/articles/article.tss?l=Axiom </li></ul></ul><ul><ul><li>AXIOM - Fast and Lightweight Object Model for XML    http://wso2.org/library/291 </li></ul></ul><ul><ul><li>JSR 173 - Streaming API for XML </li></ul></ul><ul><ul><li>J2EE Web Services' - RMH </li></ul></ul><ul><ul><li>Java Web Service Architecture - James McGovern </li></ul></ul><ul><ul><li>Differential Serialization for Optimized SOAP Performance - Nayef Abu-Ghazaleh, Michael J. Lewis, Madhusudhan Govindaraju </li></ul></ul><ul><ul><li>SOAP Optimization via Client-side Caching - Kiran Devaram and Daniel Andresen </li></ul></ul>
    15. 16. <ul><li>Thank You…! </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×