Long Live Open Source Software !!

Sometimes we have difficulties to differ web server and application server. Some of us maybe think that both of them is same thing. But they are different. They may have some similarity, but it doesn’t mean they are same. Below is explanation about web server and application server.

A Web server handles the HTTP protocol. When the Web server receives an
HTTP request, it responds with an HTTP response, such as sending back
an HTML page. To process a request, a Web server may respond with a
static HTML page or image, send a redirect, or delegate the dynamic
response generation to some other program such as CGI scripts, JSPs
(JavaServer Pages), servlets, ASPs (Active Server Pages), server-side
JavaScripts, or some other server-side technology. Whatever their
purpose, such server-side programs generate a response, most often in
HTML, for viewing in a Web browser.

Understand that a Web server’s delegation model is fairly simple. When
a request comes into the Web server, the Web server simply passes the
request to the program best able to handle it. The Web server doesn’t
provide any functionality beyond simply providing an environment in
which the server-side program can execute and pass back the generated
responses. The server-side program usually provides for itself such
functions as transaction processing, database connectivity, and
messaging.

Example of web server is Apache and Apache Tomcat. Tomcat is designed to handle Java web application.

As for the application server, according to our definition, an
application server exposes business logic to client applications
through various protocols, possibly including HTTP. While a Web server
mainly deals with sending HTML for display in a Web browser, an
application server provides access to business logic for use by client
application programs. The application program can use this logic just
as it would call a method on an object (or a function in the procedural
world).

Such application server clients can include GUIs (graphical user
interface) running on a PC, a Web server, or even other application
servers. The information traveling back and forth between an
application server and its client is not restricted to simple display
markup. Instead, the information is program logic. Since the logic
takes the form of data and method calls and not static HTML, the client
can employ the exposed business logic however it wants.

I think you would know JBoss, Glassfish as Java application server example. They are very popular among Java developer.

Reblog this post [with Zemanta]
Be Sociable, Share!

Maybe you like this post too :