Jakarta EE

In September 2017, Oracle announced its intention to transition Java EE to the Eclipse Foundation. Java EE has since been rebranded to Jakarta EE, and JSF 2.3 (Eclipse Mojarra) has been adopted for continuation. The next major release of the JSF specification will be Eclipse Mojarra 3.0. (source from JavaWorld).

Unwanted by Oracle, Java EE gets adopted by Eclipse

A new name for Java EE is a likely outcome as the Eclipse Foundation figures out how to steward enterprise Java itself

The Eclipse Foundation is set to become the new steward of enterprise Java, taking over from Oracle, which no longer wants to manage Java EE.
As part of the adoption, Java EE will likely get a new name, something Oracle recommended in its proposal to have a foundation adopt Java EE.


A month ago, Oracle said it would end its stewardship role of Java EE and turn it over to an open source foundation. Following consultations with Java partners such as IBM and Red Hat and after meeting with several foundations, Oracle has settled on an organization that has had a long history in Java development: the Eclipse Foundation. Eclipse created its popular Eclipse IDE and managed multiple other Java technologies.
Oracle cited Eclipse’s experience in Java EE and related technologies as why it is transferring Java EE to Eclipse. “This will help us transition Java EE rapidly, create community-friendly processes for evolving the platform, and leverage complementary projects such as MicroProfile,” said Oracle software evangelist David Delabassee. (MicroProfile arose as a Red Hat- and IBM-driven effort to fit Java EE with microservices capabilities last year after part of the Java community feared that Oracle was neglecting the platform. MicroProfile has since moved over to Eclipse.)
"Moving Java EE to open governance and collaboration is going to be a process, not an event,” said Eclipse Executive Director Mike Milinkovich. "Our early discussions with Oracle, IBM, and Red Hat have shown that there is a lot of support for this among their leadership teams.”
Milinkovich also concurred with Oracle about Java EE being revised to better support cloud computing. “As enterprises move to a more cloud-centric model, it is clear that Java EE requires a more rapid pace of innovation.”
Oracle recently refined its proposal for Java EE’s adoption to cover:
  • Defining a branding strategy for the platform, including a new name for Java EE that is yet to be determined.
  • Relicensing Java EE and related GlassFish application server technologies to the adopting foundation. (GlassFish has served as an Java EE reference implementation.)
  • Demonstrating an ability to provide a compatible implementation of Java EE.
  • Defining a process by which existing specifications can evolve. Java EE has to date been developed in the Java Community Process.
  • Recruiting developers and others to sponsor platform technologies.
Built atop of Java Platform, Standard Edition (Java SE), Java EE is geared toward large-scale, multi-tiered and secure network applications. Java EE 8 is expected shortly.
Oracle will continue supporting existing Java EE licensees, including those moving to Java EE 8. It also will keep supporting the WebLogic Server Java application server it acquired from BEA Systems a decade ago, and Java EE 8 will be supported in an upcoming upgrade to WebLogic Server.
Oracle is also maintaining its leadership over Java SE, recently proposing a faster Java SE release schedule.


JavaServer Faces 2.x

JavaServer Faces technology simplifies building user interfaces for JavaServer applications. JavaServer Faces (JSF) is a JCP Standard technology for authoring component based user interfaces on the Java EE platform. This particular GitHub project hosts the official JSF specification issue tracker. There are three implementations of the JSF specification, all of them developed with OSI approved Open Source licenses.

Current Status

  • JSF 2.3 is the designated user interface standard for Java EE 8. It went final on 17 April 2017.
  • JSF 2.2 is the user interface standard for Java EE 7 The most recent major release of JSF is 2.2. This release occurred on 21 May 2013.

JSF 2.3

JSF 2.3 and Java EE 8 are complete. The executable implementations of the JSF 2.3 milestones as well as other versions are available in the javax.faces repository. This release is included in GlssFish 5 Builds.
The human readable specification may be downloaded from <http://jcp.org/>.
The API is available at Maven Central at these coordinates.
<dependency>
  <groupId>javax.faces</groupId>
  <artifactId>javax.faces-api</artifactId>
  <version>2.3</version>
  <scope>provided</scope>
</dependency
The implementation is also available at these coordinates.
<dependency>
  <groupId>org.glassfish</groupId>
  <artifactId>javax.faces</artifactId>
  <version>2.3.8</version>
  <scope>provided</scope>
</dependency>

JSF 2.2

The executable implementation of JSF 2.2 is included in GlassFish 4.0.
The human readable specification may be downloaded from <http://jcp.org/>.
The binary specification is available at maven central at these coordinates.
<dependency>
  <groupId>javax.faces</groupId>
  <artifactId>javax.faces-api</artifactId>
  <version>2.2</version>
  <scope>provided</scope>
</dependency>
For convenience, the binary specification is also provided in this zip file, but by downloading it, you are agreeing to the terms and conditions stated here.
Miscellaneous Downloads
Additional project related downloads are available here


An overview of new features in JSF 2.2 may be found in this slideshare presentation <http://www.slideshare.net/edburns/jsf-22-26091922>, the video for which is from JavaZone 2013.



My Conclusion:

  • JSF 2.2 adopts an HTML5 coding style and integrate Bootstrap easily
  • JSF 2.2  uses JSF component libraries such as GISFaces, PrimeFaces, BootsFaces, LiferayFaces, OmniFaces.
  • Facelets came in JSF so that it also has the same feature with other UI framework  like Apache Wicket, Angular 7, ReactJS in designing from existing html template; however, JSF is applied to enterprise applications while ReactJS/Angular are used for end-user applications and Wicket is used for both in small and medium web applications . At here, JSF 2.x use .xhtml file as facelets. Facelets has become the standard display technology for JSF 2.x. Facelets is a light-weight templating framework that supports all of the JSF UI components and is used to build and render the JSF component tree for application views. It also provides development support when EL errors occur by enabling you to inspect the stack trace, component tree, and scoped variables.
  • JSF 2.x  has learned from wicket ui design to create facelets and it also learned from Spring to create CDI so that JSF 2.x has rescued itself not to be EOL (end of life). Otherwise, some big company like IBM, Oracle have used JSF 2.x to create software products and they sell these products for big company in Vietnam as base products so that java developers have to learn JSF to customize and add new functions for the needs of production and business in real live. The more important is that JSF still is a java web standard and is invested from Oracle; that is why JSF will continue developing in the future.
  • JSF and Wicket are in Top 10 most popular java web frameworks and they are matured, each has its own market ration although Wicket is not in the golden period as happening in the past. JSF and Wicket are so complex to master that means they have so long learning curve.
  • JSF is in Java EE standard so that it will be based knowledge for learning, using the rest of other java frameworks. It also be based knowledge for using Liferay framework. It is mainly used in maintainance enterprise projects of Corporation, Banking, Government,.. But Would You Use JSF for Your Next Project? or projects for SME.


Reference documents: