The Evolution of Application Servers
Application servers will be the foundation for the next generation of enterprise applications. Every major software vendor agrees with this statement, and so do lots of smaller companies. But if you haven’t been watching closely, this assertion can seem flat-out crazy. The original intent of app servers was to address the important, but relatively humble, goal of helping customers build better Web-accessible applications. How have they become so important?
Kiva Software and NetDynamics were among the earliest vendors to become successful in this space, so they’re a good place to start tracing the evolution of this product category. Both originally provided support for building Web-accessible applications in Java and C++, then load-balancing clients across multiple copies of those applications. Both also provided some kind of fault-tolerance, allowing automatic restart of failed components. To an organization building a large e-commerce Web site, these were exactly the right services, and so the initial app server customers included companies such as E-Trade.
Then the Enterprise Java wave hit. Sun Microsystems and its partners created standards for servlets, JavaServer Pages (JSPs), and most important, Enterprise JavaBeans (EJB). Both servlets and JSPs provide Java-based mechanisms for building Web-accessible applications. EJB allows creating scalable, transaction-oriented server applications in Java. None of these standards directly address load balancing and fault tolerance, the original concerns of app servers. Yet most vendors that have implemented these technologies have done so in the context of an application server. Today, EJB in particular has become a checklist item for purchasers of app servers. Whether it makes sense or not, any product without a good EJB story isn’t seen as a real application server.
Right about here is where Microsoft comes in. As this market segment evolved to include Enterprise Java standards, it collided with what Microsoft was already offering. MTS, ASPs, and the other server-side middleware technologies in Windows NT correspond almost exactly to what is now viewed as an application server. The line between "application server" and "enterprise development environment" has been erased. This is why I’m sure you’ll be building your next generation of enterprise applications on an app server. Those apps will be three-tier, Web-accessible apps, and whatever technology you choose to build on, it’s bound to be called an application server.
If the notion of application servers had kept its original form -- software for building load-balanced and fault- tolerant Web applications -- Microsoft wouldn’t be a player in this category. Even today, the company’s biggest weakness in this area is its lack of support for application-level load balancing and fault tolerance. Yet as it is, Microsoft is seen as a major player in the app server space, a view that makes good sense given what that label now encompasses.
Some of the early entrants in this field probably aren’t especially happy with how things have evolved. Kiva and NetDynamics, now owned by Netscape and Sun respectively, have been relatively slow to add the new Java services. Somewhat unfairly, these early entrants now look a bit like late bloomers as the product category has changed.
When -- not if -- you’re making decisions about app servers, I’d encourage you to keep this evolution in mind. If all you’re looking for is a product that allows building scalable, Web-based applications using various languages, pay attention to the early entrants in this market. If, on the other hand, you want to go with a pure Java approach, companies such as WebLogic, now owned by BEA Systems, are a better option, as are newer app servers from IBM and other large players. These products were designed around the idea of supporting an Enterprise Java environment. Finally, if you’re comfortable committing to building new business logic solely on Windows NT, you’ve already made your app server decision -- you’ll be using the app server technologies that Microsoft bundles with the operating system. As always, understanding the shape of the terrain helps with choosing the best solution. --David Chappell is principal of Chappell & Associates (Minneapolis), an education and consulting firm. Contact him at firstname.lastname@example.org.