Abstract
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 transparently to J2EE server-side applications having a backend database. For this purpose, we first present the principles involved in caching dynamic web content, including our logic to ensure consistency of the cached entries. Thereafter, we demonstrate the use of aspect-oriented (AOP) techniques to implement our system, showing how AOP provides modularity and transparency to the entire process. Further, we evaluate the effectiveness of AutoWebCache in reducing response times of applications, thereby improving throughput. We also analyze the transparency of our system for a general application suite, considering issues such as dynamic web pages aggregating data from multiple sources, presence of insufficiently structured interfaces for exchanging information and the use of application semantics while caching. We use two standard J2EE web benchmark applications, RUBiS and TPC-W, to conduct our experiments and discuss the results obtained.
Chapter PDF
Similar content being viewed by others
References
Amza, C., Cecchet, E., Chanda, A., Cox, A., Elnikety, S., Gil, R., Marguerite, J., Rajamani, K., Zwaenepoel, W.: Specification and Implementation of Dynamic Web Site Benchmarks. In: IEEE 5th Annual Workshop on Workload Characterization (WWC-5), Austin, TX, USA (November 2002), http://rubis.objectweb.org
AspectJ 1.1 (2004), http://www.eclipse.org/aspectj/
Bouchenak, S., Cox, A., Dropsho, S., Mittal, S., Zwaenepoel, W.: Caching Dynamic Web Content in J2EE Applications. EPFL Tech. Report IC/2004/82 (October 2004)
Candan, K.S., Li, W.S., Luo, Q., Hsiung, W.P., Agrawal, D.: Enabling Dynamic Content Caching for Database-driven Web Sites. In: ACM SIGMOD 2001, Santa Barbara, CA, USA (2001)
Cattell, R., Inscore, J.: J2EE Technology in Practice: Building Business Applications with the Java 2 Platform, Enterprise Edition. Pearson Education, London (2001)
Colyer, A.: Implementing Caching with AOP. TheServerSide.COM (June 2004), http://www.theserverside.com/blogs/showblog.tss?id=AspectJCaching
Davies, J., Huismans, N., Slaney, R., Whiting, S., Webster, M., Berry, R.: Aspect Oriented Profiler. In: 2nd Intl. Conference on AOSD, Boston, USA (March 2003)
Denagro, L., Iyengar, A., Lipkind, I., Rouvellou, I.: A Middleware System Which Intelligently Caches Query Results. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, p. 24. Springer, Heidelberg (2000)
Feldmann, A., Céceres, R., Douglis, F., Glass, G., Rabinovich, M.: Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments. In: IEEE Conference on Computer Communications (INFOCOM), New York (March 1999)
Iyengar, A., Challenger, J.: Improving Web Server Performance by Caching Dynamic Data. In: Proceedings of USITS 1997, Monterey, CA, USA (December 1997)
Iyengar, A., MarcNair, E., Nguyen, T.: An Analysis of Web Server Performance. In: IEEE Global Telecommunications Conference (GLOBECOM), Phoenix (1997)
Iyengar, A., Challenger, J.: Data Update Propagation: A Method for Determining How Changes to Underlying Data Affect Cached Objects on the Web. IBM Technical Report RC 21093(94368), IBM Research Division (February 1998)
JBoss Inc. JBossCache., http://www.jboss.org/products/jbosscache
Kersten, M.A., Murphy, G.C.: Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-oriented Programming. In: ACM Conference on OOPSLA, Denver, Colorado, USA (November 1999)
Kickzales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kienzle, J., Guerraoui, R.: AOP: Does it Make Sense? The Case of Concurrency and Failures. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 37. Springer, Heidelberg (2002)
Laddad, R.: AspectJ in Action - Practical Aspect-Oriented Programming. Manning Publications (2003)
Lipasti, M.H.: Java TPC-W Implementation Distribution, http://www.ece.wisc.edu/~pharm/tpcw.shtml
Luo, Q., Naughton, J.F.: Form-Based Proxy Caching for Database-Backend Web Sites. In: 27th Very Large Data Bases Conference (VLDB 2001), Roma, Italy (2001)
Mittal, S.: A Consistent and Transparent Solution for Caching Dynamic Web Content. Masters thesis, Rice University (2004), http://www.cs.rice.edu/~mittal/presentations/thesis_mittal.pdf
Netscape. Persistent Client State - HTTP Cookies, http://wp.netscape.com/newsref/std/cookie_spec.html
Oracle. Oracle9iAS Caching Solutions. Oracle Technical White Paper (December 2001), http://otn.oracle.com/products/ias/web_cache/pdf/9ias_caching_twp.pdf
Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: 2nd International Conference on Aspect-Oriented Software Development (AOSD), Boston (2003)
Ségura-Devillechaise, M., Menaud, J.M., Muller, G., Lawall, J.: Web Cache Prefetching as an Aspect: Towards a Dynamic-Weaving Based Solution. In: 2nd International Conference on AOSD, Boston, USA (March 2003)
Sol, S., Berznieks, G.: Instant Web Scripts with Cgi Perl. M & T Books (1996)
Spider Software. SpiderCache Enterprise 2.0: Dynamic Content Delivered Faster. Spider Software Technical White Paper (September 2001), http://www.spidercache.com/
Sun Microsystems. Enterprise Applications with J2EE Platform, 2nd edn., http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/
Sun Microsystems. Java DataBase Connection (JDBC), http://java.sun.com/jdbc/
TimesTen. TimesTen Real-Time Event Processing System. TimesTen White Paper (2003), http://www.timesten.com
Transation Processing Performance Council. TPC-W: a transactional web e-Commerce benchmark, http://www.tpc.org/tpcw/
PHP: Hypertext Preprocessor. Visual PHP Web Development and Web Reporting, http://www.yessoftware.com/content_simple.php?content_id=php_org
XCache Technologies. XCache Overview (2004), http://www.xcache.com
Yagoub, K., Florescu, D., Issarny, V., Valduriez, P.: Caching Strategies for Data-Intensive Web Sites. In: 26th Very Large Databases Conference (VLDB), Egypt (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 IFIP International Federation for Information Processing
About this paper
Cite this paper
Bouchenak, S., Cox, A., Dropsho, S., Mittal, S., Zwaenepoel, W. (2006). Caching Dynamic Web Content: Designing and Analysing an Aspect-Oriented Solution. In: van Steen, M., Henning, M. (eds) Middleware 2006. Middleware 2006. Lecture Notes in Computer Science, vol 4290. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11925071_1
Download citation
DOI: https://doi.org/10.1007/11925071_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-49023-4
Online ISBN: 978-3-540-68256-1
eBook Packages: Computer ScienceComputer Science (R0)