Google Site Search


Thursday, January 6, 2011

Response: JBoss AS6 vs Glassfish 3.x

Arun Gupta now works for Red Hat Inc. He is now an advocate for WildFly Application Server and JBoss Developer.  This discussion is now of least significance. We converted Arun into a follower. ;)

* 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

Response To: Which Java EE 6 App Server ? - JBoss 6.0 or GlassFish 3.x

My Credentials:

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.

General Response:

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.

General Discussion:

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.


Gimby said...

According to the table, Glassfish v3 has comprehensive documentation.

Yes, so comprehensive that you have to really dig and spit before you find that piece of information you need. Also nicely separated and lets not begin to talk about how tediously it is all written.

I need to know X. Do I need the reference guide? The administration guide? the Application deployment guide? The application development guide?

What a comprehensive mess!

Anil Saldanha said...

I will not comment on the GF documentation.

But at JBoss, our guys have tried to simplify EE dev via Seam/Weld/CDI etc. Simplified development (with major reasonable defaults) keeps everyone happy and configuration to minimum.

Kai Wähner said...

I really like JBoss AS 6. It is great so see other JEE 6 products besides Glassfish!

But I have a problem with all those JBoss AS 6 announcements: Almost none of these announcements mentions that JBoss AS 6 just implements the Web Profile, thus it is not a full JEE 6 compliant AS.

Nevertheless, JBoss AS 6 is a great release and the Web Profile often is sufficient for applications! But this information should be mentioned in an announcement...

Best regards,
Kai Wähner (Twitter: @KaiWaehner)

Alexis MP said...

For the record GlassFish has had clustering for many year (and Sun's app server before that). The latest stable release is 2.1.1.

GlassFish 3.0 had modularization and full Java EE 6 support as primary goals. We figured that by the time people are done developing applications on Java EE 6 and GlassFish 3, version 3.1 would be out. This model has worked pretty well for us in the past.

I'd argue that your "prize" link is a bit on the subjective side as well :)

Happy 2011!

Anil Saldanha said...

@KaiWaehner I am surprised that you found announcements claiming EE6 certification and not highlighting the "web profile" certification.

Even is stating web profile only.