Aggregating REST requests to accelerate Web 2.0 applications
Abstract
Web 2.0 applications often rely on programming techniques that involve Ajax and mashups to provide rich user experiences and remixing of contents. Such techniques allow browser-based clients to communicate with the server using numerous units of information that are small compared with traditional (Web 1.0) applications for which the communication unit is typically an entire page. As a result, Web 2.0 applications tend to generate a larger number of smaller-sized requests. We describe a technique that aggregates multiple client requests of the same type and that processes them at the same time to accelerate Web 2.0 applications when the server is heavily loaded with a large number of client requests. We used a Representational State Transfer (REST) architecture style because they allow the server to detect the request type by examining a small portion in the Hypertext Transfer Protocol request. Due to this aggregation, the application server can process multiple client requests together. Request-invariant computations need to be done only once for a set of aggregated requests. Our experimental results with a simple application within a framework of WebSphere® sMash demonstrate that our technique can improve the throughput of client requests by more than a factor of 2 when we aggregate up to only four requests at a time. ©Copyright 2010 by International Business Machines Corporation.