In-Depth

Application servers come into focus

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.