Apache MyFaces is an Apache Software Foundation project that creates and maintains an open-sourceJavaServer Faces implementation, along with several libraries of JSF components that can be deployed on the core implementation. The project is divided into several sub-projects:
Core: an implementation of the JSF 1.1, JSF 1.2, JSF 2.0, JSF 2.1, JSF 2.2, JSF 2.3, Faces 3.0 and Faces 4.0 specification and components as specified by JSR 127, JSR 252, JSR 314, JSR 344 and JSR 372 respectively
Portlet Bridge: an implementation of the JSF Portlet Bridge specification as specified by JSR 301
Tomahawk: a set of JSF components created by the MyFaces development team prior to its donation to Apache
Trinidad: a set of JSF components contributed to MyFaces by Oracle, where it was known as ADF Faces
Tobago: a set of JSF components contributed to MyFaces by Atanion GmbH
Orchestra: a framework used to manage persistence sessions across various scopes
Extensions Validator: a JSF centric validation framework, which is based on annotations
CODI: a toolbox which will support you on solving your daily needs of software development with CDI, JSF, BV and JPA
Others: As well as these subprojects, MyFaces has a number of smaller subprojects, for example MyFaces Commons or MyFaces Shared. These subprojects can be found hereArchived 2012-05-05 at the Wayback Machine.
The standard is based on the Model View Controller paradigm, but is also component-based and event-oriented. Different templating languages can be used. In the standard, JSP is used, other options include XML based templating languages like Shale Clay or Facelets.[2]
The core subproject is divided into two submodules:
MyFaces API implements all of the classes that are defined in the specification.
MyFaces Impl provides "invisible" support classes that user code does not directly invoke, but which are needed for a working JSF framework. Examples are the renderer classes for the standard JSF components.
These two submodules are distributed in two libraries, myfaces-api.jar and myfaces-impl.jar. Both of them are needed to be able to deploy a JSF based web application.
The latest release of MyFaces Core is 2.3.4. It requires Java 1.8 or later, JSP 2.2, JSTL 1.2, CDI 2.0, WebSocket 1.1 and a Java Servlet 4.0 implementation.[4]