IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Eclipse technology  >  

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
OverviewRequirements Download FAQs Forum Reviews

Update: June 29, 2006

Updated version fixes JSP compilation problems.

What is WebSphere APIs for Edge Side Includes (WESI)?

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:

  • Identification of "fragments" and instructions for deferred assembly
  • Specification of cache policies for fragments
  • Invalidation of cached fragments on demand.

WESI supports three operating environments:

  • WAS + third-party ESI surrogate, such as Akamai's EdgeSuite service
  • WAS + Web server + WAS's Web server plug-in.
  • WAS alone: This is a non-caching mode intended for test purposes, with assembly behaviors identical to that of the first two 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.

Download now Download now

Related technologies

For platform(s):
All Java Platforms, Eclipse

For topics:
J2EE, Java technology, Networking, performance, Websphere, Web services


Related resources

Tutorial: Build Web applications with WESI

WebSphere Studio zone

WebSphere Developer Domain

developerWorks Java technology zone

IBM Developer Solutions

Press Articles

 

    About IBM Privacy Contact