First, a few basics. While a Web server and an application server can run on the same computer (though usually not) these are two quite different pieces of software. There are few Web servers in common use: Apache takes the lions share, while Microsoft Internet Information Server (IIS) and iPlanet Web Server are among the others. Application servers jumped into the limelight only about two years ago and there is a proliferation of products from companies such as BEA, iPlanet, Oracle, SilverStream, HP (Bluestone), and IBM. Microsoft doesnt have a product it labels an application server, but the BizTalk Server is similar in functionality.
Speaking of functionality, in differentiating the two servers we have to say “in general” because there are customized versions of both Web and application servers that have crossover functionality. The Web server, in general, sends Web pages to browsers as its primary function. Most Web servers also process input from users, format data, provide security, and perform other tasks. The majority of a Web servers work is to execute HTML or scripting such as Perl, JavaScript, or VBScript.
In general, an application server prepares material for the Web server — for example, gathering data from databases, applying business rules, processing security clearances, or storing the state of a users session. In some respects the term application server is misleading since the functionality isnt limited to applications. Its role is more as an aggregator and manager for data and processes used by anything running on a Web server. In fact, in the coming age of Web services, application servers will probably have an even more important role in managing service components. More on this shortly.
Where a developer typically picks a variety of tools to manage and program the Web server, most application server software is sold as a package with an integrated development environment. More often than not this is a Java environment.