Application Server Provides Exposes Business Logic for Client Applications Through Various Protocols
Total Page:16
File Type:pdf, Size:1020Kb
1) Webserver serves pages for viewing in web browser; application server provides exposes business logic for client applications through various protocols. (2) Webserver exclusively handles http requests. application server serves business logic to application programs through any number of protocols. (3) Webserver delegation model is fairly simple, when the request comes into the webserver, it simply passes the request to the program best able to handle it(Server side program). It may not support transactions and database connection pooling. so many more features such as Caches,Clusters,Load Balancing are there in Application Servers which are not available in Web Servers. (4) Application server is more capable of dynamic behaviour than webserver. We can also configure application server to work as a webserver. Simply application server is a superset of webserver. IBM Websphere Application Server -Network Deployment configuration: The Network Deployment configuration offers central administration and workload management. A Network Deployment environment consists of one or more Base installations and a deployment Manager installation. The Base application servers are added to the cell and managed by the Deployment Manager. Servers: Servers perform the actual code execution. There are several types of servers, depending on the configuration. Each server runs in its own JVM. Application servers: The application server is the primary runtime component in all configurations. This is where the application actually executes. All WebSphere Application Server configurations can have one or more application servers. In the Express and Base configurations, each application server functions as a separate entity. There is no workload distribution or common administration among application servers. In the Express and Base configurations of WebSphere Application Server, there is only one node. In the Network Deployment configuration, multiple application servers are maintained from a central administration point. In addition, application servers can be clustered for workload distribution. Node is a set of managed application servers (instances) on a physical machine in atopology composed of one or more machines. A node contains a IBM WebSphere Application Server installation and is managed by a node agent process. A node cannot span machines, but a single machine can host multiple nodes instances. For every node that you want to be managed by WAS-ND a separate node agent is running. Node Agent is the process responsible for controlling the managed processes of a node. Managed process is a single WAS process, running in its own JVM. All operating system processes that are components of the WebSphere product are called managed processes. This means that the processes all participate in the administrative domain. Nodes (and node agents) :A node is a logical grouping of WebSphere-managed server processes that share common configuration and operational control. A node is generally associated with one physical installation of WebSphere Application Server. In Websphere ND these centralized management configurations; each node has a node agent that works with a Deployment Manager to manage administration processes. Cells: A cell is a grouping of nodes into a single administrative domain. Cell is an aggregation of nodes. A deployment manager controls all nodes that are part of the cell and communicates with them. Deployment Manager (DM) is the process responsible for the management and control of the cell configuration and application data repository. The Deployment Manager does not handle client requests, it only maintains the configuration and application information for all nodes (application servers) in the cell. Role of Deployment Manager: With the Network Deployment configuration, a cell can consist of multiple nodes, all administered from a single point. The configuration and application files for all nodes in the cell are centralized into a cell master configuration repository. This centralized repository is managed by the Deployment Manager process and synchronized out to local copies held on each of the nodes. The node agent is responsible for starting application servers on the server, and restarting them in the rare case they should fail. Clusters: A cluster is a logical collection of application server processes, with the sole purpose of providing workload balancing. The Network Deployment configuration offers the option of using application server clustering to provide enhanced workload distribution. Application servers that belong to a cluster are "members" of that cluster and must all have identical application components deployed on them. Other than the applications configured to run on them, cluster members do not have to share any other configuration data. Application management When you install, update, or delete an application, the updates are automatically distributed to all members in the cluster. Workload management: Clustering application servers that host Web containers automatically enables plug-in workload management for the application servers and the servlets they host. Routing of servlets requests occurs between the Web server plug-in and the clustered application servers using HTTP or HTTPS. What is Vertical Scaling? If a cluster is a collection of JVMs working together to provide a workload managed environment, then vertical scaling happens when each of those JVMs are running on the same physical machine. With vertical scaling, we are still node dependent. What is Horizontal Scaling? Horizontal scaling occurs when you deploy an application across multiple physical machines. Horizontal scaling is traditionally what we think of when the term workload management is thrown around. WebSphere makes implementing horizontal scaling incredibly easy. The first step is to install the base edition of WebSphere onto a couple of different machines, and then install the Deployment Manager on another machine. Make the base editions part of the deployment managers administrative domain, and then use the administrative console to create a cluster. Containers: There are two containers in the application server implementation Web container - processes HTTP requests, servlets and JSPs. EJB container - processes enterprise beans (EJBs)-processing business logic of App Server. Web container :The Web container processes servlets, JSP files and other types of server-side includes. Each application server runtime has one logical Web container, which can be modified, but not created or removed. Servlet processing: when handling servlets, the Web container creates a request object and a response object, then invokes the servlet service method. The Web container invokes the servlet’s destroy method when appropriate and unloads the servlet, after which the JVM performs garbage collection. Embedded HTTP server: the Web container runs an embedded HTTP server for handling HTTP(S) requests from external Web server plug-ins or Web browsers. The embedded Web server is based on the IBM HTTP Server product. Session management: support is provided for the javax.servlet.http.HttpSession interface described in the Servlet API specification. Web services engine: Web services are provided as a set of APIs in cooperation with the J2EE applications. Web services engines are provided to support SOAP. Web server plug-ins (Plugin-Cfg.xml): Although the Web container has an embedded HTTP server, a more likely scenario is that an external Web server will be used to receive client requests. The Web server can serve requests that do not require any dynamic content, for example, HTML pages. However, when a request requires dynamic content (JSP/servlets processing), it must be forwarded to WebSphere Application Server for handling. The mechanism to accomplish this is provided in the form of a Web server plug-in. The plug-in is included with the WebSphere Application Server packages for installation on a Web server. An XML configuration file, configured on the WebSphere Application Server, is copied to the Web server plug-in directory. The plug-in uses the configuration file to determine whether a request should be handled by the Web server or an application server. When a request for an application server is received, it is forwarded to the appropriate Web container in the application server. The plug-in can use HTTP or HTTPs to transmit the request. EJB container The EJB container provides all the runtime services needed to deploy and manage enterprise beans. It is a server process that handles requests for both session and entity beans. The container manages data storage and retrieval for the contained beans. A single container can host more than one EJB JAR file. ->one of the application server service is Admin service The admin service runs within each server JVM. In the Base configuration, the admin service runs in the application server. In the Network Deployment configuration, each of the following hosts an admin service: • Deployment Manager • Node agent • Application server • JMS server The admin service provides the necessary functions to manipulate configuration data for the server and its components. The configuration is stored in a repository in the server's file system. The admin service has a security control and filtering functionality, providing Different levels of administration to certain users or groups using the following admin roles: • Administrator • Monitor • Configurator • Operator Virtual hosts A virtual host is a configuration enabling