In-Depth
Improvements mark evolving Java servers
- By Jack Vaughan
- January 31, 2003
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.