Introduction: Application servers
An application server is a Java Virtual Machine (JVM) that runs user applications. The application server collaborates with the web server to return a dynamic, customized response to a client request. The client request can consist of servlets, JSP (JSP) files, and enterprise beans, and their supporting classes.
For example, a user at a web browser visits a company website:
- The user requests access to data in a database.
- The user request flows to the web server.
- The web server determines that the request involves an application containing resources not handled directly by the web server (such as servlets). It forwards the request to one of its application servers on which the application is running.
- The invoked application then processes the user request. For example:
- An application servlet prepares the user request for processing by an enterprise bean that performs the database access.
- The application produces a dynamic web page containing the results of the user query.
- The application server collaborates with the web server to return the results to the user at the web browser.
When you install the product, a default application server, named server1, is automatically created. We can use the console to manage this server.
We can use the console or wsadmin commands to create additional application servers that can either be separately configured processes or nearly identical clones. As with server1, we can use the console to mange these additional servers.
We can improve system performance if you configure some of the application servers, such that each of their components are dynamically started as they are needed, instead of letting all of these components automatically start when the server starts. Selecting this option can improve server startup time, and reduce the memory footprint. Starting components as they are needed is most effective if all of the applications that are deployed on the application server are of the same type. For example, using this option works better if all of the applications are web applications that use servlets, and JSP (JSP). This option works less effectively if the applications use servlets, JSPs and EJB.
We can also perform the following tasks to enhance the operation of an application server:
- Configure transport chains to provide networking services to such functions as the service integration bus component of IBM service integration technologies, WebSphere Secure Caching Proxy, and the high availability manager core group bridge service.
- Add an interface to an application server to define a hook point that runs when the server starts and shuts down.
- Define command-line information that passes to a server when it starts or initializes.
- Tune the application server.
- Enhance the performance of the application server JVM.
- Configure an Object Request Broker (ORB) for RMI/IIOP communication.
The product supports asynchronous messaging based on the Java Message Service (JMS) of a JMS provider that conforms to the JMS specification Version 1.1.
The JMS functions of the default message service provided with the product are served by one or more messaging engines (in a service integration bus) that runs within application servers.
A generic server is a server that is managed in the WebSphere administrative domain, although it is not a server supplied by the product. The generic server can be any server or process that is necessary to support the product environment.
Create generic servers Programming to use JMS and messaging directly Administer application servers Configure transport chains Create custom services Configure the JVM Tune application servers Manage Object Request Brokers