|
Chapter 2 ICEfaces System Architecture
While it is not necessary to understand the ICEfaces architecture to develop ICEfaces applications, it is generally useful for the developer to understand the basic architecture of the system. Of particular relevance is gaining an understanding of how ICEfaces plugs into the standard JSF framework. Figure 2 below illustrates the basic ICEfaces architecture.
The major elements of the ICEfaces architecture include:
- Persistent Faces Servlet: URLs with the ".iface" extension are mapped to the Persistent Faces Servlet. When an initial page request into the application is made, the Persistent Faces Servlet is responsible for executing the JSF lifecycle for the associated request.
- Blocking Servlet: Responsible for managing all blocking and non-blocking requests after initial page rendering.
- D2D ViewHandler: Responsible for establishing the Direct-to-DOM rendering environment, including initialization of the DOM Response Writer. The ViewHandler also invokes the Parser for initial page parsing into a JSF component tree.
- D2D Parser: Responsible for assembling a component tree from a JSP Document. The Parser executes the JSP tag processing lifecycle in order to create the tree, but does this once only for each page. The standard JSP compilation and parsing process is not supported under ICEfaces.
- D2D RenderKit: Responsible for rendering a component tree into the DOM via the DOM Response Writer during a standard JSF render pass.
- DOM Response Writer: Responsible for writing into the DOM. Also initiates DOM serialization for first rendering, and unblocks the DOM Updater for incremental DOM updates.
- DOM Serializer: Responsible for serializing the DOM for initial page response.
- DOM Updater: Responsible for assembling DOM mutations into a single incremental DOM update. Updater blocks on incremental DOM update requests until render pass is complete, and DOM Response Writer performs an unblock.
- Component Suite: Provides a comprehensive set of rich JSF components that leverage Ajax features of the bridge and provide the basic building blocks for ICEfaces applications.
- Client-side Ajax Bridge: Responsible for ongoing DOM update request generation and response processing. Also responsible for focus management and submit processing.
Copyright 2005-2009. ICEsoft Technologies, Inc. |