I’ll keep this post shorter than the last one.
Wow! 2016 was a turbulent year for Java EE.
- It started out with a tinge of concern since Oracle had begun its drawdown on Java EE JSR related project commits and discussions in late 2015 and snowballed through mid-2016.
- Adam Bien started the javaee-wg Slack group, which started all kinds of conversations.
- The Java EE Guardians, led by Reza Rahman, was founded as a means to forge ahead with Java EE while also documenting Java EE’s leadership concerns along the way.
- While all this was happening, and even before in a more nascent form, some community members and vendors were chatting about bringing Microservices to the Java EE community. As a result, MicroProfile was founded to do just that.
- 3 months later, the Java EE 8 and 9 roadmap was announced, and recently revised.
Here are some lessons that I think were learned from this experience:
- Leadership vacuums get filled
- As we have learned so many times before, community is often greater than a project’s leadership. Sometimes the community endorses a fork, sometime the community forces change as a means to bring everyone together.
- The community wants more input into and control of the direction of Java EE. We now have first-hand experience under our belt when a controlling interest differs from the interests of the community.
- Trust is earned. Trust can be lost.
Java EE 8 is now an incremental release, and even more so than before. However, its needs to move forward to re-establish some momentum and build trust. The features in Java EE 8 can be brought forward into the microservices realm. There is broad agreement on this.
That brings us to 2017.
MicroProfile, now an Eclipse incubator project, is working hard to bring agreement on microservice APIs. Java EE 9 is doing the same but is following the traditional path. We have an outline of how we’ll work together, but it will need to prove itself out. It appears that Oracle is taking a traditional approach to Java EE 9 by collaborating on APIs as it builds out a reference implementation. MicroProfile is taking a code-first open source project approach, which results in standards (defacto or industry).
We have a huge opportunity to work together and rapidly deliver microservice-y APIs for Enterprise Java in 2017, but we have to remember the lessons learned so we don’t repeat them. I have a bunch of thoughts on this I hope to share in the coming year.