Application servers



“Application servers [stand poised to become] the primary staging areas for application development, deployment and integration.”
Price Waterhouse Technology Forecast

“In many ways, Microsoft is right not have distinguished between the operating system and the deployment platform. It provides an unnecessary layer of complexity.”
Rob Hailstone, analyst, IDC

“Selection between .NET and J2EE [application server] vendors depends on existing infrastructure, application requirements and IT skills, not on features.”
Analyst group AMR



The application server (AS) is one of the most important, but most difficult to define, technologies in modern business software. This is partly because of technical complexity and confusing marketing; but equally, it is because the AS has been changing rapidly – and growing in importance – ever since it was first introduced (in the modern sense) in 1997 along with Sun Microsystem’s Enterprise Java Beans (EJB) specification.

At one time, only programmers really needed to understand what an AS did. But major suppliers such as BEA (the market leader) and IBM have developed so many features around the core product that the AS is now, arguably, as important as applications themselves, or the database or the operating system. It is also increasingly used to deliver or manage many important functions, such as web services, business intelligence, portals and enterprise application integration (EAI).


What is an application server?

An application server (AS) is a core and arguably a vital sub-system for building modern, distributed applications – those that use regular, reusable components, that may run across several systems or applications, and that deliver some part of their function through web browsers.

Most application servers are primarily software ‘containers’ for hosting and running Enterprise Java Beans. These are self-contained components, developed using the Java programming language, which programmers can plug together to build enterprise applications. Unlike Java Beans, which run in a special interpreter called a Java Virtual Machine (JVM) on a single machine, EJBs can use functions from many distributed systems. In order to do this, they must run on an AS – the server equivalent of the JVM.

Correctly specified EJBs are able to utilise services provided by the AS – such as load balancing, transaction processing (real-time interactions with back-end systems), session management (maintaining connections without losing data and so on), messaging and, increasingly, much more.

Because these services are provided by the AS, programmers do not have to worry about them. That makes application development much easier.

It also means that, as long as the technical specifications are followed, software developers can add new components or EJBs, which can be used (or re-used) whenever new applications are developed.

AS providers and their partners increasingly provide a library of EJBs, making complex application development much easier. They are also adding more and more facilities to the underlying capabilities of their products – such as the ability to call in and manage web services, and to integrate with and exchange data with major commercial applications, such as SAP ERP or Siebel CRM.




Function rich

Most application servers can:

assets bin source summary_source tmp Handle transaction processing and queuing assets bin source summary_source tmp Manage user sessions assets bin source summary_source tmp Balance loads and allocate resources between servers running the same components assets bin source summary_source tmp Handle basic security assets bin source summary_source tmp Manage threading (where several applications run and interoperate) assets bin source summary_source tmp Automate all forms of Internet access assets bin source summary_source tmp Provide access to application databases and caches assets bin source summary_source tmp Access non-Java applications assets bin source summary_source tmp Provide some application management

The more sophisticated application servers may:

assets bin source summary_source tmp Provide web page server facilities *Provide a development environment assets bin source summary_source tmp Support specialist or vertical market functions assets bin source summary_source tmp Support and manage web services standards assets bin source summary_source tmp Provide application integration tools and adapters assets bin source summary_source tmp Provide workflow and process management tools assets bin source summary_source tmp Provide tools for building portals and personalisation

An additional set of functions may be carried out by associated (and, therefore, separately chargeable) programs, or through alliances with other software suppliers.

The application server business model

Many suppliers, including BEA and IBM, don’t charge for their application servers. The code can be accessed on a low-cost CD or downloaded from their websites.

That is because the business model of the applications server (AS) providers is increasingly to charge run-time fees to application developers who make use of the AS in their programs. Typically, a user will pay according to the size of the processor or some kind of usage fee.

This is a powerful model that explains why the suppliers are battling it out to gain supremacy: web application developers will effectively pay the AS supplier an annuity for as long as the application is used. In addition, suppliers can sell extra products (such as development and management tools) and implementation services.

Theoretically, any Enterprise Java application written for one AS should run on another, enabling the user to switch at any time. In practice, this is rarely the case; standards are not mature and there is little commercial incentive for the leading suppliers to make it easier to switch.

Although many open source application servers are available, the high number of downloads has not been matched by commercial implementations.




The application server suppliers

The application server (AS) has become such a pivotal piece of software in the enterprise that almost all the big suppliers are trying to dominate the market, regardless of whether they actually make money from selling the basic tools. The suppliers can be grouped into three main categories.

Category One: The infrastructure and middleware software giants, which tend to provide a very rich set of functions and associated products. These include IBM, with its WebSphere Application Server suite; BEA, with WebLogic; Sun, with iPlanet; and Oracle, with Oracle 9iAS.

Microsoft takes a different approach, in that its whole approach is based on .Net, or common object model (DCOM) components, not J2EE. Microsoft distributes the functions of the AS across the network, with many functions incorporated into the Windows operating system. J2EE and .NET systems can interoperate.

Hewlett Packard pulled out of the market in 2002 to focus on management tools. It now resells BEA WebLogic and Microsoft products.

Category Two: Other players outside the top tier. These include Novell, which acquired Silverstream in 2002 and now focuses largely on web services development and management; ATG, which specialises in ecommerce applications and Sybase (EA Server). This group also includes integration vendors such as Iona and SeeBeyond, which is re-positioning its integration tools around a J2EE environment. Some application suppliers, such as SAP, provide their own application servers.

Category Three: Open source products, which vary widely in focus and quality. These include Jakarta TomCat, linked to the Apache web server; the popular Jboss; Lutris Enhydra; ObjectWeb; and Zope.



Avatar photo

Ben Rossi

Ben was Vitesse Media's editorial director, leading content creation and editorial strategy across all Vitesse products, including its market-leading B2B and consumer magazines, websites, research and...

Related Topics