Improving the performance of XML based technologies by caching and reusing information. Is it possible?
The growing synergy between Web Services and Grid or cloud based technologies is enabling profound, dynamic interactions between applications dispersed in geographic, institutional, and conceptual space. Such deep interoperability requires the simplicity, robustness, and extensibility for which XML has been conceived, making it a natural lingua franca for the network. Along with these advantages, there is a degree of inefficiency that may limit the applicability of XML.
In this paper, we investigate the limitations of XML for high-performance and high-interactive distributed computing. Our experimental results clearly show that focusing on parsers, that are routinely used for desterilize XML messages exchanged in these system, we can improve the performance of a generic the end to end web services based solution. Then we present a new parser, the Cache Parser, which uses a cache to reduce the parsing time by reusing information related to previously parsed documents/messages similar to the one under examination. Finally, we will show how our fast parser can improve the global throughput of any application based on Web or Grid or Cloud Services, or also RPC calls in general.
Key words: Web Service, Cloud Services, 3 tier architecture, SOA, RPC, Service Oriented Architecture
The may Web Services fully solve the “global enterprise integration” problem, but the proposed solution seems to exhibit a poor performance, and we believe that this could pose serious limitations on their actual applicability, as the number of commercial users will increase.
As shown in paragraph 2 we also believe that one of the limitations in using a full WS approach for implementing complex and highly interactive systems, comes from the large de-marshalling costs incurred on the receiver sides.
To solve this problem, we have designed a new parser: the Cache Parser. It is able to “well and quickly” retrieve information from XML documents, using previous knowledge about the document syntactic tree. In particular, our Cache Parser, which is used to de-marshal XML messages on the receiver side:
- Uses a checksum to detect if a new document is “well formatted”, and to know if it shares the syntactic tree with an already parsed one.
- Takes advantage of this XML-Document syntactic tree stored in a cache.
- It is based on a strict collaboration between sender and receiver.
- Consistently reduces the receiver parse time, without increasing the sender document creation time.
This algorithm is 25 time faster than a pull parser and if used in a WS scenario it can allow a 1.54 performance improvement factor in term of request handled per second. Finally it can be applied in any scenario where the client and the server decide to cooperate.
Full article available at this link.
Your help in sharing the idea is very welcome!Improving the #performance of XML based technologies by caching and reusing #Information. #Webseries #RealTime #CloudComputing #API #APIs #programming #softwareengineering Click To Tweet
Cite this paper as:
F. Lelli, G. Maron, and S. Orlando. Improving the Performance of XML Based Technologies by Caching and Reusing Information.. IEEE International Conference on Web Services (ICWS), Chicago, September 2006.