Who Was First to Java EE 6?


I was doing some research on JBoss the other day and found an interesting press release from JBoss.  They claim they were the first to release “Java EE 6 via Platform-as-a-Service” with “OpenShift”.  While this is certainly true the announcement could cause some confusion about JBoss “support” and “certification” of Java EE 6.

Although I won’t get into the cloud aspects of this product I thought it was interesting to actually dive into the details of the Java EE 6 side.  I guess it really depends on how you define “first to release Java EE 6”.

For those of you that are JBoss clients you might be thinking “Great!  JBoss now has support for Java EE 6”, and you’d be wrong!  The only thing “JBoss” that is certified for Java EE 6 is the recently released OPEN SOURCE and UNSUPPORTED JBoss Application Server 7.   They do not have a version of the JBoss Enterprise Application Platform (JBoss EAP), which is the product you actually pay to receive support for, that is certified for Java EE 6.

It also depends on how you define “certified”.  As you can see on the Oracle Java EE certification page, JBoss Application Server 7 is only certified for the “Web Profile”.  This is a new concept in Java EE 6 that allows servers to be certified for a subset of the Java EE technologies (mostly the newest stuff) but not certified against all of the technologies.  In particular the “Web profile” doesn’t require JMS, web services, MDBs and a few other technologies.  JBoss Application Server 7 supposedly supports some of these even though they don’t “have to” but they are not certified for the “Full profile” which would verify the compatibility tests of all Java EE technologies.  You can find an interesting discussion some of us in the JBoss community had with those in JBoss about this approach here.

Now the good thing is that JBoss does plan to release support for the “Full profile” Java EE 6 with the release of the JBoss Enterprise Application Platform 6 (the version numbers between EAP and open source server are going to be out of sync).  This isn’t expected until early 2012 though.   Luckily those of us in the JBoss community were able to convince those driving JBoss development that there was value in the full Java EE 6 profile and not to release the JBoss EAP until that full profile support was provided.  We all felt it would be more confusing to have a version of the EAP providing only Web profile certification and then later to have full profile certification.  After all, having different versions between the open source JBoss Application Server 7 and the JBoss Enterprise Application Platform is going to be bad enough.

So if you look at the Oracle Java EE certification page, there is a popular production supported server that provides support for the full profile of Java EE 6.  That server is WebSphere Application Server 8.0.  That’s right, WebSphere BEAT JBoss (again)!  Certainly WebSphere was not the very first application server to support Java EE 6, that distinction goes to Glassfish 3.0 released as the Java EE 6 “reference implementation”.  But if you look at the “Big 3” Java application servers of WebSphere, WebLogic, and JBoss, WebSphere was first.

So about the only way you could claim that “JBoss was the first to release Java EE 6” is if:

  • You accept an unsupported, open source product (which most clients don’t want to use in production anymore)
  • You accept a “Web profile”-only version and don’t need ALL of Java EE 6
  • You use some other qualifier like “via Platform-as-a-Service”

So anyway, back to the press release.  Why would JBoss want to offer something like this if there are so many ways to pick it apart?  I think the date of the press release is telling.  The press release is from August.  WebSphere Application Server 8.0 was released in June.  I think JBoss knew they were running out of time to put their “We were first” argument out there.

Also, a closer reading of the press release does make it clear that OpenShift is targeting developers right now so the issue of production support is not meant to be provided with this current release.  The first sentence of the second paragraph of the release, “OpenShift is a free PaaS for developers who leverage open source” certainly puts this offering in the correct context.

Ah the spin of product press releases…

EDIT:  I’ve made some minor changes to be more clear that this post is not meant as a hack job on JBoss “OpenShift” but as a comment on the press release concerning OpenShift which could be read in confusing ways.  In particular phrases like “supports Java Enterprise Edition 6” can be read in confusing ways that would imply things that are not currently true about JBoss Application Server.  For those of our clients that might not follow developments in JBoss quite as closely as I do hopefully this information is useful.

, ,

  1. #1 by Jason Greene on August 15, 2011 - 10:49 am

    The whole point is that OpenShift is the first PAAS offering to support Java EE6, which is a pretty big deal since anyone can now host their EE6 apps on the cloud (and in many cases for free). This is actually a pretty significant technical accomplishment that required optimization from everything from the Linux kernel to the app server. Nowhere did anyone claim it was the first EE6 release.

    Not sure how getting more free stuff leads to vitriol…

  2. #2 by Stuart Smith on August 15, 2011 - 11:55 am

    I agree that OpenShift and what it has for cloud options is a big deal. I specifically wasn’t commenting on the cloud aspect of things though.
    My point of the post was when you broke down the “Java EE 6 certified” part of the announcement there were some gaps that might be confusing to some people and lead to incorrect assumptions.

    From what I can tell the following statements are correct about OpenShift. Please correct me if I’m wrong.

    – The JBoss AS 7 included in OpenShift is certified for the Java EE 6 “Web Profile” but not the “full profile”. Since the concept of “Web profile” is new to most people the term “Java EE 6 certified” can be mistaken as saying JBoss AS 7 supports ALL Java EE 6 technologies, which it doesn’t currently (August 2011).

    – OpenShift appears to be free to use but not “supported”. By this I mean not something you might want to use in production if you want to be able to call someone from RedHat at 3AM to help you figure out why something is going wrong. I’m sure the level of support you might get with JBoss EAP is coming but right now it looks like OpenShift is still the “you’re on your own” usage model.

    We have seen many of our clients shift away from the JBoss AS open source server in preference for the support provided by JBoss Enterprise Application Platform. We have some that are even just now switching to EAP 5.x.

    My post was really to target this audience and to make sure they knew that if production level support was important they would want to dig deeper into the details.

    Trust me, I will be one of the first to trumpet the arrival of the Java EE 6 certified JBoss EAP as that will let us focus on all the great new administrative features to our clients that actually have budget to pay for things!

  3. #3 by Anil Saldhana on August 15, 2011 - 12:32 pm

    Hi Stuart,
    you will be surprised at how receptive JBoss folks are to opinion/criticism from the community if done the right way and in the right channel.

    If you are going to be present at Java One 2011, I do welcome you to attend a session I am co-presenting on Java EE in OpenShift:
    http://anil-identity.blogspot.com/2011/08/javaee-enabled-paas-and-security.html

    A surprise I have is that there are no other session at J1 talking on JavaEE Paas Experiences. There may be visionary sessions but none that talk about experiences in getting hands dirty.

    We can chat further then about what deficiencies in JBoss AS ecosystem prompted you to post the current blog post. I also believe that JBoss is providing bread and butter to both of us.

    Cheers,
    Anil

  4. #4 by Stuart Smith on August 15, 2011 - 7:43 pm

    Anil,

    It looks like I was making a clarifying comment about the post about the time you were reading it so I won’t repeat many of my explanations from the last comment…

    I’ve tried to clarify the post a little bit to indicate that it is not about the merits of OpenShift itself but attempting to avoid confusion about statements like “supports Java Enterprise Edition 6” and “JBoss application servers are Java EE-certified”. In particular it is confusing that the OpenShift press release doesn’t mention anything about Java EE 6 web profile. Technically you could create a “Java EE 6 application” that CAN’T be deployed to OpenShift if it uses Java EE 6 technologies that are not currently supported by JBoss AS 7.

    The problem that I have to deal with is that our clients do not always follow the day-to-day developments in the JBoss world and I was worried some of the incorrect implications you could draw from the OpenShift press release would cause more confusion.

    I do appreciate how receptive JBoss is to user feedback. When it was being decided how JBoss would approach Java EE 6 certification I participated quite heavily in the discussion and even setup a quick survey to get feedback from JBoss users. I think this actually lead to a better strategy for how JBoss was going to release Java EE 6 support with JBoss EAP by avoiding having any version of JBoss EAP not certified against the FULL Java EE 6 profile.

    I certainly look forward to the release of JBoss EAP 6. Being able to highlight some of the new administrative features to clients that only use the JBoss EAP platform and the support that entails. Although EAP clients are certainly not all of the JBoss users out there, they happen to be the group that tends to be more willing to pay our company for training and consulting so I try to look out for them.

    This blog post was something to try and address the confusion that might occur right now as we are in-between the “old” and the “new” JBoss platforms.

(will not be published)

*