The following list outlines the details for some of my personal preferences for different types of J2EE sites. I hope that you will do further exploration to ensure that you find the right product for your work [1]. Each app server listed in this section is accompanied by some similar products (at the end of the table) that should help get you started with some comparisons. Subjective or rapidly changing criteria are left blank and are not included in this review. If you were relying on these reviews, you should flesh out the details quite a bit (i.e., the degree of server-side debugging varies quite a bit for different IDE and server tools).
Group |
Criteria |
Learning |
Small Intranet |
Small Internet |
Large Intranet |
Large Internet |
| Product Info | Vendor | Evermind Data | Allaire | Apache | BEA | SilverStream |
| Product | Orion | JRun Enterprise | Tomcat | Weblogic Server | SilverStream | |
| Version | 1.3.8 | 3.0 | 3.2 | 5.1 | 3.7 [3] | |
| Costs and Licensing [2] | Cost per CPU | ~$1.5K per server | ~$5K | Free | ~$10K | ~$15K |
| Cost per server | ~$1.5K | N/A | Free | N/A | N/A | |
| IDE costs[11] | - | - | - | - | - | |
| Developer licenses | Free | Free (performance-limited, IP-limited) | Free | $2-3K[2] | N/A | |
| Lightweight versions | No[7] | Yes (no EJB/JMS, JTA, Clustering in JRun Pro) | No | Yes (no EJB in Weblogic Express) | N/A | |
| Compliance | J2EE Licensed | No | Yes[13] | No | Yes | Yes |
| J2EE Certified | No | No | No | Yes | Yes | |
| Servlet version | 2.2 | 2.2 | 2.2 | 2.2 | 2.2 | |
| JSP version | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | |
| EJB version | 1.1, partial 2.0 | 1.1 | N/A | 2.0 | 1.1 | |
| JMS info | 1.0 | 1.0 | - | 1.0 | 1.0.2 | |
| Scalability and Availability | Clustering | Yes | Yes | No | Yes | Yes |
| Development Efficiency | On-line support | Yes | Yes (Very Good) | Yes | Yes (Excellent) | Yes |
| IDE/server integration[11] | - | - | - | - | - | |
| Multi-app Server[8] | Yes | Yes | Yes | Yes | Yes | |
| Win2000 Support | Yes | Yes | Yes | Yes | Yes | |
| On-line source archives[9] | Yes, but tutorials and examples still growing | Yes | Few | Yes | Yes | |
| Run-time server debugging | Yes | Yes | Yes | Yes | Yes | |
| Platform and JDK Support[5] | Supported JDKs | Partial JVM test of Sun Java2, IBM 1.3, Appeal JRockit; Rich proprietary API included [4] | Only 1.1 or later specified; no vendors mentioned | Only 1.1 or later specified; no vendors mentioned | BEA has provided a very specific chart outlining JDK support for combinations of 1.1.7, 1.2.1, 1.2.2, and others depending on the OS. | 1.2.1/1.2.2 depending on OS |
| Solaris | Yes | Yes | Yes | Yes | Yes | |
| Linux | Yes | Yes | Yes | Yes | Yes | |
| MacOS | No | No | No | No | No | |
| Net/FreeBSD | Yes | No | Yes | No | No | |
| HP/UX | Yes | Yes | Yes | Yes | Yes | |
| Tru64 Unix | No | Yes | Yes | Yes | No | |
| AIX | No | Yes | Yes | Yes | Yes | |
| AS400 | Yes | No | Yes | Yes | No | |
| SCO Unix | No | No | No | Yes | No | |
| Windows | Yes | Yes | Yes | Yes | Yes | |
| SGI IRIX | No | Yes | Yes | Yes | No | |
| Performance | Connection pooling | Yes | Yes | No [12] | Yes | Yes |
| Optimized JDBC drivers | No | No | No | Yes | Yes (Oracle optimized driver) | |
| Transaction support | Yes | Yes (Full JTA1.0/XA-compliant) | No | Yes | Yes | |
| Web-integration efficiency | Provides own efficient Web server | Optimized connectivity for IIS, NS, Apache, iPlanet, and Zeus | Integrates well with Apache, IIS, and NS although not nearly to the same performance as other options listed here | Depends on OS and version, but generally supports iPlanet and Apache in addition to its own Web server | Not confirmed | |
| Administration | Remote console | Yes | Yes (Web-based) | No | Yes | Yes |
| Full command-line | Yes | Not confirmed | No | Partial | Yes | |
| Text configuration | Yes | Not confirmed | Yes | Yes | N/A | |
| Monitoring tools | Yes (partial monitoring through orionconsole.jar) | Yes, but only confirmed for JSP/servlet (could not find EJB and load-monitoring tools) | No | None found | Yes | |
| Deployment admin | Yes | Yes (Web-based) | No | Yes | Yes | |
| Support | Newsgroup Activity | Low to Medium | Medium | Medium | High | Low |
| Internet SE presence | Medium | Low | High | High | Low | |
| Unofficial support sites | No | No[10] | No | No[10] | No | |
| Message boards | Yes | Yes | Yes | Yes | No | |
| Official support site | Yes | Yes | Yes | Yes (Excellent) | Yes (Excellent) | |
| Track Record | History of company | Unknown; short to my knowledge | Long history through Cold Fusion and beyond | Apache very active on the Internet as the Apache foundation (1999), and before that as the Apache group (1995/96) | Large publically held company; around since '95 | Public since mid-1999, incorporated in late 1996 |
| History of product | Very well respected and adopted, smaller track record than some of the others | Relatively new compared to their flagship, Cold Fusion | Evolved independent from JServ, and is positioned to replace JServ | Large marketshare; product started as M3 in 1998; growing experience from earlier Tuxedo development | Product has been evolving since late 1997 | |
| Alternatives |
JRun Developer License, Tomcat |
Weblogic Express, Orion Server, Sybase Enterprise Server, Oracle 9i App Server, WebObjects (for Mac users) |
None identified that are available in hosting plans |
IBM WebSphere, SilverStream, Haht Site, iPlanet App Server |
iPlanet App Server, Bluestone e-Server |
|
Notes:
| [1] | All details should be confirmed with vendors. Some of these evaluations are subjective and can also change over time. This is meant only to serve as a starting point for your research. |
| [2] | All prices should be confirmed with vendors. Some of these are estimates or second-hand reports. Prices can often be negotiated and are often subject to change. |
| [3] | At the time of this article's publication, 3.7 was in beta with release expected very shortly. |
| [4] | Proprietary features often add value but also may tie you to the specific implementation, if your design does not hide these features with an abstracted layer. |
| [5] | Not all platforms are tested with all JVMs. Check the vendor pages for specific information. |
| [6] | Kawa was recently purchased by Allaire, so prices and support may change. |
| [7] | Orion is free for non-commercial or development use. |
| [8] | Muili-app serving is also called virtual hosting. |
| [9] | You can find most J2EE technologies on a number of sites, but this item is meant to capture archives that show server-specific APIs and features. Generally these are provided by the vendor. |
| [10] | App servers typically are not popular enough to get their own support sites. However, a number of these tools are frequently discussed on general Java and J2EE sites. Search for sites that suit your own needs. |
| [11] | There are simply too many IDE options and configurations, with costs ranging from free to several thousand dollars. A few suggestions: Edit Plus as a good text editor, Kawa as a good and inexpensive J2EE IDE (see [6] for pricing comments), and Visual Cafe for full-blown J2EE with excellent WebLogic integration. |
| [12] | Although Tomcat doesn't explicitly support connection pooling, it certainly will permit you to use Java and JDBC to create your own pooling management system. |
| [13] | I was unable to confirm compliance but multiple sources, including FlashLine, indicated that this is accurate. |