- Technologies

In order to further reduce response times and support massive user loads, Jahia developed a full ESI/JSR128 compliant front-end cache proxy. This server dynamically caches and assembles HTML fragments without having to regenerate them from the underlying Jahia application server and database. Coupled with AOP technology, it automatically detects any Jahia modifications on the authoring server and transparantly flushes and manages your HTML fragments.
Why regenerate a whole page from the application server and the database when only a small portion of its content changes? That is why the ESI standard, used by leading Internet providers such as for example Akamaï, have been created. Edge Side Includes (ESI) accelerates dynamic Web-based applications by defining a simple markup language to describe cacheable and non-cacheable webpage components that are aggregated, assembled and delivered at the network edge (full ESI overview).
The Jahia Platform now supports the ESI standard and also deliver a full ESI-compliant Cache Proxy. Cached content is very rapidly delivered to the web browsers (~0-15 ms per page) and is automatically and seamlessly flushed and managed by our internal framework on each content change on the authoring server.
Caching a full dynamic webpage can rapidly become a big memory problem as one page cache entry needs to be held per user, per language, per mode, etc... With an average 60Kb per webpage, this can rapidly lead to memory bottlenecks. The Jahia Cache proxy was developed in order to maximize the sharing of repeatedly-used fragments. This allows you to host more pages with less memory space without impacting performance.
The problem with front-end cache proxies coupled to a dynamic ECMS is to identify when to flush HTML fragments in order to keep the website coherent so as to reflect changes in the back-end system. Jahia uses an integrated AOP system in order to automatically detect any modifications on the Jahia authoring servers and send SOAP invalidation commands to the installed ESI local or remote front-end cache proxy(ies). Cached content is then always up to date without any further management.
Need High Availability websites? Lots of fragment to share? Millions of requests to support? You can simply cluster multiple front-end ESI cache servers. They will automatically share, assemble and