IBMs WebSphere Application Server 5.0 provides close to the latest in Java technologies, along with Web services, performance and manageability improvements that make the server attractive as a key enterprise infrastructure component.
WebSphere and BEA Systems Inc.s BEA WebLogic Server shared—almost equally—65 percent of the Java application server market in 2001, with Sun Microsystems Inc.s Sun ONE (Open Net Environment) Application Server coming in at 9 percent, according to statistics from Gartner Dataquest. Gartners figures do not include Oracle Corp.s Oracle9i Application Server because it is part of a bundle that includes non-application-server products; if it were included, Oracle would bump Sun out of third place.
WebSphere lags behind both WebLogic and Oracle9i in getting new Java technologies to market, but it has the best administration tools and overall polish of the bunch. Its also the core of some high-volume sites: eBay Inc.s auction pages, for example, run on WebSphere.
All four application servers are now compatible with the latest J2EE (Java 2 Enterprise Edition) 1.3 standard. Organizations pushing the Java envelope, however, will find WebLogic their best bet. eWeek Labs expects WebLogic to be the first out of the gate early this year with a J2EE 1.4- compatible product. Meanwhile, WebSphere is just gaining J2EE 1.3 support with Version 5.0. WebSphere also uses (and requires) the IBM-developed Java 1.3.1 virtual machine, which is one point release behind the current 1.4 Java virtual machine specification.
Oracle9i is distinctive for its strong caching features, and IBM catches up to Oracle with WebSphere 5.0s inclusion of an HTTP load balancing and caching server. Good thing, because nows the time to start thinking of four-tier, instead of three-tier, application designs for high-volume applications: database, application server, Web server and caching/content distribution server.
BEA offers EJB (Enterprise JavaBeans) caching and JSP (JavaServer Pages) fragment caching through a fragment-caching API, but its capabilities arent as sophisticated as the multilevel caching features that Oracle9i and now WebSphere offer.
There are three versions of WebSphere currently available. A low-end WebSphere Express costs $2,000 per CPU but supports only JSP and Java Servlet applications, not the full J2EE specification. WebSphere Application Server 5.0 is the full J2EE 1.3 product and costs $8,000 per CPU.
WebSphere Application Server Network Deployment 5.0 (the version we tested) gains clustering, load balancing, failover features, and a WebSphere session-aware HTTP caching and load balancing server. It also includes performance analysis tools, a UDDI (Universal Description, Discovery and Integration) server and a Web services proxy agent for forwarding Web services requests through firewalls without having to expose the application server to the outside world (a very good idea). In addition, Version 5.0 offers copies of DB2 and IBM Directory Server licensed just for use with WebSphere data. Network Deployment costs $12,000 per CPU; with its strong Web services and reliability features, its the one to get for critical applications.
WebSpheres prices are midrange for enterprise Java application servers. These versions of WebSphere 5.0 started shipping at the end of November and run on AIX, HP-UX, Linux, OS/400, Suns Solaris, Windows and zOS. They all also have plug-ins for all the major Web servers. (An IBM-branded version of The Apache Software Groups Apache HTTP Server 1.3.26 is included with WebSphere.)
WebSphere Application Server Enterprise Edition will include Web services workflow, application profiling and a business rules framework, among other features, and is due this quarter. Pricing hasnt been announced yet.
Edge Components—the HTTP caching and load balancing server—is now integrated into WebSphere; it is WebSphere session-aware in its load balancing and can make caching decisions based on parameters to JSP pages. It can also perform fragment caching for JSP pages and supports the Edge Side Includes markup language for integration with content delivery vendors such as Akamai Technologies Inc.
WebSphere also has EJB and JSP page caching in the server itself, so there are many ways to use caching to speed performance.
The application server is now simpler to set up and has stronger fault tolerance because it no longer depends on a central administration server and database repository to operate.
Instead of using a database, WebSphere now stores its configuration in XML files in the local file system. There is still a central administration server thats part of Network Deployment; we used its Administrative Console to add WebSphere servers to a cluster. It provided us with a central place to make changes and deploy applications, which it then propagated to member servers (a file replication service is built in for this purpose).
However, if the administration server fails, all the member servers can be run, started and otherwise operate normally using their local copies of settings and applications. When configured for fault-tolerant operation, session-state information is propagated directly among member servers using an in-memory replication protocol.
The load balancing algorithm used by WebSphere is also more flexible: Version 4.0 allowed only round-robin load balancing, whereas Version 5.0 supports a weighted round-robin algorithm so that heterogeneous clusters can be accommodated. A dynamic load balancing scheme that looks at real-time server statistics should be the next step forward.
Another addition wed like to see is a mechanism for updating EJB and classes without a loss of session information. Most code changes dont require an EJB module restart to deploy in WebSphere 5.0 (one exception is remapping fields in a container- managed entity bean), but an update will cause state information in instantiated objects that are replaced to be lost. The next version of WebSphere will have versioning features that will allow existing request queues to drain before swapping in new versions of objects, according to Jerry Cuomo, chief technology officer for WebSphere, in Research Triangle Park, N.C.
WebSphere has a complete set of administration and management tools. We could choose the Web-based administration tool, command-line equivalents or Java build tool Ant tasks. The included Tivoli Performance Viewer provides detailed performance statistics (down to the individual bean and method level) in table or chart format and can log statistics to disk in either XML or binary format.
WebSphere also includes an Application Assembly Tool to create or edit application deployment descriptors for those who dont choose to do this in their development tool. IBMs WebSphere Studio Enterprise Developer is IBMs increasingly competitive option in this space. (See eWeek Labs Nov. 11 review at www.eweek.com/links.)
West Coast Technical Director Timothy is at email@example.com.