Java application servers provide a reliable, scalable, and secure platform for Web applications ranging from dynamic, database-driven Websites and corporate intranets and portals to e-commerce transaction systems. Although leading commercial servers from vendors such as BEA Systems and IBM grab most of the attention -- especially in enterprises building large-scale solutions -- a number of open source alternatives offer comparable capabilities at a fraction of the cost.
In fact, some very capable open source application servers, such as Enhydra and JBoss/Server, are free. Going beyond mere Java servlet engines geared for dynamic Websites and database front ends, these Java 2 Enterprise Edition (J2EE)-compliant servers are suitable for high-volume transaction processing as well as application and data integration. With capabilities comparable to commercial J2EE servers costing tens of thousands of dollars, these open source solutions warrant the attention of budget-minded CTOs and other IT managers.
Of course, open source solutions often come with hidden costs. They typically fall short of their commercial counterparts in manageability and capabilities, and the lack of up-to-date documentation and direct support may require your IT staff to work harder to maintain the product. Enterprises should also be wary of building mission-critical systems on a poorly funded open source product with little market penetration and an uncertain future.
One trend contributing to the viability of open source solutions in the enterprise is a blurring of the line between open source and commercial software; an increasing number of solutions combine the advantages of open source development with vendor funding and support. Enhydra serves as an excellent example. Many of the features found in the commercial version offered by Lutris Technologies originated from open source activities, which allowed Lutris to provide a fully supported commercial product at a low price.
|The Bottom Line|
The open source edge
New technologies and features tend to be implemented quickly and aggressively in open source solutions. Because open source development is an ongoing process involving potentially hundreds of talented developers, open source application servers can offer new features, architectures, and platform support as soon as the project can implement and support it, often long before standard commercial products can incorporate these innovations.
Because the open source development process is highly collaborative, the resulting code sees widespread peer review, improving the chances of turning out a solid and secure product. But keep in mind that because the products are often works in progress, documentation may be out of date or missing completely. Many newsgroups, developer sites, and automated mailers exist to assist users, but solving problems will typically require your IT staff to be more proactive.
What open source solutions lack in support they often make up for in capabilities. Not only do many open source application servers sport the same features as their commercial counterparts, including J2EE-compliance with support for Enterprise JavaBeans (EJBs), Servlets, and JavaServer Pages (JSPs), but some even go one step further. Both Enhydra and JBoss/Server offer functionality found in the upcoming update to the J2EE specification including Java Management Extensions (JMX), as well as the Java Authentication and Authorization Service (JAAS). The addition of JMX is hugely beneficial, as it is central to how Sun will require vendors to manage application servers in the future.
For the enterprise, many open source solutions even offer clustering, session-level fail-over, management consoles, and connection pooling, providing the manageability, load balancing, and fault tolerance needed for high-volume Web applications. Should your organization find a need for a capability not currently offered, open source gives you the freedom to develop it yourself rather than potentially waiting forever for a vendor to respond.
As with any product offering, one should carefully weigh the pros and cons of an open source application server before passing judgment. But enterprise-class capabilities and the inherent benefits of open source development provide many reasons beyond cost-savings to give solutions such as Enhydra and JBoss/Server a close look.
Learn more about this topic
- Jakarta Tomcat
- For JavaWorld's other product reviews, see the Product Review section of our Topical Index
- Sign up for the JavaWorld This Week free weekly email newsletter and keep up with what's new at JavaWorld