Skip to main content

WebSphere APIs for Edge Side Includes

A set of Java APIs and JSP custom tags for accelerating Web application delivery through distributed fragment caching and assembly.

Date Posted: May 19, 2003

alphaworks tab navigation


 

Update: June 29, 2006 Updated version fixes JSP compilation problems.

 

What is WebSphere APIs for Edge Side Includes?

WebSphere® APIs for Edge Side Includes (WESI) is a set of Java™ application programming interfaces (APIs) and JSP (JavaServer Pages™) custom tags for accelerating Web application delivery through distributed fragment caching and assembly with Edge Side Includes (ESI).

Edge Side Includes (ESI), a W3C Acknowledged Submission, is an extension of traditional Web caching that allows a Web caching proxy to assemble personalized Web pages from reusable content "fragments." As a result, end users can receive personalized content more quickly and redundant workload can be reduced on enterprise application servers.

WESI provides J2EE-application developers with direct control over ESI functionality. Furthermore, WESI supports integrated testing within WebSphere Studio. Thus, WESI enables WebSphere application developers to rapidly develop, test, debug, and deploy ESI-enabled applications.

How does it work?

ESI requires coordination between an ESI-enabled caching proxy and an origin server. This coordination begins at design time, when the application developer creates Web pages composed of fragments. Parent fragments include embedded instructions, directed to the caching proxy, that indicate insertion points for specific child fragments. Furthermore, each fragment can have a cache policy that specifies how the fragment may be reused by the caching proxy.

At run time, end user requests are handled first by the caching proxy. On a cache miss for a fragmented page, the request is forwarded to the origin server; the origin server responds with a parent fragment; the caching proxy processes the parent fragment, then makes additional requests for the child fragments; the caching proxy caches fragments, where appropriate, and then assembles the fragments into a complete, composite Web page. The caching proxy may be able to handle subsequent requests with cached fragments. Personalized responses are created by incorporating variations of fragments, each a developer-specified function of the requestor's characteristics (such as query parameters, cookies, HTTP headers, etc.)

Furthermore, ESI allows an operational system to invalidate cached content on demand. This allows customers to develop efficient deployments where invalidation times for cached content may be irregular or unknown.

WESI gives developers explicit control over the three core elements of ESI-enabled applications:

WESI supports three operating environments:

A tutorial for this technology is available: "Build Web applications with WESI."

About the technology author(s)

Steve Ims is a senior software engineer in the WebSphere Platform System House Advanced Technology group. He can be reached through e-mail.

Nell Gawor is a staff software engineer in the WebSphere Platform System House Advanced Technology group. She can be reached through e-mail.

Trademarks