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.