In-Depth
Application servers come into focus
- By Jason J. Meserve
- June 19, 2001
Three-tier and multi-tier computing has been
a goal dating back to the first Client/ Server Age. As client/ server
systems rolled out in the early '90s, it became clear that application
developers and system designers needed a means of separating data, business
logic and presentation.
With the use of the Web, intranet and Internet technologies in corporate
computing, such n-tier computing is beginning to become a reality for companies
and applications of all sizes. Leading the way are a number of vendors that
have entered the vaguely defined application server market space with varying
degrees of Java support. But this market may now be coming into focus.
Increasingly, application servers can be thought of as definable portions of
middleware used to store application logic, integrate multiple back-end
databases and legacy systems, and serve multiple client types, be they Web
browsers or traditional desktop applications.
How does this work in practice? New York City-based Time Warner's
Book-of-the-Month Club (BOMC), for example, saw the benefits of application
servers on its internal corporate network even before the now-common phrase
'intranet' had been coined. According to Brad Reisner, director of technology
and development at BOMC, the company had (and still has) a large population of
Macintosh users that needed access to central corporate systems that were
accessible by PC only.
"There were a few harebrained ideas like running Soft Windows on each
machine, but the cost was too high," Reisner said.
Book-of-the-Month Club already had an Oracle Corp. database in-house, so
they asked the Redwood Shores, Calif.-based firm if they could use Version 7's
Web technology inside the office, not necessarily over the Internet. "The
Oracle Application Server allows us to get data in our Oracle databases and
gives us a way to tie into those databases with Netscape," Reisner said.
"Everyone wanted Netscape."
A fledgling intranet was just the beginning. Today, the company uses
Oracle's Application Server technology as the base for three major E-commerce
applications that serve more than 4 million BOMC members and draw some 2.25
million hits per month. While Reisner still prefers to use a text editor for
his development work, he is pleased with Oracle's application management
capabilities.
Things change quickly
When Application Development Trends reviewed the subject of application
servers earlier this year [see "Web, Web everywhere," January 1998,
p. 51], there were only a handful of vendors with such offerings, most of which
were start-ups focusing mainly on the Web. These companies included WebLogic,
Bluestone Software, Kiva Software and NetDynamics.
As with most Internet-related technologies, things have changed quickly in
the application server space. Sun Microsystems Inc., Palo Alto, Calif., is in
the process of closing a deal to buy privately held NetDynamics Inc., Menlo
Park, Calif., while Kiva Software was scooped up by Mountain View, Calif.-based
Netscape Communications Corp. earlier this year. Some pundits have pointed to
these acquisitions as evidence that the market is not strong enough to support
vendors with a sole focus on application servers. Others see this as a sign
that it is now mainstream technology.
Since the beginning of 1998, there have been announcements from many
vendors, big and small, touting new application server offerings. The father of
modern computing, IBM, takes another step forward this month with its new
WebSphere offering, which is said to augment standard Apache Web servers with
support for application logic. IBM also has Lotus' Domino line as part of its
many middle-tier offerings, and partnership agreements with some third-party
application server vendors. Oracle is in the process of releasing Version 4.0
of its application server. Bluestone Software Inc., Mount Laurel, N.J., and
WebLogic Inc., San Francisco, have beefed up their respective offerings with a
number of features, most notably support for the new Enterprise JavaBeans
(EJBs) standard.
And there is more: Secant, Novera, Vision, Allaire, Prolifics, Progress and
others are also offering some type of application server strategy to users.
[For more on Enterprise JavaBeans, see "Java component dream gains steam,"
Application Development Trends, June 1998, p. 29.]
Where the first incarnations of application servers typically targeted
browser and Java clients only, vendors today are targeting multiple-client
support on multiple platforms.
"We don't believe client/ server is going away," said Steve
Clark, vice president, enterprise application platform, Sybase Corp.,
Emeryville, Calif. "We now have a single environment for client/server and
Web-based distributed applications."
A good characterization of the market can be seen in recent announcements
from Inprise Corp. (formerly Borland), Scotts Valley, Calif., and Sybase. In
the same week, the firms launched very similar plans for an application server
architecture that includes tight integration with their respective individual
tool offerings.
Sybase is combining its dynamic HTML page-generation product, PowerDynamo,
with its Jaguar Component Transaction Server (CTS) to form an Enterprise
Application Server (EAS) offering that is due later this quarter. EAS allows
for the development of both transaction and page-centric applications under a
single server. Milestone number one for the product will be the release of
Jaguar CTS 2.0 with support for the Corba 2.2 standard, as well as the
accompanying IIOP protocol.
According to Sybase, its application server will be tightly integrated with
its flagship PowerBuilder and PowerJ products. With the imminent release of the
Enterprise Application Studio, all three products will be packaged together
along with application management tools to give users a complete solution for
deploying applications. The Sybase road map, code-named Vineyard, features
access for data residing anywhere in the enterprise and provides a single point
of control for developing, deploying and debugging distributed components in a
single environment.
"We will support all databases, and all object and component
models," said Sybase co-CEO Mitchell Kertzman at the firm's annual
Powersoft User Conference in Los Angeles. "We integrate all the
technologies [so developers] can use them as appropriate to deliver value to
the customer."
Inprise's announced application server strategy follows a similar theme:
tight integration with the company's own tools, support for multiple component
types and, ultimately, a single environment for building, debugging and
managing distributed applications. Inprise, which acquired middleware object
request broker (ORB) vendor Visigenic late last year, is finally seeing the
fruits of its purchase with the planned release of Internet Transaction Server,
which will ultimately become part of the company's application server offering.
Beginning with its JBuilder development tool, Inprise will closely tie its
tool lines into its architecture. "If you look at all of our tools, we
address cross-pollination," said Joe Nicholson, director of enterprise
tools at Inprise. "As we go forward, we'll take the best parts of
[individual] products and migrate them to others."
Both firms are looking to leverage desktop clients, as well as Web-based
users, with support for all client types -- thin and thick.
Current Sybase users are looking forward to the new application server
strategy. Kent Coffel, a senior programmer analyst at St. Louis-based Maritz
Inc.'s travel division, said he is currently using Sybase's PowerDynamo product
but hopes to quickly evaluate the new application server. Maritz builds travel
Web sites for hundreds of trade shows in short periods of time. Coffel said
PowerDynamo is limited in that it can only use simple components like stored
procedures. "Logic beyond stored procedures is difficult to get to,"
Coffel explained.
Maritz has large, in-house applications built with PowerBuilder that
contain 70 to 80 libraries and 300 to 400 tables. "We can take a lot of
the business logic and put it in [EAS]," explained Coffel. "There, it
will be available to PowerBuilder and PowerDynamo. We can leverage out to a
number of environments whenever we need to."
Because Web sites for trade shows must be built quickly, code and component
reuse is especially important to Coffel and his fellow programmers. "We
struggle for code reuse," he said. "We want to use the least amount
of time to develop an application and don't want to have to reinvent the wheel
each time."
Coffel believes middleware and application servers take logic and allow it
to be used in many places. "Object reuse becomes practical," he
added.
What is it?
Though Sybase and Inprise seem to have similar strategies when it comes to
application server architectures, the market as a whole is still scatter-shot.
The market is plagued by the absence of meaningful product categories, or
market sub-segments, commented John Rymer of Upstream Consulting, Emeryville,
Calif. In his white paper "Charting the Application Server Market,"
Rymer notes that analysts and journalists present the market as a relatively
undifferentiated collection of products that are all designed to provide
browser access to databases and other corporate information.
Rymer's observations are true in that a lot of ink, paper and bytes have
been dedicated to the subject in recent months, yet all of the players still
seem to be lumped into the same category. Of course, most vendors will argue
that they belong in the category of most esteem, making categorization
subjective at best.
Why the sudden proliferation in the market? "Middleware had been
cluttered and confused," said Jonathan Schwartz for Sun. "We [Sun]
were not strong in the segment previously, but there have been two solutions
that opened new doors."
Schwartz believes that Java on the server provides a technology, platform
and language that everyone agrees on. Secondly, the Internet, for the most
part, is made up of communication standards, such as TCP/IP and HTTP, that are
simple, agreed upon and open. This has made the middle tier accessible to
seemingly anyone with a development tool.
To make things more difficult, not all application servers manifest
themselves in the same way as part of a distributed system. Some run as if they
are an operating system unto themselves on their own box, with all of the
functionality active whether it is needed or not by the application(s) it is
serving. Others sit alongside the Web server and act as a liaison between data
and client. Still other servers spawn just the necessary services to support
the given application's requirements.
For some vendors, the application server is just a logical extension of the
development environment, designed to help get applications out the door
quickly. "We don't position ourselves as an application server vendor,
that's only one piece," said Devi Gupta, director of product management
for Prolifics Corp., New York City. "We see ourselves as an integrated
development environment with an application server."
Oakland, Calif.-based Forté Software Inc., the company that claims
to have coined the phrase 'application server,' has followed a path similar to
that of Prolifics. "We haven't marketed ourselves as a discrete
application server, it is just part of our offering," said David Tabor,
Forté's vice president of marketing. "The Forté runtime is
an application server." While Forté supports the Java language,
Tabor is among those who question how soon pure Java application servers can
flourish. "Hybrid applications will be part of life," he said,
"Java end-to-end will not be a reality in this century at least."
Despite the confusion over how the application server market should be
segmented, the ultimate goal of the general architecture is to simplify
development, deployment and management of business logic and services in a
distributed manner. Most, if not all, of the server offerings are designed to
hide the plumbing from the developer. Developers should not have to worry about
the communications layer, back-end connections to external data sources,
session management, connection pooling, and other mundane tasks and services
associated with a distributed application.
Performance and scalability of application servers is still a hotly debated
issue in the application server community. Most vendors claim that their
product scales infinitely, but given the immaturity of many of the products and
the architecture itself, it is hard to prove. Virtually all of the vendors in
the space either offer or are planning to offer load balancing, fail-over and
clustering support within their architectures. And while those features may be
a competitive advantage today, it will be just a commodity tomorrow.
"Fault tolerance is mission critical," said Joel Nylund,
principal of the AMS Center for Advance Technology (AMSCAT), a large consulting
firm and system integrator based in Fairfax, Va. "We are hoping for and
cautiously approaching these technologies."
Corba vs. COM/DCOM
In middleware circles there has been a lot of discussion revolving around
the COM vs. Corba (or Microsoft vs. the World) component architecture debate.
The majority of application server vendors are making their first play toward
the Corba/IIOP standard because it is supported by all the major platforms,
whereas COM/DCOM is only found natively in the Windows platform. Corba is also
linked closely with Java, which has made major inroads to the middle tier via
the application server.
Client/server veteran Forté sees about 60% of its customer base
implementing Corba-based solutions, said the firm's Tabor, compared to only 23%
implementing DCOM-based solutions.
Progress Software Corp., Bedford, Mass., is moving toward becoming Corba
com-pliant in its new enterprise application server strategy, code-named
Skywalker. While the company is planning Corba support throughout its tool and
server line, it is not going to leave its many Microsoft-centric customers left
standing in the cold. According to Joe Gabriel, Progress' distributed computing
project manager, the company plans to utilize COM/Corba bridging technology to
jump the gap. "That's the strategy we are thinking about going with to
allow communication between the two architectures," said Gabriel.
With Microsoft jumping partially into the application server battle with
the release of its Microsoft Transaction Server (MTS) and the explosion of
Windows NT Server in corporate America, COM/ DCOM cannot be ignored. If not
supported natively, most vendors, like Progress, plan to support COM with some
sort of bridging/interoperability technology.
Java in the middle
When Java first hit the scene with its "write once, run anywhere"
mantra, most observers figured it to be a shoe-in to take over client-side
programming. But performance and portability issues took the luster off of
Java's client-side shine. The focus for Java has now shifted, with application
server vendors driving it into the middle tier.
Sun's Enterprise JavaBean 1.0 specification released last March is tailored
to the application server, as it encapsulates business logic into reusable and
portable components. The specification also takes care of the majority of
communications plumbing tasks, allowing developers to concentrate on business
logic. In the seven months since the EJB specification's release, only four
companies have released servers with full EJB support: WebLogic, with Tengah
3.1; Persistence Software Inc., San Mateo, Calif., with PowerTier for EJB;
Bluestone Software and its Sapphire/Web product; and Secant Technologies Inc.,
Cleveland, and its Secant Extreme Enterprise Server.
"[The EJB] standards have to be met," said John Capobianco,
Bluestone's vice president of marketing. "If you build your own
application to run in our server, as long as it matches the standard, it could
work with other [EJB servers]."
Given the limited number of EJB servers currently on the market -- there is
more support for the specification coming down the line -- it is tough to
determine if an application built with one server would work with another.
Capobianco would love to exchange test applications with one of Bluestone's
competitors, such as WebLogic, in order to test the validity of EJB
portability.
Some observers expect Java compatibility, like early Corba compatibility,
to remain somewhat elusive. "Try as they might, these systems are somewhat
proprietary," said Larry Perlstein, an analyst with Stamford, Conn.-based
Gartner Group's Dataquest Division. "Even though [application servers] are
based on open standards, the odds of taking, for example, [applications] built
on Inprise over to Oracle are slim."
Java on the server is not only manifested in the form of beans. A number of
other vendors are pushing Java servers, including Novera Software Inc.,
Burlington, Mass.; Vision Software Tools Inc., Oakland, Calif.;
Sun/NetDynamics; Inprise; Sybase; GemStone Systems Inc., Beaverton, Ore.;
SilverStream Software Inc., Burlington, Mass.; and Netscape. What varies is the
level of support. Vision, SilverStream, GemStone (with its GemStone/J product)
and Novera have placed all of their proverbial eggs in the Java basket on the
server side.
The IDEs have it
While some vendors emphasize that they are development environment vendors
first, and the server is merely an extension of their development process and
runtime environment -- some tools vendors are placing more emphasis on the
application servers that their tools deploy. Companies such as Inprise, Sybase
and IBM are attempting to tie their existing tool lines into their new
application server architectures. While they still consider themselves open to
development with other tools, they tend to note that deployment and debugging
will be easier if one uses tools from the same vendor as their application
server.
On the flip side are Novera, Secant, WebLogic and a host of smaller tool
vendors that are independent and allow developers to use the environment of
their choice. One of the major tool vendors to remain application server
agnostic is Symantec Corp., Cupertino, Calif. Symantec does not plan to offer
any type of application server, and instead looks to support all
Java-compatible servers with its Visual Café for Java product line.
But do developers gain any advantage by having a tool integrated with their
choice of application server? "From a programmer's perspective it is good
for productivity to have tight integration," Dataquest's Perlstein said.
"But there is a trade-off on which vendors are able to do everything
well." Some are good at tools, he indicated, while others are good at
other things (read: servers).
Integration was one key for software consultancy Noblestar. When Consulting
Manager Gia Nguyen and his colleagues at the Falls Church, Va.-based firm were
hired by Hartford Steam Boiler Reliability Technologies (HSBRT) to develop an
online preventative maintenance database, the company chose the SilverStream
environment to get the job done quickly. "With the [SilverStream]
application server and toolset we were able complete the project in a month and
a half, before the scheduled rollout date," Nguyen said.
Noblestar looked at NetDynamics as well, but the learning curve was easier
with SilverStream, said Nguyen. Noblestar chose Java because of HSBRT's need to
integrate SAP data into the new online system. Since SAP is in the process of
making its APIs Java accessible, it made the language an apt choice. Nguyen was
also impressed with SilverStream's ability to use the same business logic to
deploy both Java- and HTML-based front ends, something that was important to
the HSBRT project.
Bear or bull?
As with the stock market -- at least until recently -- the application
server market seems decidedly bullish. "The application server market
sounds a lot like the client/server market of the early Nineties," added
Bluestone's Capobianco. "It's a hot market; everyone's buying, so everyone
is doing well. There seems to be a lot of speculation."
For now, we should remain in an application server bull
market for the next 18 to 24 months according to most pundits. By then, with
the rate of change in the Internet market, there could be a new technology
taking the market by storm and we could be looking at application servers the
way we look at client/server today.