The enterprise Java platform specification, which has undergone multiple name and organization changes over the past two decades, is evolving once again with the official release today of Jakarta EE 8.
Enterprise Java is a platform framework for application development and deployment that Sun Microsystems developed under the name Java 2, Enterprise Edition (J2EE) in 1999. The platform was rebranded as Java Platform, Enterprise Edition (Java EE) in 2006, with oversight and governance moving to Oracle in 2010 as part of that company’s acquisition of Sun. Under both Sun and Oracle, enterprise Java had been managed as part of the Java Community Process (JCP), a tightly controlled vendor-led effort. In February 2018, however, Oracle announced that was transitioning Java EE and the JCP to the Eclipse Foundation in an effort to make enterprise Java more open.
"With Jakarta EE, we are able to deliver a set of specifications that are free for implementation and are available under an entirely new licensing regime which is far more open and cost-effective than what was available under Oracle and the JCP," Mike Milinkovich, executive director of the Eclipse Foundation, told ITPro Today. "It is our belief that this is now going to free us and our community to deliver an enormous amount of value and innovation going forward."
How Jakarta Differs from JCP
Although the JCP includes "community" in its name, Milinkovich argued that it was never truly a multi-stakeholder group. The JCP was a department of Oracle, not an independent organization, he said. In fact, of the 37 specifications that make up Java EE, Milinkovich said Oracle was the specification lead for nearly all of them.
"Under the JCP process, the specification lead got special intellectual property rights," he said. "The new Jakarta approach is far more collaborative."
One of the projects that the Eclipse Foundation is home to is the Eclipse Java Integrated Development Environment (IDE), and Jakarta development is based on the Eclipse development process, according to Milinkovich. Every member of the specification process has equal rights and can suggest changes. There are no special intellectual property rights for anyone involved in the Jakarta EE process either, he added.
"It's a completely level playing field," Milinkovich said. "The fact that all the documents and TCKs [Technical Compatibility Kits] are open source rather than proprietary is also going to lead to a lot more innovation going forward."
Jakarta EE and JDK
Java development is also continuing with the Java Development Kit (JDK) effort that is an implementation of the Java Platform, Standard Edition (Java SE). Under Oracle's direction, JDK development has accelerated in recent years, with two releases every year.
Milinkovich said that it's up to the Jakarta community to decide how closely it will track JDK development, but he expects that Jakarta EE releases will likely only reference Long Term Support (LTS) releases of Java SE. Under the current process, every third release of the JDK is labeled as an LTS, with roughly 18 months between releases.
"The thing to keep in mind is that Java as the language and as a platform is still one of the largest and most widely used programming languages in enterprise computing on the planet," Milinkovich said. "So really, the mission here is to provide a rapid pace of innovation that's going to help keep Java relevant and help developers make sure that their skills remain relevant for the next generation of technology."