In recent years, application server technology has become very
popular for building complex but mission-critical systems such
as Web-based E-Commerce applications. However, the resulting
solutions tend to suffer from serious performance and
scalability bottlenecks, because of their distributed nature and
their various software layers. This paper deals with the problem
by presenting an approach about transparently caching results of
a service interface's read-only methods on the client side.
Cache consistency is provided by a descriptive cache
invalidation model which may be specified by an application
programmer. As the cache layer is transparent to the server as
well as to the client code, it can be integrated with relatively
low effort even in systems that have already been implemented.
Experimental results show that the approach is very effective in
improving a server's response times and its transactional
Roughly speaking, the overhead for cache maintenance is small
when compared to the cost for method invocations on the server
side. The cache's performance improvements are dominated by the
fraction of re ... mehrad method invocations and the cache hit rate. Our
experiments are based on a realistic E-commerce Web site
scenario and site user behaviour is emulated in an authentic
way. By inserting our cache, the maximum user request throughput
of the web application could be more than doubled while its
response time (such as perceived by a web client) was kept at
a very low level.
Moreover, the cache can be smoothly integrated with traditional
caching strategies acting on other system tiers (e.g. caching of
dynamic Web pages on a Web server). The presented approach as
well as the related implementation are not restricted to
application server scenarios but may be applied to any kind of
interface-based software layers.