Date post: | 16-Jul-2015 |
Category: |
Business |
Upload: | sidcley-soares |
View: | 105 times |
Download: | 0 times |
An Aspect-Oriented Approach to
Consistency-Preserving
Caching and Compression of Web
Service Response Messages
Wubin Li, Johan Tordsson, and Erik ElmrothDepartment of Computing Science and HPC2N
Ume°a UniversityUme°a, Sweden
{wubin.li, tordsson, elmroth}@cs.umu.se
Agenda
2010 IEEE International Conference on Web Services
AbstractMotivationAOPWeb ServicesProposed solutionDesign and ImplementationExperimental Evaluation
Abstract
2010 IEEE International Conference on Web Services
This article describes a tool called Tantity proxywhich acts as a middleware layer to improve thethroughput of Webservices using Caching and AOPtechniques. It also describes the use ofcompression in order to reduce the size of thesoap information over the network.
Motivation
Web Services suffer from overhead due to verbose encoding and extensive (de)serializationReducing response time of costly remote services is a critical challenge
No related work for Caching without semantic interpretation
Previous work on handling caching transparent ignored the consistency aspectPrevious work which provides consistency does not ignores transparency thus requires substancial effor on implementation
2010 IEEE International Conference on Web Services
AOP
2010 IEEE International Conference on Web Services
Programming methodology for separating crosscutting concerns;LoggingCaching
Such concern is represented in a unit called Aspect
AspectUnit that provides a functionality with a crosscutting cocernEncapsulates behavior that affects multiple classes
Weaving rulesSet of rules which indicates in which classes aspects will be applied
Web Services
2010 IEEE International Conference on Web Services
• Web services is method of communication between two eletronic devices
• In A web service enviroment SOAP provides interoperability between client and Service
• Communication happens using XML-encoded messages• Substantial overhead is induced due to (de)serialization
Web Service response caching
• Previous work on Remote object caching utilizing CORBA, SOAP object, Java RMIThis work does not handle Consistency
SigSitAccelaratortackles the consistency using Cryptographical
hashing
Proposed solution
2010 IEEE International Conference on Web Services
Technologies:JavaAspectJApache CXFWSTest benchmark suite
Proposed solution
2010 IEEE International Conference on Web Services
Tantivy proxyCache textual-based data uzing GZIPLayer betweeen client and server sideCaching and sending hashed object over network
Experimental Evaluation(Benchmarking)
2010 IEEE International Conference on Web Services
• WSTEst Suite Benchmarking• Multi-thread application performing parallel calls simulating real life
scenario• Reports throughput ( average number of requests performed per
second)• Reports response time (average time it takes to process a request)
Experimental evaluation(Benchmarking)
2010 IEEE International Conference on Web Services
• EchoVoid - sends and receives an empty message. This benchmark performs neither serializationnor deserialization.
• EchoStruct - receives an array of arbitrary length as input parameter and returns this array. Thestructures in the array contain one element each of type integer, float, and string. The longer thearray, the more work is required in deserialization and re-serialization of the SOAP object to andfrom XML.
• EchoList - sends and receives a linked list of any size, where each element in the list consists ofthe same structure as used in EchoStruct.
• EchoSynthetic - sends and receives a structure that contains a byte array of varying length.
• GetOrder - simulates a request for a complete purchase order for an e-commerce service. Thisbenchmark takes three integer input parameters and returns an order object. The order objectis a complex structure that include order header information, a customer structure withshipping address and billing address structures, as well as any number of objects.
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Time: 600sBandwith: 5Mb/s, 20 Mb/s, 100 Mb/sCache-hit Ratio: 0%, 8%, 13%Mix of invocations (20% for each approach)Client Threads: 600
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 5 Mb/sCache-hit ratio: 0%
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 5 Mb/sCache-hit ratio: 8%
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 5 Mb/sCache-hit ratio: 13%
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 100 Mb/sCache-hit ratio: 8%
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 20 Mb/sCache-hit ratio: 8%
Experimental evaluation(Results)
2010 IEEE International Conference on Web Services
Bandwidth: 20 Mb/sCache-hit ratio: 8%
Conclusion
2010 IEEE International Conference on Web Services
• Web Services have received substantial attention around the opportunities they provide
• This paper proposed a new way to address response latency issues
• performance can be substantially reduced through caching and compression without any compromise to the strict consistency semantics of service response messages
• Tantivy uses hashing to detect similarity with previous results and sends either hashes of results or compressed results rather than original results
• Tantivy is the first system that combines the use of hash-based techniques, application object data representation, and data compression techniques with caching of response messages to improve Web Service performance
Future work
2010 IEEE International Conference on Web Services
• Web Service cache consistency management protocols would help in avoiding consistency problems and in achieving higher cache-hit ratios.
• Dinamically compression threshold based on current network conditions
• Caching sub elements of a SOAP message for frequently exchange a common set of data
Conclusion (reviewer)
2010 IEEE International Conference on Web Services
Good article on avoiding the duplicated payload going over the wire unnecessarily
The article descibres similar response objects but it needs to be identical in order to work;
The article does not mention how the compressed data plus SHA-1 key is sent back to the Tantivy Client;
The article does not show any raw request using the Tantivy Service
The proposed solution does not handle very similar bug big payload;