Eclipse Jakarta EE arrives

The Eclipse Foundation has released the Jakarta EE 8 platform and web profile specifications, which constitute Eclipse’s implementation of Java Enterprise Edition 8. The group also made available a Jakarta EE application server and open source technology compatibility kits (TCK) for testing compliant implementations.

The Jakarta EE specifications can be accessed at the project website. Specifications range from Jakarta Annotations, which represent semantics for declarative programming, to Jakarta Server Pages, which define a template engine for web applications.

Along with the specifications, Eclipse is releasing Eclipse GlassFish 5.1, an open source application server that implements the Jakarta EE Platform. Jakarta EE 8-compliant servers are expected from various Java server vendors; IBM’s Open Liberty server already has been certified as Jakarta EE 8-compatible.

Eclipse agreed to take over development of Java EE in 2017 after Oracle sought to shed the responsibility. Rather than implementing a brand new Jakarta EE 9, Eclipse sought a more gradual migration, reimplementing Java EE 8 as Jakarta EE 8 and working with stakeholders to develop an “open source first” specification process.

Jakarta EE goals

Jakarta EE is intended for modern computing realms such as cloud and microservices. Future possibilities for upgrading Jakarta EE include updating the Java SE (Standard Edition) that underlies Jakarta EE. The current version serving this purpose is Java SE 8Java SE 11 is a candidate to replace it. Making Jakarta EE work better with cloud-native technologies such as Kubernetes is a consideration as well. Individual specifications that comprise Jakarta EE also are expected to get improvements, such as Jakarta RESTful Web Services.

Further, the Eclipse Foundation must determine a process for changing the javax namespace to jakarta. This might require recompilation of programs, although Eclipse is working on compatibility layers to lessen the migration burden. The javax namespace has been backward-compatible for almost 20 years, but remains the property of Oracle. New capabilities must be moved to a new namespace; Eclipse is pondering whether to move to the jakarta namespace all at once or gradually.