ICEfaces is a work based on JavaServer Faces (JSF ) Ajax framework for Java, which is developed by ICEsoft. Since November 2006, the project up to and including version 2 next to a commercial license, also under the Mozilla Public License ( MPL) is available. The current version of IceFaces (version 3) has many components, some of which, however, advanced copies of Prime Faces are. For this reason, IceFaces had to change their license from MPL on the used of Prime Faces Apache license.

ICEfaces has an extensive library of components for the user interface with built-in Ajax functionality. These include, for example, trees, tabs and menus. These components can be used in a standard-compliant JSF page. In contrast to the usual components of a web page, this can however communicate over Ajax in the Web Container and data on demand without having to download the entire web page will be reloaded. The developer does not care about the details of this communication, as this runs transparently in the background. With ICEfaces can be said Rich Internet Application ( RIA) development, without having to program JavaScript. The finally in the browser running JavaScript code is generated by the framework at runtime.

ICEfaces is based on some Web standards to the Java EE architecture. These standards include as mentioned above JavaServer Faces, as well as Facelets and portlets. For the development of the traditional Java development environments can be used and there are no extensions such as a special plug- in is necessary. To perform an ICEfaces application in the browser are also required no plug-ins.

ICEfaces Overview

Comparison with GWT

Like the GWT and other similar techniques supported IceFaces component-based development of Rich Internet Applications. The dynamic behavior in both cases is based on asynchronous communication between the client (web browser ) and server ( web or application server) ( Ajax). An important difference between the two approaches is the client- or server-side generation of UI markup. IceFaces generates the markup on the server side and then integrates it dynamically using simple javascript function in the current document tree. GWT does not transmit the markup itself, but the data needed for its production, for example, Database information. The markup is generated on the client side and updated. This has the following differences occur:

  • Higher requirements and computational load for the client by the GWT that in mobile browsers ( eg iPhone, iPad or Windows Mobile systems) can cause problems
  • Higher network load when using IceFaces, because the markup is more extensive than the application data
  • Longer Erstladezeiten the GWT and faster response to user actions within a session ( response behavior similar to desktop applications)
  • GWT applications are independent from the server and thus in case of interruption of the client -server connection longer functional