Architectural features
This document examines the major components within IBM WebSphere Application Server.
HTTP server
IBM WAS works with an HTTP server to handle requests for servlets and other dynamic content from Webapplications. (The terms HTTP server and Web server are used interchangeably throughout the documentation.)
The HTTP server and Application Server communicate using the WebSphere HTTP plug-in for the HTTP server. The HTTP plug-in uses an easy-to-read XML configuration file to determine whether a request is handled by the Web server or the Application Server. The HTTP plug-in uses the standard HTTP protocol to communicate with the Application Server though you can configure it to use secure HTTPS, if required. The HTTP plug-in is available for popular Web servers.
For more information, see Configuring Web server plug-ins.
Application Server
The WAS collaborates with the Web server by exchanging client requests and application responses. You can define multiple Application Servers, each running in its own JVM. The exception to this is WebSphere Application Server for z/OS, where the defined servers contain multiple processes, each process with its own JVM.
- EJB container
The EJB container provides the run-time services needed to deploy and manage EJB components, known as enterprise beans. It is a server process that handles requests for both session and entity beans.
The enterprise beans (inside EJB modules) installed in an Application Server do not communicate directly with the server; instead, an EJB container provides an interface between the enterprise beans and the server. Together, the container and the server provide the bean run-time environment.
The container provides many low-level services, including threading and transaction support. From an administrative viewpoint, the container manages data storage and retrieval for the contained beans. A single container can manage more than one EJB JAR file.
For more information, see EJB containers.
- Web container
Servlets and JSP (JSP) files are server-side components used to process requests from HTTP clients, such as Web browsers. They handle presentation and control of the user interaction with the underlying application data and business logic. They can also generate formatted data, such as XML, for use by other application components.
The Web container processes servlets, JSP files and other process requests. Additionally, each Web container contains a session manager.
When handling servlets, the Web container takes responsibility for all levels of communication including requests, responses, the handling of all methods, and when to end the servlet relationship, at which point the JVM performs garbage collection.
For more information, see Web container.
- Application client container
Application clients are Java programs that typically run on a desktop computer with a graphical user interface (GUI). They have access to the full range of J2EE client side services.
The application client container handles Java application programs that accesses enterprise beans, JDBC, and message queues that belong to the JMS. The J2EE application client program runs on client machines. This program follows the same Java programming model as other Java programs; however, the J2EE application client depends on the application client run time to configure its execution environment, and uses the JNDI name space to access resources.
For more information, see Application clients.
- Applet container
An applet is a client Java class that typically executes in a Web browser, but can also run in a variety of other client applications or devices.
Applets are often used in combination with HTML pages to enhance the user experience provided by a Web browser. They can also shift some of the processing workload from the server to the client.
The applet container handles Java applets embedded in HTML documents that reside on a client machine that is remote from the application server. With this type of client, the user accesses an enterprise bean in the Application Server through the Java applet in the HTML document.
For more information, see Application clients.
- Embedded HTTP server
The HTTP handling capability embedded within the appserver supports a connection from an HTTP client to the Application Server. An HTTP client can connect to a Web server and the HTTP plug-in can forward the request to the Application Server.
For more information, see Web container.
- Virtual host
A virtual host is a configuration enabling a single host machine to resemble multiple host machines. Resources associated with one virtual host cannot share data with resources associated with another virtual host, even if the virtual hosts share the same physical machine.
Administrators can use virtual hosts to associate Webapplications with a particular host configured to run the application.
For more information, see Virtual hosts.
See Also
System Administration