Wednesday, January 23, 2008

What is the Differnence b/w Application Server and Web Server?

"App server, Web server: What's the difference?" Java Q&A author Tony Sintes summarized the distinction as follows:

"A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols, 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.

In most cases, the server exposes this business logic through a component API, such as the EJB component model found on J2EE application servers. Moreover, the application server manages its own resources. Such gate-keeping duties include security, transaction processing, resource pooling, and messaging. Like a Web server, an application server may also employ various scalability and fault-tolerance techniques."

No comments: