AOP-Based Caching of Dynamic Web Content: Experience with J2EE Applications
نویسندگان
چکیده
Caching dynamic web content is an appealing approach to reduce Internet latency and server load. In aspect-oriented programming, caching is usually presented as an orthogonal aspect that could be automatically integrated to an application. A classical AOP motivating example is adding caching of static data with no underlying consistency. But what about caching dynamic data? In this paper, we explore the feasibility of aspectizing consistent caching of dynamically generated web documents. We use two J2EE web applications to validate our experiments: the TPC-W on-line bookstore and the RUBiS auction site. To the question “Can we consider consistent caching of dynamic web content as a separate aspect that could be transparently and efficiently integrated to a dynamic web application?”, our conclusions are the following: (a) Just as in the classic AOP caching example having no consistency management, AOP provides a modular way to add caching having a strong consistency policy. (b) However, maintaining strong consistency on web pages results in prohibitively expensive run-time processing and, thus, any straightforward implementation in AOP is too slow. We propose an optimization that essentially eliminates all the run-time overhead in practice. (c) Furthermore, we identify instances where consistent web caching may not be orthogonal to J2EE applications, especially for those applications that rely on sophisticated web techniques (e.g., cookies). In summary, adding caching supporting strong consistency using AOP turned out to be an unexpected challenge.
منابع مشابه
Caching Dynamic Web Content: Designing and Analysing an Aspect-Oriented Solution
Caching dynamic web content is an effective approach to reduce Internet latency and server load. An ideal caching solution is one that can be added transparently by the developers and provides complete consistency of the cached documents, while minimizing false cache invalidations. In this paper, we design and implement AutoWebCache, a middleware system for adding caching of dynamic content tra...
متن کاملDynamic Caching Design Proto-Pattern for J2EE Web Component Development
This article covers how to extend the scope of caching to uncacheable content. It shows how to optimize the performance of J2EE Web applications by caching some of the dynamically-generated content. In this paper, I have identified a design proto-pattern, named Dynamic Caching, which addresses the performance impact of the dynamically generated Web content.
متن کاملWeb Caching Accelerating Dynamic Web Content Generation the Dynamic Content Accelerator Related Work on Dynamic Content Generation Related Work on Dynamic Content Generation (cont.) Man:a Data Warehouse Intelligent Cache Manag- Er, " Proc. 22nd Int'l Conf. Very Large Data Bases
As a middle-tier, server-side caching engine, the Dynamic Content Accelerator reduces dynamic page-generation processing delays by caching fragments of dynamically generated Web pages. I ncreasingly, e-business sites employ dynamic Web pages because they enable a much wider range of interaction than static HTML pages can provide. By using dynamic page-generation technologies, a Web site can gen...
متن کاملImprove Replica Placement in Content Distribution Networks with Hybrid Technique
The increased using of the Internet and its accelerated growth leads to reduced network bandwidth and the capacity of servers; therefore, the quality of Internet services is unacceptable for users while the efficient and effective delivery of content on the web has an important role to play in improving performance. Content distribution networks were introduced to address this issue. Replicatin...
متن کاملOn space management in a dynamic edge data cache
Emerging web applications are increasingly serving dynamic content generated by querying back-end database servers. The serving of dynamic content can be scaled by offloading applications and caching data at edge servers. In recent work, we proposed a persistent and self-managing edge-of-network data cache that is dynamically populated based on the application query stream and stored locally in...
متن کامل