* Sorry, this post is not anywhere related to security and identity mgmt. :)
* Arun Gupta (Oracle) is a great guy. I am just giving a personal view as response to his blog post.
* Please use the latest version of JBoss AS ie. AS 7 http://www.jboss.org/as7
Response To: Which Java EE 6 App Server ? - JBoss 6.0 or GlassFish 3.x
There are Java source files written by me in JBoss Application Server since JBoss 3.x which means I have a right to give my personal opinion. In a nutshell, there are features that are part and parcel of JBoss AS users, that have been created by me.
While Arun gives a fair assessment of Glassfish 3.x against the newly released JBoss AS 6.0, he makes some incorrect or subjective statements/assumptions. Let us get to them right away.
I would like to state that I appreciate all that Arun has done for the evangelization of Java, EE, WS, Open Source etc over the years. He is the zone leader on Java DZone. He has been good to the technical community in general and I request him to continue doing that.
Problem Statement 1 from Arun:
The articles like "New JBoss puts Java EE 6 to Work" by PC World and others with similar heading are misleading when they say "one of the first enterprise-grade application servers to fully support Java EE 6". How can an App Server be enterprise-grade and yet not offer commercial support and minimal documentation ? And also Java EE 6 is already put to work in multiple GlassFish deployments so not sure what it means "puts to work".
Apache HTTP server (from the Apache Software Foundation) has over 60% usage among web servers in the world. Does that mean it is not enterprise grade because there is no commercial support from ASF?
Many commercial companies provide support for httpd via their products or direct support. But overall, the community just relies on the trust they place in the apache httpd developers and do not buy any commercial support.
JBoss AS including v6.0 has basically relied on technology that has been developed over the years, starting lets say JBoss AS 3.2.x. Most of the older features remain the same. Hence there is no real need to create new documentation for these features in JBoss AS 6.0. With each new major new release of JBoss AS, we add some simplification or new features that gets documented but overall we try (I am saying, we try) to maintain backward compatibility with the features that JBoss AS community has loved, adopted and used over the years.
There are many companies that offer commercial support for the community version of JBoss AS (just google them). I am bringing this up with direct reference to the Apache httpd analogy above. If you are a serious user (who wants commercial support), just adopt the JBoss EAP just like you adopt RHEL.
Problem Statement 2 from Arun:
Clustering support in Glassfish coming in 3.1
Arun, I am not sure how long you have actually looked at the enterprise market (ok, Java EE enterprise market). We at JBoss have been dealing with the enterprise market almost since the beginning of the new millennium.
From an JavaEE Application Server perspective, no enterprise adoption will happen unless there is robust clustering support provided. JBoss AS has built-in, robust/kick-ass clustering capabilities that is simple enough for beginners. Just look for awesome videos of Bela Ban presenting the latest and greatest in JBoss clustering.
So, my statement is "Glassfish 3.x is not enterprise ready until they have clustering". He He!!!
(Update: From comments, I have learned that GF has had clustering but not in 3.x)
Does GF have JTS (Transaction Services)? Just checking.
The key parameter for adoption of any large product/project such as JBoss AS, Apache httpd etc is the long term sustainability of the project. JBoss AS has been the flagship work of JBoss Inc and since the acquisition in 2006, has been an integral part of Red Hat Inc. Given Red Hat's commitment to Linux community via Fedora, I am confident that the JBoss AS community will continue to be strong.
The startup time of JBoss AS has been quoted as a deterrent in adoption in the media. We are working on that with each iteration. Look for JBoss AS7 in 2011 with great new features and startup.(Arun, you should definitely run the benchmark on non-mac VM. I think the mac vm is a shade slower than the win/linux vm).
Important Note: JBoss AS6 is certified for Java EE 6 Web Profile only. But the AS contains the full feature set. We have not certified the features outside the web profile. Most of these non-certified features have existed in JBoss AS for years and baked by the JBoss community to give them robust status. Also these features may have had certification under EE4 or 5.
Given that, Oracle has won the 2010 Open Source Enemies Prize, I will be extremely apprehensive of adopting Glassfish, if I were an user. (Other Reference is to the current Hudson Project Mess).
I wish Arun and all the readers of this blog post (including Oracle employees) a very Happy New Year 2011.
Java EE 6 has been a great step forward and I think the availability of multiple OSS AS such as JBoss AS6 and Glassfish is a good thing for the community. Kudos to the JCP (and EE members) for the continued support of this paradigm.