“Java EE 8 is a critical release”: Hits and misses, the way forward
Habemus nomen! Java EE has officially taken its first steps into the Eclipse Foundation. EE4J (Eclipse Enterprise for Java) is now a new top-level Eclipse project. But let’s go back to Java EE 8, “a critical release,” according to Reza Rahman, senior Java technologist, author and speaker. We talked about his favorite features, the features he would have liked to see in Java EE 8 and more.
After last week’s Java EE 8 release, everyone knew that the name would soon be laid to rest. How soon? Well, Eclipse Enterprise for Java (EE4J) is already here. There’s even a draft charter and the promise of a FAQ.
According to the charter, “the initial scope of the EE4J project during late CY2017 and early CY2018 is to transition existing Java EE 8 technologies to the project and to define processes for evolving the platform.”
Totally get the concern. How about we call it just “EE” for a little while? It’s a fair bet that was part of the consideration here. https://t.co/8lDIQgScaM
— Reza Rahman (@reza_rahman) September 29, 2017
We talked with Reza Rahman, founder of the Java EE Guardians, former official Java EE evangelist at Oracle and a long time contributor to Java EE JSRs in the JCP about his favorite Java EE 8 features, what he would have liked to see in this release and whether Java EE and MicroProfile should be merged.
JAXenter: Java EE 8 has just been released. What is your favorite feature?
Reza Rahman: This is such a critical release honestly picking favorites is hard. Personally, I really like the new declarative security provider annotations. I believe it will make securing Java EE applications simpler than any other technology out there.
Servlet 4 is obviously a very important feature for the ecosystem due to HTTP/2 support. Java SE 8 alignment with APIs like JSF, JPA and JAX-RS will also prove to be invaluable for developers.
JAXenter: Are there features you would have liked to see in Java EE 8 but were not included?
Reza Rahman: I have been advocating for years to get rid of EJB in favor of CDI centric features added to more focused JSRs. Unfortunately, not much of that happened in this release. In particular, I would have liked to see a more powerful MDB replacement in JMS, as well as @Asynchronous, @Schedule and @Lock move to the Java EE Concurrent Utilities. I would love to make this happen myself in the next version of Java EE…
Moving Java EE outside the walls of Oracle
JAXenter: Java EE is in the midst of moving to the Eclipse Foundation. What are the benefits of an open source Java EE? Was Oracle’s decision to move Java EE technologies to an open source foundation a good one?
Reza Rahman: Moving Java EE outside the walls of Oracle is definitely a good thing and if anything long overdue. Many of us have hoped for this for a long time and frankly, continue to hope the same for Java SE as well.
There are numerous benefits. Decisions with regards to Java EE direction and investment will be fully decoupled from Oracle and Oracle is looking to become a more equal player when it comes to Java EE. It will very likely mean a completely open and totally free TCK. This means that anyone can work on the TCK and use the TCK without paying anyone anything. Anyone can pick up a technology and move it ahead without dealing with Oracle’s extremely conservative legal process. I believe all of this will mean greater investment, progress and interest in Java EE, especially from newer players in the market. Who knows? Maybe the likes of Microsoft, Google and Amazon will start investing in Java EE?!
Moving Java EE outside the walls of Oracle is definitely a good thing and if anything long overdue. Many of us have hoped for this for a long time and frankly, continue to hope the same for Java SE as well.
JAXenter: How will the community benefit from the move?
Reza Rahman: The community and industry will benefit from a more agile, robust, responsive and open Java EE. The core part of the Java EE community will be able to more directly move Java EE forward instead of worrying about how to get work moved ahead if Oracle does not want to work on something in a timely manner. This will truly make Java EE a community-driven standard I believe in that vendors will pay far more attention to what the community wants. I hope Oracle too will think of Java EE as an asset they benefit from instead of something others expect it to move forward more or less single-handedly.
JAXenter: Last month, we did a quick survey and found that our readers wanted to see Java EE under the stewardship of the Apache Software Foundation. Do you think Eclipse Foundation is a better choice?
Reza Rahman: I honestly think the Eclipse Foundation was the right choice for Java EE for a number of reasons.
- The Eclipse Foundation is very good for bigger clients and the reality is that Java EE will continue to need the big corporate backing it has always enjoyed.
- The Eclipse Foundation leadership is much better connected to the Java EE vendor ecosystem — particularly IBM.
- Lastly, the honest truth is that the Eclipse Foundation will value Java EE in ways that Apache never will. This alone makes the Eclipse Foundation the right choice for Java EE.
Personally, I must say I never really cared much for some of the excessively ideological positions at Apache or some of the very unprofessional ways some of the Apache people operate. By comparison, I find the Eclipse Foundation people more pragmatic, polished and professional because many of them come from pretty deeply corporate backgrounds — frankly, the same as most ordinary Java developers.
JAXenter: Should Java EE and Eclipse MicroProfile be merged?
Reza Rahman: They should be merged in a sense. I think what is now MicroProfile needs to be the incubator upstream project for Java EE. A lot of what is in MicroProfile actual may not be very appropriate for Java EE proper, though some features are clearly useful even if microservices turns out to be mostly hype or an anti-pattern in a few years. Java EE has needed an official incubation space like that where unproven features can reside and go away if they prove to be less than useful. Such an incubation space can even include multiple ways of doing the same thing.