Introducing EE4J – Java EE's fling with the Eclipse Foundation
Developers hoping move will reinvigorate the community
It's been a few weeks since it was announced that Oracle would move Java EE to the Eclipse Foundation and we're already starting to see indications of how it's shaping up.
It was clear that something had to happen. Oracle was struggling to make the best of Java EE, which was reflected in the usage stats. The technology wasn't holding its place against some more flexible alternatives and by moving to an open-source organisation, Java EE has been given the kickstart that it needs.
The launch of Eclipse Enterprise for Java (EE4J) is the start of this process. This is a project that aims to define API specifications, reference implementations, and technology compatibility kits for Java application servers. EE4J is based on Java EE 8.
Mike Milinkovich, executive director for Eclipse Foundation, told The Reg that the EE4J announcement was the first step in moving Java EE to the Eclipse Foundation. "Our intent is to start with moving the open-source code first, with the TCKs and specifications to follow. In addition to that, the intent is to create a community-based build infrastructure for EE4J as well."
He warned that it will not be an instant process. "It will take at least some months to complete all of these steps, and fully establish the EE4J project and its community."
But, he said, the Eclipse Foundation is a natural home for Java EE for a couple of reasons. "Firstly, Oracle, IBM and Red Hat (strategic members of the foundation and who all sit on the board of directors) all have a lot of experience with the Eclipse Foundation. The recent experience with Eclipse MicroProfile demonstrates we know how to do specifications, and our years of experience with EclipseLink does the same for reference implementations.
"Secondly, the Eclipse open-source community has a long history with the Java ecosystem. We know and understand Java, and Java developers, so we were the logical choice for Java EE."
Rich Sharples, senior director of product management at Red Hat, reckons the move is about the wider picture. "Java EE is just an umbrella stack around a lot of useful specifications and APIs, used for building enterprise Java applications more easily."
He said that this means looking beyond Java EE. "Don't think of this not just about Java EE moving to an open-source model but it's about all the specifications under that umbrella. It's not just for the folks enamoured of EE but for anybody interesting in building complex scalable applications in Java."
There are further other projects in the pipeline, all ones that will drive Java EE forward but Milinkovich said there's a lot of work still to be done. "The first steps will be to get the open-source projects up and running. This means moving GlassFish and others over to Eclipse projects. GlassFish has over 130 git repos so just moving that over will be a large effort."
I think it is accepted the pace on innovation has slowed and not responded to cloud native technology. The good news is that we see Eclipse EE4J being a major force for accelerating innovation in the enterprise ecosystem around Java.
He added that the open-source community has a big part to play. "We want to set up an open build infrastructure so the community can build and test the open-source projects. Finally, work will begin on defining a new specification process and how compatibility will be managed. There is a lot of work to be done and we will be looking for a lot of community contributions."
But the whole point of bringing Java EE to the Eclipse Foundation is to increase the pace of innovation. Eclipse MicroProfile, which will feature in sessions at this week's JavaOne in San Francisco, California, has shown a lot of promise for establishing specifications for Java microservices. We look forward to a broad community effort in establishing Java as the language of choice for cloud native applications.
The move to Eclipse has so far been welcomed by users, Milinkovich said. "The response has been universally positive. There are millions of Java organisations that have significant investment in Java EE and want to see more rapid and nimble innovation around Java for the enterprise. I think they see this move as being a tremendous opportunity to making this happen.
"I think it is accepted the pace on innovation has slowed and not responded to cloud native technology. The good news is that we see Eclipse EE4J being a major force for accelerating innovation in the enterprise ecosystem around Java."
Sharples agrees. "Usage of Java EE has certainly declined but the move to Eclipse will invigorate the enterprise community: we're seeing more interest in it. The users just need to see a clear road map. It's going to be a big change of direction for Java EE. It's fair to say that we need to be more responsive to the changing market: we've missed opportunities around stuff like cloud, mobile and container support."
"For me, it's good news as I'm used to Eclipse anyway," one Java EE user, who wished to remain anonymous, told us. And Java EE is moving to a home that has itself picked up. "It's fair to say that a few years ago, Eclipse was rather clunky and slow to respond – that's definitely changed. I'm happy with the job they've done and it's good news for Java EE," the developer added.
There is one fundamental change being driven within Java itself and that's speeding up the release schedule. Java 9 is not expected to be supported as long as Java 8, which will likely still be supported next year. After that, things will proceed apace. This schedule will have some implications for Java EE. "Oracle is moving to a new more rapid release schedule. Overall, this is good for the entire Java ecosystem," Milinkovich said.
The move to Eclipse could well be the drive that Java EE needs to establish its credentials again. It's not the move to an open-source model that's having an impact but the restrictions imposed by Oracle's licensing.
Sharples thinks that the move will also have a liberating effect. "By changing the licensing, we can get many more people interesting in Java EE,” he said. And while Oracle has a fearsome reputation for being aggressive on licence costs, Sharples sees that the company has little to lose. "They have two revenue streams: the WebLogic business and the licence costs; there's no reason for them to lose the WebLogic business and the licensing streams will be a small part of their revenue. What's more important is removing the fairly high bar for implementation."
He added that ultimately everyone is going to benefit from the move to Eclipse and the drive to open source. "I have to see this raising the tide for everybody, Oracle is aiming to lift all boats in harbour." ®