Java Tutorial - Java Scipt : Evaluation of EJB Containers

Java Tutorial - Java Scipt :

Evaluation of EJB Containers

We have our list of free, open source EJB containers, and the list of features that we will use to judge the EJB containers. Let’s go down the list of features and see how JBoss compares with JOnAS in each area. We’ll start with conformance with J2EE standards. JOnAS is a bit behind the J2EE 1.3 specification as of the time of writing. There are some features specified in CMP 2.1 that are missing: cascading deletes, auto-primary-key-generation,
ejbSelect, and some EJB QL operators. Based on past performance, these issues will probably be addressed by the time you read this. So why bring it up? Well, the odds are that the new J2EE 1.4 specification will be out by now, too. The point is that JOnAS tends to be 6 to 12 months behind JBoss. This is a doubleedged sword in that JBoss may outrun the standards. Code written to specifications that are still in flux may need to be rewritten once a standard is established. In the area of J2EE integration, both JBoss and JOnAS deliver standout performances. They are both available integrated with Tomcat, the servlet container we selected for use in Chapter 5. They are easily integrated with other key pieces of the J2EE architecture. This is a draw simply because both EJB containers get full marks in this category. JBoss stands out in the category for project stability and continued support. As the most downloaded J2EE application server, the prospects of continued project stability and support are extremely bright.

The recent formation of the JBoss Group for professional paid support shows that there is a thriving market
for commercial deployments of JBoss. Both containers have commercial deployments to show as references, but the JBoss deployments have been the more visible and impressive of the two. In general, JBoss seems to have more
mindshare and developer support than JOnAS, so this round goes to JBoss. It’s a split decision in terms of scalability. JOnAS offers better vertical scalability than JBoss. Studies indicate that JOnAS can not only handle greater load, but offers a much nicer degradation curve once the peak load is exceeded. The peak load handled by JBoss is quite good, but performance drops considerably after the load surpasses the peak. On the other hand, JBoss offers a very nice clustering solution. JBoss allows an application to be automatically deployed on the master server and then automatically pushed out as an updated application to a cluster of servers. Scaling up is as simple as adding machines to the cluster. This is a great feature for deployments that require more than one machine or that might need additional machines in the future. JBoss provides a wonderful experience out of the box. Things are integrated
in an intelligent manner, and the entire J2EE application server stack is right there should you need it. In particular, the Hypersonic database that is included coupled with the JBoss create table descriptor allows quick testing of
CMP EJBs. (Keep in mind that this is not so much a real database per se as it is a development tool substitute for an RDBMS; more information on Hypersonic is available at JOnAS is also available integrated with either Tomcat or Jetty, which makes it easy to get started right away. Documentation is an area where the two have significant differences. JOnAS has all of its documentation available online, and access to it is free and unrestricted. JBoss has taken a two-pronged approach to documentation. There is a freely available version of the documentation written by community volunteers. The quality of this documentation is good, but the version of JBoss covered can lag behind the latest one available for downloading. This type of document lag can be frustrating for users. JBoss also offers a professional set of documentation available for purchase at a reasonable price. This documentation is always up to date and is written by the core developers, so it is of high quality. Nevertheless, JOnAS wins out in this department for making goodquality documentation freely available to the public.