The products in this field are maturing, particularly in their support of J2EE (Java 2 Enterprise Edition) and in offering a "solution" platform that extends beyond traditional application-server services to include e-commerce and portal services. We reviewed application servers from Art Technology Group (ATG), Borland Software Corp., Brokat Infosystems, IBM Corp., iPlanet, Lutris Technologies, Macromedia, Persistence Software, SilverStream Software and Sybase. We also looked at a beta version of Microsoft .Net Enterprise (see ".Net Enterprise Is Powerful, Proprietary").
Our tests resulted in two Editor's Choice winners: IBM's WebSphere Application Server Advanced Edition 3.5 and Macromedia's ColdFusion 4.5.1 Enterprise. For large enterprises, IBM's product provides an open, Java-based platform that lets organizations build or, preferably, buy whatever is needed to solve typical business problems. In addition, the WebSphere Application Server is part of IBM's larger suite of complementary products that sits on top of this world-class solution.
For small to midsize installations -- for which J2EE compliance is not an overriding priority -- Macromedia's ColdFusion remains the undisputed leader. ColdFusion forgoes the lure of J2EE and sticks to the basics. Its proprietary but extensible tag-based CFML (ColdFusion Markup Language) makes any developer familiar with HTML immediately productive. If you want to build reasonably sophisticated applications and get them up and running quickly, ColdFusion is a great choice. Macromedia also offers a Java-based application server, JRun, to cater to the J2EE crowd. But in terms of development simplicity and developer support, its ColdFusion is an extremely strong offering.
J2EE Compliance
The J2EE standard is gaining acceptance as a specification for the services and baseline capabilities that application servers should provide under a standard Java-based architecture. J2EE-compliant application servers let their customers run any application built to the standard. Moreover, the resulting application objects are fully interoperable with any other objects built to J2EE and running on any other J2EE-compliant application server.
Such standards compliance should reduce the total cost of ownership. Organizations embracing the standard can deploy different J2EE application servers and reduce their risk of getting locked into a particular application-server platform and having migration problems if the organizational standard for application servers changes.
There has been speculation that the growing support for J2EE will accelerate consolidation in the application-server market. That is, back-end services will become commodities that can be provided by any compliant application server. In truth, J2EE merely provides a reference for how an application server should work and the kinds of services it should provide, including a reference implementation. The way in which these services are implemented is left to the vendor.
We found considerable differences in how the application servers deliver their services. Some vendors have taken the time and effort to ensure that specified services are delivered with better flexibility and performance than a simple reference implementation can offer.
Borland's Inprise Application Server, for example, excels at the serialization of objects resulting from application queries. In addition, the company has taken pains to ensure that the product leverages the Microsoft .Net architecture, which other Java-based application servers do not take into account. Persistence's PowerTier for J2EE has an advanced distributed cache architecture that provides high performance for applications requiring rapid data-synchronization and data-access functionality (such as bid-and-response applications in an e-marketplace).
Such differentiation will remain among J2EE-compliant application servers. Therefore, the server's underlying architecture should be the critical factor when you're shopping around.
'Solution' Capabilities
Over the past year or so, we have seen a clear shift in the application-server market from a pure tools-and-infrastructure play to a full-solution approach for providing a complete e-business platform. This is a good thing: It gives organizations more out-of-the-box functionality while letting them build highly customized applications.
The larger vendors provide the best examples. For instance, along with its WebSphere Application Server, IBM offers the WebSphere Commerce Suite commerce platform, which includes the application server, a commerce engine, catalog management and personalization features. The iPlanet Application Server product family includes components for e-commerce, e-billing and payment, and portal services.
Other vendors are following similar strategies. ATG has expanded its offerings beyond its original Dynamo Application Server to offer packages for e-commerce, personalization and customer management. Web-design-tool vendor Macromedia recently merged with Allaire -- a company that offers two different application servers as well as the ColdFusion-based Spectra platform for commerce and content management.
In fact, of the vendors participating in this roundup, only Borland, Lutris and Persistence are not pursuing some sort of e-business-solution strategy in expanding their products beyond application-server capabilities. Why the keen focus on e-business? Most of the application-server vendors are searching for ways to differentiate themselves in a crowded market; adding capabilities for commerce or portal services is a natural evolution. In addition, these vendors are offering a one-stop shop for e-business needs.
Application-server vendors also have expanded the flexibility they provide in terms of development. A few years ago, nearly every application server offered an IDE (integrated development environment) and required organizations to use this environment to build applications destined for deployment on the server. Those organizations using an alternative environment could not leverage all the server's capabilities.
Because many organizations have invested in specific development environments (and trained their developers in those environments), today's application servers enable applications built with other systems to be deployed on their servers. In fact, many vendors now bundle development environments from multiple vendors, giving organizations additional choices.