XML has emerged as the lingua franca of service-oriented infrastructures, forming the basis for all the SOA standards...
in vogue. However, the performance gaps in SOA deployments due to verbosity and voluminousness of XML, combined with chatty transport protocols is a cause of concern. Different approaches have been suggested and adopted to deal with this performance bottleneck, key among which are:
- XML compression including compact intermediate representations
- Offloading via accelerators
- Transport-level optimization
- Optimized XML processing like specialized parsers for specific schemas, etc.
While the first three approaches listed above are already mainstream in commercial deployments in different products and custom implementations, the latter two strategies of transport level optimization and optimized XML processing are still to get the attention of the SOA product community. We believe the experimental results from these two approaches in the field are encouraging and these approaches will become mainstream for tackling the SOA performance challenge.
The notion of optimizing transport level protocols for better SOA performance is important, given that SOAP, the fundamental SOA protocol, rides on top of underlying transport protocols and is transport agnostic. In these approaches, for end-to-end optimization special attention is paid to optimize the transport protocol (e.g. HTTP) to handle Web service payloads. To date, HTTP has emerged as the prominent protocol to carry Web service payloads. In the recent past, special attention has been paid to optimizing HTTP and HTTPS protocols to get optimal performance for Web services.
For a detailed survey of existing transport level protocols used to carry Web service payloads, see "Enhanced Transport Bindings for Efficient SOAP messaging" published by the IEEE. Some related work out of Cornell University also shows encouraging results for those interested in optimization techniques.
Positive results have been demonstrated in these works by proving the effectiveness of improving overall Web services performance by leveraging optimized transport-level efficiency. While the Cornell study shows good results via use of a reliable time critical multicast protocol with probabilistic guarantees, the IEEE study shows an innovative optimized application layer on top of UDP. Extending the observations, some related approaches have leveraged HTTP compression techniques to improve Web services performance. Likewise, TCP offload techniques have shown to be highly effective in improving performance of secure Web services requiring SSL.
Achieving the same objective of overall improvement of Web services performance is yet another approach, namely that of optimized Web service processing bypassing the usual complete life cycle of an XML document parse/marshal/demarshal/re-parse. Some typical approaches that have been suggested in this direction include Schema-specific optimized parsers, usage of native payload format bypassing XML route, etc. An optimistic set of results have been demonstrated in multiple research works and experiments involving schema specific parsers (e.g. WSDL specific parsers), including the work in "High Performance Web Service specific SOAP processor" also published by the IEEE. Some other approaches have shown the benefits in adopting more proprietary and native payload formats (e.g. binary format as in CORBA/RMI) for achieving better end-to-end performance.
About the author
Srinivas Padmanabhuni, Ph.D, is a Principal Researcher with SETlabs, the research arm of Infosys Technologies Ltd. He leads the SOA/Web services centre of excellence in SETLabs. He has published numerous articles and spoken extensively on the topics of SOA, Web services and Enterprise Architecture. His areas of interest additionally include Semantic web and intelligent agents. He can be reached at email@example.com.