Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Eclipse Foundation Prepares to Open Source Java EE as EE4J

Eclipse Foundation Prepares to Open Source Java EE as EE4J

This item in japanese

The Eclipse Foundation is ready to take on the challenge of open sourcing Java EE as the Eclipse Enterprise for Java (EE4J) project. Mike Milinkovich, executive director at Eclipse, formally introduced EE4J and described the challenges they face:

Moving Java EE to the Eclipse Foundation is going to be an exciting and massive undertaking. It is a significant opportunity to use the Eclipse open development model to accelerate innovation in Java for enterprise and cloud native computing. We look forward to engaging with the millions of developers and organizations using Java EE.

Milinkovich noted some of the significant tasks with this project:

  • Move existing GlassFish open source projects (130 GitHub repositories).
  • Move the Java EE TCKs and make them available to the community.
  • Create an open build infrastructure so EE4J can be built and tested by the community.
  • Establish a new specification process under the auspices of the Eclipse Foundation.

Milinkovich also noted it will take time to get all this accomplished and interaction with the Java community still needs to be defined. Eclipse has created the ee4j-community mailing list and developers are encouraged to provide feedback and to contribute.

At a recent Java Users Group meeting, well-known Java EE evangelist, Reza Rahman, presented "Java EE 8 and Java EE 9: What You Need to Know." He outlined the past, present, and future of Java EE, reviewed notable JSRs within Java EE 8, and what's on the horizon. Rahman also discussed the stagnation of Java EE, the emergence of the Java EE Guardians, and the events that lead to where Java EE is today.

The folks in the community noticed that after a certain period of time, in particular after JavaOne 2016, suddenly all activity on these Java EE APIs stopped for six months or more - this is unheard of. Even in the darkest days of Sun, there wasn't a six-month hiatus where there was no visible work in the advancement of Java EE. I was at Oracle at the time when this was occurring. I wound up leaving Oracle and shortly after, this "order of mission" popped up, called the Java EE Guardians. Together, we were basically asking questions on behalf of the community, asking why this is happening, and why no one was answering. There was dead silence. So after quite a bit of noise in the community and industry, Oracle kindly said, 'Sorry we weren't working on Java EE 8, but now we are, and we are re-committed to doing this.' They ran yet another survey, like the same survey that was done at the very beginning, to ostensibly determine whether the features we were working on in the beginning still makes sense.

Ultimately, what Oracle committed to delivering was fairly close to what they committed in the very beginning in terms of scope. The big changes were, they didn't want to commit to delivering the action-oriented web framework anymore. Instead of killing it off, they gave it to somebody in the community, Ivar Grimstad. He is actually moving the spec forward and hopefully that spec would complete very soon. They dropped the work altogether on JMS. EJB still remains as a somewhat redundant component model because Oracle didn't do the work to completely deprecate it in favor of CDI. They did deprecate JSF managed beans which was good. They didn't wind up doing the JCache work at all. I would say 80% of the original scope stayed all-in-all. And, of course, we now have the much-awaited Java EE 8 and GlassFish 5 releases.

In addition to that, Oracle surprised us. Instead of being the prevailing company that drives both Java SE and Java EE forward, they decided to give up control of Java EE altogether. They moved Java EE to the Eclipse Foundation under a new project called Eclipse Enterprise for Java (EE4J). So now, there is no dominant player at all - it's an equal playing field. Any company interested in moving Java EE forward can do so. Oracle will still remain a player, but certainly not the dominant player it used to be. And I think this is a very important move. Never has it been the case that a fundamental part of Java is truly free. So please, do stay involved in that.

The following items can be consideration for the next version of Java EE, but Rahman stated that many of these have already been implemented in MicroProfile 1.2:

  • Deprecating EJB
  • JCache
  • OAuth, OpenID, JWT
  • Dynamic configuration
  • Fat JARs, modularity
  • Health check/metrics
  • Circuit breakers/fault tolerance
  • Dynamic discovery
  • Client-side load balancing
  • NoSQL

In summary, Rahman concluded:

The reality is that Java EE is still important. Java EE 8 has some pretty good stuff and hopefully I've convinced you of that. It's a release worthy of evaluating. There are a bunch of fundamentally important things that have made it in. Obviously, there have been a lot of serious concerns. Now, honestly, there is a serious reason to be very optimistic. Never before has Java been fundamentally so good in terms of it being truly open. As I told you, there are some preliminary ideas, but the great news here is a lot of the work actually is already done in the MicroProfile, which means the next version of Java EE can be very fast. And if you want to get involved, please do. This is the right time to do that. Get involved in MicroProfile, get involved in EE4J. The EE4J folks are now beginning their charter. I actually gave them feedback on their charter about a week ago. This is a good time for folks to be involved in what hopefully will be the next big thing to revitalize the Java ecosystem.

Rahman spoke to InfoQ about the migration from Java EE to EE4J.

InfoQ: What are your thoughts on the new EE4J?

Reza Rahman: This is a good thing. What is interesting would be how the community and industry reacts. Hopefully the reaction is that we now have a truly large open part of server-side Java in which everyone is an absolute equal player. Who knows - maybe even the likes of Microsoft, Amazon and Google will finally want to get involved?

InfoQ: Will the JCP Expert Groups still be involved in Java EE development?

Rahman: Hopefully, so. Obviously, this entire thing is moving off the JCP and the reason being is the JCP has many different hooks that directly or indirectly exert Oracle control. Oracle can influence a lot of things within the JCP. Hopefully the same folks that are now in the JCP will get involved with the governance model here in the same way they are involved with the governance model of the JCP. Frankly, they will have more of a voice here. In the EC, Oracle can override them by a veto. Oracle had the power in the JCP. Nobody has the power over here. Everyone is equal. It truly is a more democratic situation.

InfoQ: So there won't be a formal voting like there is now?

Rahman: Hopefully, there will be. The charter for that is being developed now. So there will be a well-defined process. Usually in the Eclipse Foundation when there is a steering committee, that is their purpose. They need to vote and agree on the next big changes or the project milestones.

InfoQ: So they are plugging into the Eclipse governance model?

Rahman: Precisely.

InfoQ: So they will have their own voting process, but there will be a larger group of people that will have the chance to contribute and possibly vote?

Rahman: Hopefully so. Because in the EC, there are only a fixed set of seats and a lot of those seats are ratified directly by Oracle. They don't even get elected on those. Oracle selects you. There are a small amount of actual voted seats. Whereas in this model, anyone can be in the steering committee. There is no such thing as ratified seats. Certainly there are no permanent seats like Oracle has in the JCP EC.

InfoQ: How does Java EE Guardians move forward or evolve after Java EE went open source under Eclipse? Will there be a new charter?

Rahman: We just updated our charter a few months ago. We had changed our focus away from an advocacy focused on Oracle, in particular, to more of a longer-term charter in just advocating more of an education focus. I think we need another shift, but it will be similar to where we started. It won't be so much advocating a particular organization. It will be encouraging people to contribute to this process in addition to what we wanted to do in the beginning, which is just pure education and outreach - explain to people what Java EE is and why they should care about it.

InfoQ: What role do you see other platforms, such as Spring, figure into the evolution of Java EE?

Rahman: In my view, Spring has been a pseudo proprietary thing. They are an interesting rendition of nineties Microsoft, in my mind, only for Java. They have very tightly controlled their technology although it's open, in name. In reality, most of the committers and most of the direction is set by a single company, Pivotal. From that sense, part of me really hopes that Pivotal will stop doing their own proprietary thing and actually join EE4J as an equal contributor, and move that technology forward as a joint part of the industry that no single person owns or controls. Another part of me says the Spring and Java EE interaction is the yin and yang of the Java world. It feels a little unsettling every now and then, but perhaps makes a healthy whole after all somehow.

InfoQ: So we may not be calling this Java EE anymore?

Rahman: We may wind up still calling it Java EE. EE4J is the name of the project. The brand name may still be Java EE, we will see.


Editor's Note

Michael Redlich has facilitated the ACGNJ Java Users Group, based in Scotch Plains, New Jersey, since February 2001.

Rate this Article