Search This Blog

Wednesday, December 21, 2005

What is the difference between Web Server and Application server?

Webserver serves pages for viewing in web browser, application server provides exposes business logic for client applications through various protocols

Webserver exclusively handles http requests. application server serves business logic to application programs through any number of protocols.

Webserver delegation model is fairly simple, when the request comes into the webserver, it simply passes the request to the program best able to handle it (Server side program). It may not support transactions and database connection pooling.

Application server is more capable of dynamic behavior than webserver. We can also configure application server to work as a webserver.Simply application server is a superset of webserver.

Web Server serves static HTML pages or gifs, jpegs, etc., and can also run code written in CGI, JSP etc. A Web server handles the HTTP protocol. Eg of some web server are IIS or apache.

An Application Server is used to run business logic or dynamically generated presentation code. It can either be .NET based or J2EE based (BEA WebLogic Server, IBM WebSphere, JBoss).

A J2EE application server runs servlets and JSPs (infact a part of the app server called web container is responsible for running servlets and JSPs) that are used to create HTML pages dynamically. In addition, J2EE application server can run EJBs - which are used to execute business logic.

An Application server has a 'built-in' web server, in addition to that it supports other modules or features like e-business integration, independent management and security module etc.

No comments: