By Paul Harmon and Jason Matthews
A software application server is a software platform that allows a developer to field an Internet application. Ironically, an application server, even though it is usually used to field Internet applications, isn't usually an Internet server. An Internet server (or HTML server) supports Internet clients by providing them with HTML, CGI, and other Internet protocol code when requested. An application server, on the other hand, provides a platform on which one can run middle-tier business logic. Most application server packages rely on external Internet servers to pass information to clients via the Web.
This article originally appeared in the September issue of Wiesner Publishing's Software Magazine and appears on TechRepublic under a special arrangement with the publisher.
There is also an important distinction between products designed to support modest Web sites and those that support serious enterprise applications. Web site products may help provide information to people visiting a corporate Web site. Application servers are designed to support applications with transaction processing or with complex decision processing requirements and should be termed "enterprise application servers" to avoid confusion. This article will focus on the enterprise application servers.
GartnerGroup argued that as applications became more complex, developers tended to move from remote procedure call (RPC) and message-oriented middleware (MOM) products to object request brokers (ORBs), like the Object Management Group's CORBA. At the same time, as the integrity of the data became more important, developers tended to move from RPCs and MOM products to transaction processing monitors, like IBM's CICS or BEA Systems' Tuxedo. The best of both worlds, Gartner argued, would be an object transaction monitor (OTM) that combined an ORB and transaction processing (TP). In late 1997 and early 1998, OTMs were hot, and Iona's Orbix and BEA's M3 OTM were among the most popular. Both combined CORBA implementations with a transaction processing engine.
The OMG was working on a transaction processing standard in 1997 but hadn't finalized the specification, and thus, most vendors who entered the OTM market created products that combined OMG CORBA standards with some proprietary TP engines. A CORBA implementation is a collection of objects or components that implement a variety of OMG standards and protocols. In effect, a CORBA implementation is a set of component frameworks. CORBA can be quite powerful, but there is a considerable learning curve required to master CORBA systems development.
This is the first part of a two part series. Next week, the second article will look at vendors and how to evaluate enterprise application servers.
What changed in the spring of 1998 was Sun's introduction of the Enterprise JavaBean (EJB) standard. EJB is a component specification for "server-side components." It took a while for Sun and its allies to sufficiently publicize the virtues of EJBs, but gradually, developers decided that they could achieve OTM functionality by using server-side components, in conjunction with enterprise application server products designed to support those components. Thus, when most people today talk about enterprise application servers, they are really talking about EJB application servers.
There is, of course, one notable exception: Microsoft's MTS (Microsoft Transaction Server) product. Microsoft introduced MTS well before the EJB spec, and the GartnerGroup, in its original matrix, had suggested that MTS might be an OTM. In spite of its early start, and some modest attention, MTS has really only been extensively promoted by Microsoft as a way of countering Sun's EJB initiative. By 1998, Microsoft had announced its intention to integrate MTS, version 2, and COM in a new component-based TP standard referred to as COM+. The complete implementation of COM+ isn't expected to be released until Windows 2000 is released. (The current Beta version of COM+ isn't complete.) As the deadline for Windows 2000 has stretched out, Microsoft has apparently reversed course and decided to promote MTS as a standalone product, pending its integration with COM+.
In any case, MTS is only marginally an enterprise product. First, it only runs on Windows platforms. Second, it's stateless. It only provides the equivalent of EJB's session beans and doesn't have the equivalent of State beans. This isn't to say that MTS hasn't proved popular, or that Microsoft won't ship more units of MTS than EJB application server vendors ship. MTS isn't a specification, after all; it's a product incorporated in Windows NT 4.0. Those who are developing low-end OTM applications can use MTS quite effectively. In its present form, however, it isn't designed to scale up. It doesn't have any built-in load balancing mechanism and it doesn't run on non-Windows platforms.
How has the marketing of enterprise application servers affected your project planning?What would you recommend to a manager who is weighing options? Post a comment below or send us a story idea.
Serious enterprise applications require the integration of legacy applications and data running on a wide variety of platforms. Thus, in effect, enterprise application server products are EJB application server products. (Even EJB in its first iterations had trouble addressing truly heterogeneous environments, but with the addition of CORBA, the current version of EJB can easily integrate programs written in multiple languages running on any major platform.)
To clarify the current state of the software market, we've added a third dimension to Gartner's original matrix. Excepting MTS, all of the products that Gartner originally considered as OTM products were CORBA products that had integrated TP capabilities. During 1998, a number of companies explored this option and some built successful applications using this approach. Unfortunately, building these applications proved arduous—developers were forced to create lots of interfaces and linkages to handle the integration of the several different frameworks that make up a typical CORBA implementation package.
The EJB and MTS models promised a way to hide lots of the difficulties involved in building OTM applications. By 1998, most companies were looking for ways to field enterprise applications on the Internet. Thus, the combination of an Internet-oriented server component standard, like EJB, and application servers designed to provide all the needed frameworks while hiding lots of the details, proved an irresistible combination. (It has proved so irresistible in the marketplace, that BEA Systems and Iona have both found it difficult to sell their earlier OTM products. Each has subsequently bought an EJB application server vendor and introduced a new EJB application server-based OTM product.)
There's no reason not to get exactly what you want from TechRepublic. By becoming a member of the ManagerRepublic's Virtual Advisory Board, you can help guide our Web site, giving us your opinions on the topics and features you need as an elite member of the IT manager community.Member responsibilities include:
- Advising TechRepublic on topics of interest.
- Evaluating new features.
- Building the community to answer the concerns that you have.