The Web Server is a piece of software located on a machine connected to the Internet that that accepts and sends replies to user requests, which are HTML documents, files, or linked objects like images. It returns all documents requested of it except those of type program like CGI scripts, JavaServer Pages (JSPs), server-side JavaScripts, and so forth. In which case, the program is activated and its parameters that were requested are passed to the client that requested them. For example, the server-side program often generates a response in form of HTML pages for viewing in a Web-browser

Every Web server must be able to respond to demand. Thus there some inexpensive tools like the Web cache that help effectively in determining the load of a Web server. Otherwise, an ineffective configuration may either lead to financial waste or ruin of e-business reputations. Therefore, a good Web cache, which is an add-on to the HTTP server and filters requests, must be able to handle requests for both static and dynamic HTML pages.

But more importantly the Web cache keeps the most frequently requested HTML pages in memory and send them clients without having to go through the usual processing. For example, some web caches allow acceleration of up to 150 times the web sites performance; storage of large files to allow more rapid transfer across the net; and distribution of load between several web servers.

Web Servers provide the presentation function for applications. The simplest use of a web server is as a portal for a company on the Internet, ensures integrity constraints are not violated, maintains system catalog, and provides recovery control. Examples of web servers may include Apache, Netscape Enterprise Server, Microsoft Internet Information Server (IIS), and so froth (Arregoces, 2006).

Apache is primarily used to serve both static content and dynamic Web pages on the World Wide Web. Many web applications are designed expecting the environment and features that Apache provides.
Apache is the web server component of the popular LAMP web server application stack, alongside MySQL, and the PHP/Perl/Python programming languages.


Oracle 9i Application Server is an application server designed to support all major Web development languages and frameworks. That is to say, a collection of services designed together to integrate seamlessly with Oracle databases and deliver content dynamically over the Web enabling organizations to benefit from the true power of the Internet by providing a reliable, scalable, and secure deployment platform.

Application Servers mainly execute the business logic function of a multitier application.  The business logic represents procedural logic necessary to implement the business requirements of the application. Most often this consists of enforcing validation rules and fetching or storing information in the database. Examples application servers include BEA Weblogic, IBM WebSpere, Oracle 9i, Apache Tomcat, Sun ONE, and so forth (Arregoces, 2006).


Oracle 9i Application Server architecture is based on Java technology. And it’s composed of an Apache HTTP Listener to execute transactions; Java components (servlet and EJB) to support multi-channel thus responding to several call coming for the same user; RMI middleware based on IIOP as its network protocol and a portal component for single entry to the Internet; and Internet cache (web cache, or iCache) for handling multiple requests, accelerating data access, and maintaining high availability.

Furthermore, the architecture offers integration with the back-office that is based on hub and spoke architecture to support communication between application server and all existing applications.  In addition, Oracle Enterprise Manger provides a single piece of software for the management off all these components mentioned above.

References:

How do Web and application servers fit into the enterprise?
By Tony Sintes, JavaWorld.com, 08/23/02


JBoss, Geronimo, or Tomcat?
Three open source Java application servers compared
By Jonathan Campbell, JavaWorld.com, 12/11/07
http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html


Is Tomcat an application server?
Learn where Tomcat fits, and doesn't, in your enterprise
By Jeff Hanson, JavaWorld.com, 01/22/08
http://www.javaworld.com/javaworld/jw-01-2008/jw-01-tomcat6.html