It is event-driven programming model. By that it means that JSF has all necessary code for event handling and component organization. Application programmers can concentrate on application logic rather sending effort on these issues. It has component model that enables third-party components to be added like AJAX.
JSF is the java specification given by the sun microsystems. For this specifications there are multiple;e implementations from the different third party vendors. The main implementations of JavaServer Faces are:
- Reference Implementation (RI) by Sun Micro systems.
- Apache MyFaces is an open source JavaServer Faces (JSF) implementation or run-time.
- ADF Faces is Oracle’s implementation for the JSF standard.
- Ice Faces FROM ICEsoft Technologies Inc.
- Prime Faces from Prime Technology.
- Rich Faces from JBoss
- Open Faces from TeamDevLtd
- DOJO Faces from DOJO
- JavaServer Faces architecture makes it easy for the developers to use. In JavaServer Faces technology, user interfaces can be created easily with its built-in UI component library, which handles most of the complexities of user interface management.
- Offers a clean separation between behavior and presentation.
- Provides a rich architecture for managing component state, processing component data, validating user input, and handling events.
- Robust event handling mechanism.
- Events easily tied to server-side code.
- Render kit support for different clients
- Component-level control over statefulness
- Highly ‘pluggable’ – components, view handler, etc
- JSF also supports internationalization and accessibility
- Offers multiple, standardized vendor implementations