The Jakarta Faces Bridge project migrates the JSR 378 Portlet 3.0 Bridge for JSF 2.2 (Faces Bridge) Specification and API from the Java Community Process (JCP) to the Eclipse Foundation under Jakarta EE. This transition ensures the continued maintenance of the Faces Bridge standard, aligning with the broader Jakarta EE ecosystem. By preserving and modernizing the specification, the project will provide support to developers and organizations to ensure JSF portlet applications can be deployed within a portlet container running inside a Jakarta EE servlet container or application server.
The Jakarta Faces Bridge project defines the Specification and API, which enables the development of Jakarta Faces web applications that can be deployed within a portlet container running inside a Jakarta EE servlet container or application server.
The Jakarta Faces Bridge project migrates the JSR 378 Specification and API from Java EE to Jakarta EE. This includes updating package namespaces from "javax.portlet.faces" to "jakarta.portlet.faces" and aligning Java EE dependencies such as "javax.servlet" and "javax.faces" with their Jakarta EE 10 equivalents.
Future iterations of the project may introduce new features and enhancements, but the initial scope is strictly limited to completing the namespace and dependency migration to ensure compatibility with Jakarta EE 10 and to ease the migration path for developers and organizations.
The Jakarta Faces Bridge project is responsible for defining the Specification and API, which enables the development of Jakarta Faces web applications that can be deployed within a portlet container running inside a Jakarta EE servlet container or application server. The Faces Bridge Specification defines requirements for mapping the portlet lifecycle (HEADER_PHASE, EVENT_PHASE, ACTION_PHASE, RESOURCE_PHASE, and RENDER_PHASE) to the Faces lifecycle (RESTORE_VIEW, APPLY_REQUEST_VALUES, PROCESS_VALIDATIONS, UPDATE_MODEL_VALUES, INVOKE_APPLICATION, and RENDER_RESPONSE). The goal is to provide Jakarta Faces developers with the ability to deploy their web applications in a portlet container with little-to-no-modification.
The JSR 378 Specification is copyrighted by Liferay. The migration of this specification from the Java Community Process (JCP) to the Eclipse Foundation under Jakarta EE requires Liferay's authorization and the transfer of relevant intellectual property rights, including copyright and/or ownership, as necessary.
Hosting the Jakarta Faces Bridge project at the Eclipse Foundation within the Jakarta EE community ensures the continued development and maintenance of the Jakarta Faces Bridge Specification under an open and collaborative governance model. This transition aligns the specification with Jakarta EE standards, providing a clear migration path for existing Java EE-based JavaServer Faces (JSF) portlets while fostering innovation and long-term stability.
By being part of the Jakarta EE ecosystem, the project benefits from a well-established community of developers, enterprises, and vendors who contribute to and rely on Jakarta EE technologies. This collaboration enhances interoperability, facilitates adoption, and ensures that JSF portlet applications remain a viable option for organizations.
The initial focus of the Faces Bridge project is the migration of the JSR 378 Specification and API to Jakarta EE, including renaming package namespaces, updating XML namespaces, and aligning Java EE dependencies with their Jakarta EE 10 equivalents. Following the completion of this transition, future work would likely involve aligning with Jakarta EE 11.
To grow the community, the project plans to quickly complete the work of migration to Jakarta EE so that developers can begin transitioning their JSF portlet projects. In addition, the compatible implementation will seek to continue providing support for the latest version of PrimeFaces that is compatible with Jakarta EE 10.
The schedule for the Jakarta Faces Bridge project is dependent upon the schedule of the Jakarta Portlet project. In some respects the two can progress in parallel, but the Jakarta Portlet project will likely need to be finalized prior to the Jakarta Faces Bridge project being finalized. After that, the project is expected to progress with reasonable speed. One potential delay would be alignment with the latest version of Jakarta Faces for Jakarta EE 10, which could involve discovery of additional requirements. For example, several Service Provider Interface (SPI) extension points in the Mojarra Complatible Implementation have been pruned in favor of equivalent CDI functionality.
Liferay
The initial contribution to the Jakarta Faces Bridge project will consist of the Specification document, Java API, and Technology Compatibility Kit (TCK). In order to adhere to semantic versioning principles, the project version will be "7.0," as the transition from "javax.portlet.faces" to "jakarta.portlet.faces" constitutes a breaking change, along with the dependency on Jakarta EE 10 APIs, which is also a breaking change.
The copyright is currently held by Liferay and will require Liferay’s authorization and the transfer of relevant intellectual property rights, including copyright and/or ownership.
The Faces Bridge API does not depend on any third-party libraries beyond existing Jakarta EE 10 specifications, such as the Jakarta Servlet and the proposed Jakarta Portlet projects.
- Log in to post comments