The Source for Java Technology Collaboration
User: Password:



Jonathan Campbell's Blog

Community: Java Enterprise Archives


Top Java 5 EE Servers Compared

Posted by jdcampbell on February 20, 2008 at 09:23 PM | Permalink | Comments (18)

Top JEE 5 Comparison of Features and Benchmarks.

Do you need to make a good decision on what Java EE application server to use for your organization? Sure, and there are a lot of choices out their. I have used Java application servers for years my self, and total there are actually about 9 different JEE application servers on the market that I know of. Open-source Java EE servers are used as much as the commercial counterparts and I believe the only advantage of going commercial is that you may get better security that way. Though certain commercial JEE servers have proprietary features which are valuable, the same can be said of open-source available features.

The servers we will look at are Sun Microsystems open-source Glassfish 2.0, Red Hat’s open-source JBoss 4.2, IBM’s open-source WebSphere 2.0 Community Edition, and BEA’s commercial WebLogic 10. I'm covering JBoss 4.2 due to it's popularity, though it is only partially JEE 5 compliant. I will do benchmarks using a standard benchmark tool from WiseFirm.com. All of these servers and the benchmarks are being run on the same computer and on the same Linux OS, so the benchmarks are a very good demonstration of how these servers truly compare on performance.

Features Comparison…

Below is a quick table on the major features of importance available with our four JEE servers, these features are the standards used in the industry. The table shows a "Yes" if the feature is shipped with the JEE server package standardly, the table shows "Available" if the feature requires additional package installs, and the "Partial" marks a feature that the particular JEE server does not fully support...

Feature Description

Glassfish 2.1

JBoss 4.x

WebSphere 2.0

WebLogic 10

Java EE 5 compliance

Yes

Partial

Yes

Yes

JSP 2.1 and Servlet 2.5 capable

Yes

Yes

Yes

Yes

EJB 3.0 capable

Yes

Yes

Yes

Yes

JavaServer Faces 1.2 support

Yes

Yes

Yes

Yes

Custom plug-in support

Yes

Yes

Yes

Yes

Business-rules engine support

Yes

Available

Available

Available

Hibernate 3.x support

Available

Yes

Available

Available

JBoss Seam support

Available

Yes

Yes

Available

Clustering support

Yes

Yes

Yes

Yes

JAX-WS / JAX-B 2.x

Yes

Available

Yes

Yes

Eclipse IDE connector support

Yes

Yes

Yes

Yes

Ease of operation rating 1 to 10

6

9

6


Benchmark Comparison...

I used a really nice tool for benchmarking called jRealBench (www.WiseFirm.com gives it free). This tool is designed to show realistic benchmarks, it uses a simple Java .war application that you deploy on your J2EE server, then you specify how many session hits you want to benchmark and just click the Benchmark button. It keeps a database of all the computers you benchmark and allows you to do a chart comparison of them. Here are the results of our four servers all run on the same x64 Dual-core server, this benchmark is based on a 10,000 session test...

There are two tests done in the benchmark charts above, the left test is initial session creation which is when a user first hits your web site application, the right side bars are session re-hit benchmarks which is when the same user accesses another page in your web application. Just in case you have any trouble reading the server names, the blue-bar is JBoss, the green-bar is WebSphere, the first red-bar is Glassfish, and the right-hand red-bar is Weblogic.

This test does not simply check the maximum number of sessions that can be run on these J2EE servers, this is a more realistic benchmark comparable to a production web application. A previous article I did showed that many J2EE servers will run over 1.2 million concurrent sessions, and that is only limited by RAM availability on the server from my knowledge.

Many people have stated that Glassfish is faster then these other servers, but I ran these benchmarks again and again and could not get Glassfish to outperform the others. As you can see Glassfish benchmarked slower then 2 of the other servers, and Weblogic was the slowest of all. WebSphere 2 CE is the same as Geronimo 2, it is based on the Tomcat 6 servlet container, and clearly outperforms all of these other J2EE servers. WebSphere (Geronimo) is the fastest J2EE server I know of.

The Bottom Line...

Saving money and getting the best performance and product for the buck is what we all need. Websphere 2.0 CE (Geronimo) is supported by at least as many people as JBoss 4.x is, and Websphere outperforms all of these other J2EE servers. Red Hat's JBoss and BEA Weblogic have commercial support, while Websphere CE and Glassfish are primarily open-source products. You will pay more for the commercial support but rather you end up in better shoes for that is your decision.

As far as J2EE version 5 compatibility and features are concerned, all of these servers are JEE 5 compatible except JBoss 4.x. Red Hat is releasing JBoss 5 soon and that will be JEE 5 compliant and probably perform better, but I don't think it will perform better then Websphere/Geronimo noticeably, though we will just have to see. On the matter of features overall, the most popular JEE components fortunately are very cross-platform compatible so most servers support them.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds