TOC PREV NEXT INDEX



PDF
ICEfaces Online Reference




 


 




Server-initiated Rendering


Asynchronous update mode in ICEfaces supports server-initiated presentation updates driven from application logic. In ICEfaces, this is achieved by causing the JSF lifecycle render phase to execute in reaction to some state change within the application. The session-scoped PersistentFacesState provides this API, and facilitates low-level server-initiated rendering on a per-client basis. While this low-level rendering mechanism looks simple to use, there are a number of potential pitfalls associated with it related to concurrency/deadlock, performance, and scalability. In order to overcome these potential pitfalls, ICEfaces provides a high-performance, scalable Server-initiated Rendering API, and strongly discourages the use of the low-level render call.

The server-initiated rendering architecture is illustrated in Figure 8 below.

Figure 8 Server-initiated Rendering Architecture



The key elements of the architecture are:
Renderable:
A session-scoped bean that implements the Renderable interface and associates the bean with a specific PersistentFacesState. Typically, there will be a single Renderable per client.
RenderManager:
An application-scoped bean that maintains a RenderHub, and a set of named group Renderers.
RenderHub:
Implements coalesced rendering via a configurable thread pool, ensuring that the number of render calls is minimized, and thread consumption is bounded.
Group Renderer:
Supports rendering of a group of Renderables. Group Renderers can support on-demand, interval, and delayed rendering of a group.

For detailed information, see Server-initiated Rendering API .



Copyright 2005-2006. ICEsoft Technologies, Inc.
http://www.icesoft.com

TOC PREV NEXT INDEX