Aggregating REST requests to accelerate Web 2.0 applications
by M. Ohara
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.