ICEfaces provides some key feature enhancements over JSF 2, while inheriting all the features available in JSF 2.
JSF 2 brings many beneficial features over JSF 1.2. There is a wealth of JSF 2 documentation available on-line, but for a concise overview of new features in JSF 2, look here. The high points are enumerate below.
ICEfaces extends and simplifies JSF development in several key ways.
The following framework enhancements extend the capabilities of the standard JSF 2 framework.
ICEfaces includes several innovative features that cumulatively result in Automatic Ajax, completely eliminating the need for developers to wire page updates together using standard JSF <f:ajax> tags.
Ajax Push enables real-time, multi-user collaboration in your JSF application. Any state change in the application can instantaneously push updates to other users of the application that need to be informed. New Ajax Push APIs make it simpler than ever to add collaborative features to your application.
The custom Window scope is designed to fill a gap in the existing scopes available for JSF 2, as it exists for the life of a browser window or tab, including surviving reloads and refreshes.
Annotations are provided that adjust the behavior of View-scoped beans. While View scope is a welcome addition for managing the lifecycle of beans, the behavior of View scope may not be intuitive in certain scenarios. Specifically, the annotations allow you to control the behavior of view-scoped beans across repeated navigation to the same view, and during view disposal.
Scoped Resource Registry
The ResourceRegistry allows an application to register javax.faces.application.Resource instances at run time. Each Resource is registered in a specified scope (Application, Session, View or Window) so that the resource can be garbage collected when the scope expires.
Portlet support in ICEfaces is provided by the PortletFaces Bridge, an implementation of the JSR 329: Portlet 2.0 Bridge for JSF. The portlet bridge spec technically applies to JSF 1.2, but the PortletFaces version has been adapted to support JSF 2. The PortletFaces Bridge is tested and shipped with the ICEfaces 2 distribution and can be used to develop portlet applications with ICEfaces.
In addition to enhancing the basic Ajax features provided by JSF 2, ICEfaces extends a client-side API for monitoring interesting events that occur on the client, such as form submission, event callbacks, and Ajax Push connection monitoring.
While JSF 2 simplifies configuration by leveraging annotations, ICEfaces also streamlines configuration in several areas. The ICEfaces-specific servlets and many of the configuration parameters in ICEfaces 1.x are no longer necessary with ICEfaces 2+. This makes it even quicker and easier to add ICEfaces to your JSF application, and greatly reduces the possibility of lost productivity due to minor configuration errors.
The ICEfaces core has no 3rd-party library dependencies outside of those libraries specified in the JEE 6 "Web Profile". This further streamlines integration and software change management. Note that the ICEfaces Compatibility Libraries do require additional 3rd-party libraries when used (same as those required by ICEfaces 1.8).
All components used under ICEfaces inherit the benefits of Automatic Ajax, including the standard JSF components. ICEfaces offers a vast array of rich components beyond the standard ones available in JSF 2.
© Copyright 2021 ICEsoft Technologies Canada Corp.