Skip navigation

The MicroProfile

Posted by marklittle Jul 4, 2016

Last week at DevNation we announced the MicroProfile, which is work we're doing with IBM, TomiTribe, Payara and the London Java Community, amongst others. Since then I've seen a few people write articles or talk about it on social media and there appear to be a few things we definitely need to clarify.


For a start, the work we're doing is not a standard. As I mentioned during the keynote, we may eventually take it to a standards body (more on that later), but at this stage the world of microservices is relatively new and evolving, let alone the world of enterprise Java-based microservices. In general, standardising too early results in ineffective or otherwise irrelevant standards so we don't want to consider that until we're further down the line. Now that doesn't mean we won't be using standards to develop. Far from it, as I mentioned we're thinking about a minimum profile based on Java EE (probably 7 since 8 isn't yet finalised) initially. Portability and interoperability are key things we want to achieve with this work. We may never be able to get everyone to agree on a single implementation, but at least if they can port their applications or communicate within heterogeneous deployments, then that's a much more realistic goal. After all microservices, and SOA before it, isn't prescriptive about an implementation, and probably never should be.


Although we're starting with Java EE as a basis, we're not going to tie ourselves to that. If you look at some of the other approaches to microservices, such as Netflix OSS, or OpenShift, there are features such as logging, or events or even asynchrony, which aren't currently available as part of EE. Again, I mentioned this during the announcement, but we all expect this work to evolve enterprise Java in these and other areas as we progress. Java EE represents an evolution of enterprise middleware and we all believe that enterprise Java has to evolve beyond where it is today. Maybe we'll take these evolutions to a standards body too, but once again it's way too early to commit to any of that.


Another thing which we brought out during the announcement was that we want this work to be driven through good open source principles. We're working in the open, with a public repository and mailing list for collaboration. We're also not restricting the people or companies that can be involved. In fact we want as wide participation as possible, something which we have seen grow since the original announcement, which is good! This means that our initial thoughts on what constitutes the minimum profile are also open for discussion: we had to put a stick in the ground for the announcement, but we're willing to change our position based on the community collaboration. We've placed few limitations on ourselves other than the fact we feel it important to get an agreed initial (final) profile out by around September 2016.


I think this leaves me with just one other thing to address: which standards body? The obvious candidate would be the JCP given that we're starting with Java EE. However, as I mentioned earlier we may find that we need to evolve the approach to incorporate things which go way beyond the existing standard, which may make a different standards body more appropriate. We simply don't know at this stage and certainly don't want to rule anything in or out. There's enough time for us think on that without rushing to a decision.

Last week at Red Hat Summit several of us, myself included, paid tribute to the fact that June 2016 was the 10 year anniversary of closing of the deal which brought Red Hat in to JBoss. I had a few things to say about this during my portion of the DevNation keynote, highlighting the CDI work we've done, the various acquisitions such as FuseSource and FeedHenry, or the innovation around projects such as Vert.x and WildFly Swarm. As I mentioned at the time, we've accomplished so many things over the last decade that I really couldn't hope to do them justice in a single keynote. It truly has been a defining decade for enterprise Java within Red Hat.


It was also an emotional anniversary for me which didn't really hit until Summit, or maybe it was because of Summit. While there I met and interacted with people I've known for many of those 10 years in Red Hat and who have worked as part of the middleware efforts, but some of whom have now moved on to other areas of Red Hat. It was great to see them doing so well but slightly sad that we're not working as closely these days. Another change was that the JBoss/JUDCon keynote and associated demo, which started out years ago playing to a packed room of a hundred or so has now become part of the main keynote stage in front of thousands: wonderful to see!


10 years of JBoss in Red Hat has been a great ride. We've been able to act as a catalyst for innovation both inside and outside of Red Hat. The business has grown from only a couple of products to a dozen or so. Revenues are also up significantly. And the teams, including engineering, QE, docs, product management etc. have also exploded in size. I look forward to what the next 10 years will bring! Onward! And We Love You !

Filter Blog

By date:
By tag: