2016 has been a bit of a wild ride, to say the least. Lots of major things have happened politically and in popular culture. Considering the world of Java and its related ecosystems, we've seen a lot of activity too, with announcements about the delay of Java 9, the concerns raised by the Java EE Guardians (shared by many), and a largely unprecedented move in the establishment of the MicroProfile initiative.
Back in June this year, shortly after the first political shockwave of Brexit, I stood on stage with Mark Little of Red Hat, Martijn Verburg of the LJC, Theresa Nguyen of Tomitribe and Alasdair Nottingham of IBM to announce our intention to collaborate in a new way. We gave an outline of our views on the MicroProfile and how we saw it fitting in to the established ecosystem of microservices, where the impression (rightly or wrongly) is that Java EE is lagging behind the likes of Spring Boot, Dropwizard and others.
In reality, all the vendors involved could see that the microservice platforms we had already produced could, of course, be used very effectively for microservices but there was certainly a lack of cohesion among them. At Payara, we strongly believe in the benefits of having standards across implementations and can see how significant the benefits of the collaboration and standardisation involved in the Java EE platform over the years has been. Taking further steps towards collaboration in the MicroProfile, in this context, seemed perfectly logical, particularly with the push towards fast iteration.
As Oracle themselves acknowledged in Java One this year, the already fast-paced world of web technology looks to have shifted gear over recent years, and the delayed Java EE 8 specification needed to be looked at again, while also increasing the regularity of releases for Java EE 9.
This is a perfect niche for the Microprofile to fit into: by being a place for fast iteration to happen and, in so doing, feed Java EE standardisation efforts.
Where are we now?
At Devoxx in Belgium this year, I joined David Blevins and Andy Gumbrecht from Tomitribe, Alasdair Nottingham from IBM and Heiko Braun from Red Hat in a presentation to demonstrate the progress made so far and a little of our ideas for the future. As David made clear in the presentation, we - as vendors - are trying not to push anything through MicroProfile, but rather to allow the community to dictate where we should go and where our efforts should be focused. If the goal of MicroProfile is to iterate quickly, then we want the community at the wheel to make sure we're iterating over the right things!
We were able, in the presentation, to demonstrate 4 separate implementations of MicroProfile running our Conference Scheduling app. It's a significant achievement from all involved, vendors as well as individuals from the community, and something for us all to proud of.
As David pointed out, this process has given us all, as vendors, the chance to "walk a mile in the shoes" of our users, and experience the same pain points for ourselves. Both Alasdair and I have raised usability-related enhancement requests for our respective implementations and, in Payara's case, we have begun more work on the internals of Payara Micro, such that we can make it easier to adapt to the development of the MicroProfile.
What this means for Payara is that the MicroProfile specification is going to be a key part of our strategy for Payara Micro going forward. It will be a first-class product which we will support as an aspect of our wider Payara Micro efforts.
The new version of Payara MicroProfile 164 has been released last week - download it here.
What about the future?
From what I can see about the way the MicroProfile has been received on social media, the future looks very bright indeed. The actual direction will be guided by the community, but I expect that MicroProfile will look to standardise on different things than we have seen in the past from Java EE.
Commonality in configuration of MicroProfile implementations has been discussed a lot in the Google Group mailing list, as well as more outward-looking features have been discussed, interoperability in particular. It's important to recognise that developers will want to use more than just the MicroProfile (we have even used Node.js for the front end of the Conference sample application) so being able to certify other tools as "MicroProfile interoperable" would be a significant achievement.