Experience Implementing Caching of Dynamic Web Content with AOP
Caching is an appealing approach for server-side acceleration of dynamic content web sites. Previous work in this area provides either non-transparent caching obtained at the expense of considerable effort from the application programmer, or a transparent but non-consistent caching system that does not guaranty complete consistency of cached data. We propose a new method for transparent and consistent caching of dynamically generated web pages. This paper reports on our experience in providing: (i) transparent caching using aspect-oriented programming (AOP), and (ii) consistent caching of dynamic content using code analysis techniques. In other respects, on likes to think that an AOP-based transparent system may induce an extra performance overhead compared to non-transparent solutions, because of indirections that underlie AOP techniques. We have built and evaluated a caching system of dynamic web content that follows the proposed method and effectively enhances web application performance. Furthermore, we show that the overhead that may be induced by this system is negligible, especially in the context of dynamic web applications.