|Previous Contents Index Next|
|iPlanet Application Server 6.5 SP1, Enterprise Edition Performance and Tuning Guide|
|Updated: November 25, 2002|
Chapter 1 About iPlanet Application Server
iPlanetTM Application Server provides a reliable, available and scalable web services deployment platform. Application programmers can focus on implementing business logic with well-engineered software components and rely on the services offered by iPlanet Application Server for massive scale deployment.
This chapter includes the following sections:
iPlanet Application Server Components
iPlanet Application Server includes various components that need to interact with each other for a smooth performance. These components can be tuned for optimum performance for both production and development environments.
This section describes the following topics:
Web Connector Plugin
A dynamically loaded library that plugs into a web server instance. Redirects incoming HTTP requests to the Executive Server (KXS) processes in an application server instance.
Application Server Processes
Executive Server (KXS). Redirects incoming HTTP traffic received from Web Connector Plugin to a Java Server. Manages replication of highly available session and state data between application server instances.
Java Server (KJS). Contains web and EJB containers.
RMI/IIOP Bridge (CXS). Redirects incoming requests from RMI/IIOP clients to the EJB container housed in a Java Engine (KJS).
Administrative Server (KAS). Monitors other application server processes and acts as a server for the administrative and deployment tools.
Directory Server Components
Directory Server Process. Contains user and group information for authentication and authorization. Acts as a distributed store for the application server's registry information.
iPlanet Administration Server. Acts as a contact point for the iPlanet Console dministration tool. This server need not active fo rthe application server to function.
Oracle, Sybase, Informix and DB2, are some of the databases supported by iPlanet Application Server. Using iPlanet Application Server, you can configure 3rd party JDBC drivers for databases. You can also configure datasources and transaction manager for database drivers.
iPlanet Application Server Process Architecture
To achieve maximum performance, you need to understand the basic process architecture of iPlanet Application Server. A common iPlanet Application Server deployment scenario is shown below. For the sake of clarity, the figure depicts only the traffic from one web server instance to iPlanet Application Server and Directory Server. The web server (or more precisely, the Web-Connector Plugin) manages the load balancing of requests to all the nodes configured in iPlanet Application Server cluster, as shown in the figure.
The multi-instance clustering architecture delivers superior horizontal scalability and high availability through replication of state on other application server instance nodes. Each instance can be configured with multiple KJS processes (each KJS process is a JVM instance) to achieve the desired degree of scalability. Each KJS process can be assigned multiple threads for processing, thereby increases performance.
The following illustration will help you understand how all the components of iPlanet Application Server fits together. The illustration shows how the various parts of iPlanet Application Server's process architecture are related to one another and the way they are connected to the web servers, and ultimately, to the users.
iPlanet Application Server process architecture
Communication Within iPlanet Application Server
iPlanet Application Servers are typically deployed together with web servers, directory servers, and client database applications. In this scenario, inter-process communication is of a very high level and this makes data integrity and security issues very important. To ensure smooth and secure communication between application servers, web servers and the client applications that run on application servers, security components of the system are frequently separated by firewalls.
The basic component of iPlanet Application Server is the Executive Server (KXS) which creates the components of the application, manages per-session data, load monitoring and load balancing functions with other instances of iPlanet Application Server.
The application code runs in multi-threaded processes created by KXS. There are two types of processes; the C++ Server (KCS) and the Java Server (KJS).
The system is managed through the Administration Server (KAS). The web server may be installed on the same machine as iPlanet Application Server, or on a different machine. In a typical network installation, the web server would be installed on a separate machine.
The communication between the web server and the application server is through a plug-in, which resides in the web server. If multiple instances of the application server have been installed, the plug-in communicates with the application server instance, that the load balancing mechanism selects. In cases where the web server does not have a plug-in available, the communication module could be a CGI application, which establishes connection to iPlanet Application Server. However, the CGI model is less efficient, and is normally used only as a last resort.
The second method of communication is using OCL (Object Constraint Language), which uses CORBA to locate the required services and communicate with them through the application server. This is recommended only for use in an Intranet because standardized security for IIOP connections is not available.
Inter-process communication between servers, applications and security protocol occurs in a number of ways. Although it is possible to place a firewall between iPlanet Application Server instances (an application server instance being a KXS/KJS/KCS process group), this is not recommended. If such a firewall is implemented, then it is necessary to implement IGMP (Internet Group Management Protocol) to allow Internet Protocol (IP) communication across the firewall.
Although firewalls are not recommended between iPlanet Application Server instances, the implementation of a fast, dedicated network for IP Multicast traffic between iPlanet Application Server machines may be advisable in certain circumstances.
The iPlanet Application Server system is designed for networks running at LAN speeds. Distributing iPlanet Application Server instances across a WAN (Wide Area Network) may lead to performance issues. For more information on configuring firewalls with iPlanet Application Server, refer to Chapter 5, "Securing iPlanet Application Server", in iPlanet Application Server Administrator's Guide.
iPlanet Application Server Tools
The Administrative and Deployment interfaces of iPlanet Application Server are managed using two tools: the iPlanet Application Server Administration Tool (iASAT) and the iPlanet Application Server Deployment Tool (iASDT). These tools are discussed in the following topics
iPlanet Application Server Administration Tool
iASAT is a stand-alone Java application with a graphical user interface that allows you to administer one or more instances of the iPlanet Application Server. Administration often involves performance-related tasks such as adjusting database connection threads and changing load-balancing parameters. The administration tool can run on any platform that is supported by iPlanet Application Server and allows you to connect to one or more iPlanet Application Server instances over the network.
Use iPlanet Application Server Administration Tool to tune server processes, EJB parameters, configure datasources, etc., to enhance the application server's performance. This guide will show you how to use the administration tool to tune the application server.
iPlanet Application Server Deployment Tool
iASDT is a stand-alone Java application with a graphical user interface that allows you to do the following:
- Deploy the units to one or more iPlanet Application Server operating environments.
J2EE application components are archived into modules according to the container that will receive them upon deployment. You can archive J2EE application components into an EJB JAR module (archived with a .jar extension) or a Web Application module (archived with a .war extension). Each module will contain a J2EE descriptor and an iPlanet Application Server specific deployment descriptor, in XML files.
Previous Contents Index Next
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
Last Updated November 25, 2002