In-Depth

Improvements mark evolving Java servers

It is EJB-friendly, J2EE 1.4-ready and has a dual-node-on-del SpecJ rating of 159.36 BOPS. And the JVM under there can hit 45,001 OPS! It has auto annealing, self-healing and a JMX starter kit rolled in, as well as a Web services API that makes that other guy look like fried road kill. What do I have to do to put you in this app server today?

No, it is not the much-vaunted Detroit Auto Show, or a showroom in East Orange or Hackensack. It is a fiend's dream view of J2EE servers on sale today. The vendors do not sell with such nutty fervor, but their techno pitches can still put one in a fuzzy state.

Much commercial server-related attention these days goes to new features of the Web services kind; just as much to enhanced established features that improve vendors' claims in a game of leapfrogging benchmarks; and plenty of attention is paid to sometimes arcane Java standard compatibility issues. The pitches of vendors become increasingly vexing as a looming J2EE revision (1.4) and the onslaught of another model season await.

So the editors at ADT thought this was enough reason to stop and kick the tires, and ask what comes standard today and how it improves on the standard app server of two years ago.

A handful of elements a number of years ago came to define the Java app server. These include servlets, Java Server Pages, Enterprise JavaBeans and other elements. Newer J2EE elements have come along subsequently, such as JMS and JMX. Together, these specs represent the basic repeatable middleware infrastructure of the Web era. These elements should, as a rule, lie outside of the realm of business logic that is specific to a company or an app.

Over the years, as middleware became more tightly defined under the Java umbrella, a slew
of J2EE server vendors gave way to a smaller sampling. Some clear leaders appear to dominate. BEA is often reputed to be at the top, with IBM -- depending on the month, analyst or the counting methods -- sometimes inching ahead; Oracle and Sun fill in the next rungs.

In this brief look at J2EE servers, we tried to focus on enhancements to standard features near or about what has become the basic J2EE engine. We left the ''up-stack'' Web services add-ons, which are generally the major area of interest for vendors, to another day, another article. We also decided to limit the ''tool talk,'' instead focusing on the runtime.

WebSphere of interest
Released last year, WebSphere App Server V5 was a significant upgrade for IBM. In a succession of previous releases, the company had quickly pulled together a variety of products. With V5, IBM could start to tout WebSphere as working off of a single code base, albeit with multiple configuration options. Formal availability was announced in November 2002.

The release was also marked by support for J2EE 1.3 Message Beans and IBM's native high-performance Java Messaging Service (JMS) implementation. V5 also supports container-managed messaging. Like others among the top rung of J2EE app server makers, IBM is increasing its focus on performance scalability and app server management, especially as it relates to reliability and availability.

Version 5 includes improvements that allow administrators to use Java Management Extensions (JMX) that record and log stats on usage and resources [see Manage Java apps for premium performance , by Peter Bochner]. Support like that is a clear sign that Java is moving toward wider, everyday enterprise deployment.

IBM posits its administrator-related improvements under the aegis of its autonomic computing initiative. The system can be set to automatically detect and resolve, some problems. This is described as a form of automatic tuning, and is associated with system self-healing and self-optimization.

''The application server has become an operating system for the network,'' said Scott Hebner, IBM's director of marketing for WebSphere. ''Now transactional capabilities become real important,'' he said.

''With WebSphere Application Server 5, we are seeing a shift in usage,'' noted Hebner. ''It's much more than just a J2EE server. It has a full complement of business integration facilities and integrated workflow. It supports clustering and multi-domain managing of server farms.

''The market is evolving into IBM's sweet spot -- high transaction environments,'' he suggested.

Looking ahead, Hebner foresees improvements in what people now call the ''choreography'' of various integrated apps. He also suggests that more advanced clustering and failover server traits will lead the way toward Grid computing, a notion forwarded by IBM and others.

BEA to the punch
BEA Systems formally released WebLogic Server 7.0 in April of last year. Improvements were made in the areas of performance, administration and operations. In keeping with the company's traditional efforts to be foremost in observing Java standards, BEA WebLogic Server 7.0 hit the street fully compliant with J2EE 1.3. State-of-the-art support is offered for EJB 2.0, J2CA and JMS.

WebLogic now supports a security framework that isolates security code from the app infrastructure software. The goal is plug-in/plug-out operations and better graphical administration. Caching improvements in the app server relieve developers from having to code caching into their applications. Meanwhile, simplified cluster wizards help admins to create new domains, clusters and configurations. Single IP addressing across a cluster is supported. Highly available JMS messaging is also a touted trait.

Last year, BEA opened its wallet to purchase its own JVM lab. In the process, it bought the JRockit Java Virtual Machine. The move betokens the increasing role of performance in Java app servers, and a desire on the manufacturer's part to ''get closer to the metal'' on which the server ultimately runs. A big aspect of the JRockit effort is to improve JVMs -- and J2EE engines -- running in Intel environments.

Like other vendors we talked with, Eric Stahl, BEA's director of product marketing for WebLogic Server, would like to point out Web services and tools advances his company has made [see What's behind BEA's big bet on tools, by Jack Vaughan] of late. But we cajoled him into focusing a bit on the more core advances. Said Stahl: ''The low-level optimization work we are doing in the lab [with JRockit] is a very compelling area to watch.''

Stahl, who indicated that the next BEA release would be out in Q1/03, said the largest area of investment in Version 7 of BEA's flagship server was around a new security framework. Count on more detail to emerge quite soon.

''We had certifiable J2EE 1.3 [compatibility],'' he noted, adding that BEA has ''always been very aggressive in shipping the latest J2EE stack.''

But it is difficult to say whether that type of drive will mean a J2EE 1.4 certifiable product out of the gate with the next server rev. J2EE 1.4, admitted Stahl, is still moving though the Java Community Process (JCP), and after standards are in place, volumes of test suites must be created and applied to commercial offerings.

Still, perhaps, with some central Java server standards already in place, a majority of Java-favoring application development managers will be able to move ahead with J2EE 1.3 applications this year, and bring on J2EE updates as they become available and popular.

Industry analyst Tony Baer, principal at onStrategies in New York City, accepts this notion. ''J2EE 1.4 improvements are incremental, filling in holes,'' he said. ''At the same time, users are not absorbing technology as fast as they used to.''

Oracle speaks
In September, Oracle delivered its Oracle 9i Application Server R2.0.3, which provides J2EE support for developing and deploying transactional systems. The server automatically recompiles servlets. Oracle 9iAS R2.0.3 supports JTA for transaction management, offering two-phase commit for both Oracle and non-Oracle DBs.

For persistence, Oracle's app server can auto-generate mapping between an EJB and the database. It supports three levels of clustering that include Web cache clusters. Application failover is also supported.

''We've done a lot of optimizations for Java object caching, as well as to our Web cache, which is, in our case, the Apache server,'' noted John Magee, vice president, development tools at Oracle. Caching frequently requested pages in memory has value as JSP growth increases, he said.

Oracle recently announced some of the elements to be expected in a 2003 version. Like its chief competitors, Oracle is making significant product moves in the area of manageability.

''Managing clusters is the focus of our next release,'' Magee explained. ''We want to get mainframe levels of scalability and maintainability, but on clustered configurations of [rack-mount] hardware.

''We want you to be able to manage it all as if it were a single configuration,'' he said.

Sun hasn't set
Although it originated Java, Sun Microsystems has seen a general decline in its app server market share over the years, as it sought to integrate a diverse code base purchased along with several then-prominent servers (such as NetDynamics, Kiva and Netscape) in the 1990s.

Its complicated iPlanet marketing escapade with AOL/Netscape has ended, and the company claims a new focus and a single code base, as well as J2EE 1.3 certification, with its latest server versions. That means Java Server Pages (JSP) 1.2, Servlet 2.3, EJB 2.0 and Message Driven Bean (MDB) support.

Sun has placed attention on a bundling of an entry-level J2EE server to be offered along with its Solaris OS. In late October, the company formally released SunONE Application Server 7. Its Standard Edition includes operation management capabilities such as remote administration and monitoring for larger scale administrative domains. The company heralds new Web service traits, and touts its JAX-RPC implementation as especially speedy.

''We support full-blown J2EE based on the 1.3 reference implementation. But really, at the low end, we found a lot of people are doing JSPs, servlets and Web services,'' said Rick Schultz, group product manager, SunONE. ''And we did a lot of tweaking with this release on that.'' Looking ahead, Shultz indicated that high-availability clustering capabilities, including self-diagnosing/self-correcting software, may be expected in a future rev of the Sun app server. Advanced skills were gained in this area when Sun purchased Clustra Systems Inc., Oakland, Calif., a year ago.

At times, hardware mainstay/app server maker Sun is in an interesting position with partner/competitor BEA. The same can be said of Sun in relation to Oracle. Many BEA and Oracle app servers ship on the Sun OS-hardware combo. In January, Sun began shipping an evaluation version of BEA WebLogic Server 7.0 with its Solaris 9 Operating Environment System Administrator's Kit as an alternative to its own SunONE app server.

Up-stack lightning
There are similarities among the basic app server products, which is natural when standards are in play. But a look at the details shows slightly different courses, or areas of focus, among the offerings of Sun, Novell, IBM, BEA and Oracle.

Unique J2EE server courses are also pursued by others like Macromedia, Compuware, Sybase and Novell -- some of a few still in the once-overcrowded business.

For its part, Compuware has increasingly focused on its OptimalJ offering as a design environment, featuring its support for the Model Driven Architecture (MDA) and Java design patterns. Macromedia, with its JRun product, forged a new path recently, as it deployed its J2EE app server on the Apple platform [see the related story ''J2EE sighted on planet Apple'']. Sybase continues to boost the ease of deployment designed into its EA Server. With the upcoming EAServer 4.2, Sybase looks to add lightweight EJB container support for batched or deferred updates, a new thread monitor and advanced object caching optimized for container-managed persistence.

Last July, with the formal acquisition of SilverStream, commercial network operating system originator Novell gained SilverStream eXtend, which it is positioning as a Web services development platform. At the same time, Novell entered the J2EE game -- after a fashion. Within eXtend is a J2EE 1.3 app server supporting EJB 2.0, JCA 1.0, JMS 1.0.2 and JSP 1.2.

Novell missed the J2EE app server boat, but, said Misha Davidson, the company's eXtend product manager, ''Web services is a chance to get back to it.''

Like leaders at other app server vendors, the management of the former SilverStream had decided to move up the stack -- into portals, integration and Web services -- before taking the plunge with Novell. As such, it is committing to support other base application servers as well. ''The frameworks we use are completely independent of the core app server,'' said Davidson.

For many buyers who find that staying close to the base J2EE stack is a good fit, the JBoss open-source server has found a home. Commercial vendors of various up-stack Web services software may be counted upon to follow WebMethods' recent lead in implementing a JBoss runtime as part of a larger product offering.

If some of the vendors' public pronouncements somewhat overstate differences in products, there is still a good amount of room to differentiate these products. The products tend to reflect a programming style, or a corporate software style. Very likely, the app server lineup is due for another shakeup, as more Java-oriented Web services implementations step forward and as J2EE 1.4 begins to appear in showrooms everywhere.

 

J2EE sighted on planet Apple
By Jack Vaughan

Java was initially touted as a cross-platform computing solution. In fact, the Java Virtual Machine has appeared on a large number of enterprise platforms. But, perhaps due to general server-side issues with the Apple OS, a commercial J2EE application server has been slow to appear on the vaunted Apple platform.

That changed in January as Macromedia Inc. announced the immediate availability of Macromedia JRun 4 for Mac OS X. JRun 4, which became part of the Macromedia arsenal with its 2001 purchase of Allaire Corp., is a J2EE-compatible application server. The announcement occurred as part of the MacWorld Expo in San Francisco.

This is, of course, good news for developers committed to the Apple platform. They have been, for the most part, on the bench as server-centric middleware methods have flowered. Moreover, some players say, JRun 4 for Mac OS X could provide a low-cost alternative to some pricey Java servers now running on Unix or Windows. The product should come in at well under $1,000. Still, it is early in Apple's server-side marketing and partnering effort.

For its part, Apple has offered its WebObjects Java app server, gained through the purchase of NeXT Computer, for a number of years. That has proved to be something of a specialist's game, and its future is threatened by moves like Macromedia's.

''We're seeing requests come in from various types of organizations,'' noted Dan Murphy, senior product marketing manager for Macromedia's JRun. He pointed to developers in education and government as potential early adopters.

Much of this is made possible by Apple's long-brewing operating system update. ''It opens up a new opportunity for us to move into a space primed for growth. OS X is based on BSD Unix. It has stability and ease of use,'' Murphy said.

''Clearly, JRun will help Apple with its push into the server market,'' said Simson Garfinkel, a software industry expert and founder of Sandstorm Enterprises, Cambridge, Mass. ''Unfortunately,'' he added, ''Apple's rack-mount systems are still too expensive to be seriously considered by most customers. Customers need both industry-standard applications and hardware that's price-competitive.''

The Macromedia move is endorsed by user Geoffrey Corb, VP of systems development at New York-based Web application house Synergenic LLC. ''I think it is an idea whose time has come,'' he said. He added that he sees Apple's 1U rack-mount server offering, which may be the first home for many JRun 4 for Mac deployments, as ''impressive.''

''We are a Java shop,'' said Corb, ''So we need an app server to deliver our wares.'' He said the JRun 4 for Mac option will be apprised when clients have not already ''dictated their architecture.''

Synergenic's decision to provide JRun involves issues of support, explained Corb. The solution may not be as inexpensive as a combination of Linux and Java-oriented open-source solutions, he noted, but having a commercial product supported by ''someone you can call'' is important.

At the same time as the JRun 4 for Mac OS X announcement, Macromedia announced that the developer edition of Macromedia ColdFusion MX for J2EE Application Servers now supports Mac OS X. ColdFusion MX for J2EE Application Servers supports Macromedia's (formerly Allaire's) ColdFusion scripting for J2EE application servers, including JRun 4 for Mac OS X.

 

A sampling of Java application servers
Compiled by Lana Gates

BEA Systems Inc., San Jose, Calif .
www.bea.com
BEA WebLogic Server 7.0 -- Eases application development and operations, strengthens enterprise Web services and security framework, and helps to reduce total cost of ownership.


Compuware Corp., Detroit, Mich .
www.compuware.com
Compuware OptimalJ -- Advanced J2EE application development environment that supports all leading application servers.


IBM Corp., Armonk, N.Y.
www.ibm.com
IBM WebSphere Application Server Version 5 -- Offers advanced capabilities for Web services while providing a secure, scalable and transaction-intensive infrastructure.


JBoss Group, Atlanta, Ga.
www.jboss.org
JBoss -- Open-source-developed application framework to build a cutting-edge J2EE-based server.


Macromedia, San Francisco, Calif.
www.macromedia.com
Macromedia JRun 4 -- Simplifies and speeds application development and deployment with hot modification, auto deployment, auto deployment description and code generation.


Novell Inc., Provo, Utah
www.novell.com
Novell eXtend Application Server -- Provides a complete, easy-to-use foundation for building and deploying cross-platform, high-performance J2EE and Web service-based applications for enterprise.


Oracle Corp., Redwood Shores, Calif.
www.oracle.com
Oracle9i Application Server -- A complete and integrated J2EE 1.3 platform with built-in enterprise portal software, caching, rapid application development, Web services, and app and business integration.


Sun Microsystems Inc., Santa Clara, Calif.
www.sun.com
SunONE Application Server 7 -- Provides a J2EE 1.3-compatible platform for developing and delivering Java Web services; integrates an application development environment with SunONE Studio 4 IDE.