Sunday 2 June 2013

IBM HTTP Server (Web Server) and Websphere Application Server

 Hi all,
Here we are going to discuss very basic concepts of Web server and application server.
Following are very basic questions but normally we confused on this.
  1. What is difference between Web application server and web server ? like we are using IBM WAS and IHS.
  2. Can I use only one of them without using other ? like can I host a JSP on WAS without using IHS ?
The basic answer for this is, a web server just serves content. In particular, it doesn't have a Java web container or ejb container. An application server has these two extra Java pieces. You can use one without the other. However, you cannot run a J2EE application on a web server. You can certainly host a JSP on WAS without using IHS.
 
The Web server:
A Web server handles the HTTP protocol. If user wants to access any application from the Web browser , the Web server receives an HTTP request first and it responds with an HTTP response, such as sending back an HTML page. After processing 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. When a request comes into the Web server, the Web server simply passes the request to the program (Application) best able to handle it. The Web server doesn't provide any functionality beyond simply providing an environment in which the server-side program(Application) 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.

While a Web server may not itself support transactions or database connection pooling, it may employ various strategies for fault tolerance and scalability such as load balancing, caching, and clustering features oftentimes erroneously assigned as features reserved only for application servers.
The Application server:
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 dynamic 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 (Enterprise JavaBean) component model found on J2EE (Java 2 Platform, Enterprise Edition) 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. The Web container in WebSphere Application Server has an embedded HTTP transport (the so-called WebContainer Inbound Chain), which allows for direct connection to the application without the need for a separate Web server. While using this transport as a Web server is very handy for testing or development purposes it should not be used in production environments. If the users connect directly to the WebContainer Inbound Chain, then they bypass the plug-in and the workload management it performs, as well as the failover and session affinity mechanisms it provides and not to mention the ESI dynamic caching function in the Web server plug-in, if enabled. For performance and security reasons, it is recommended that you use a stand-alone Web server and the HTTP plug-in for the Web server in a production environment.
Effort only fully releases its reward after a person refuses to quit.”
Regards,
Akhilesh B. Humbe

2 comments:

  1. Great Explaination !!!

    ReplyDelete
  2. Great post.I'm glad to see people are still interested of Article.Thank you for an interesting read........Embedded Web Server

    ReplyDelete

Popular Posts