Show TOC Start of Content Area

Background documentation Java Instance  Locate the document in its SAP Library structure

A Java instance is a unit in the AS Java cluster which is identified by its instance number. The elements that form an instance run on one physical machine. Also, it is possible to run several instances on one physical machine, but it is recommended that you split the different instances among different physical machines.

A Java Instance consists of:

      Internet Communication Manager (ICM)

      One or several server processes

This graphic is explained in the accompanying text

 

Internet Communication Manager

The ICM is an element of the Java instance which handles requests coming from clients and dispatches them to the available server processes. Data is transferred from the ICM to the server processes and vice versa using the Fast Channel Architecture (FCA), which allows fast and reliable communication between them.

The ICM reads the request from the TCP/IP stack into the FCA, decides which server process should handle the request (load balancing), and then sends the requests directly to the individual process. The required information for load balancing is retrieved by the ICM from the Message Service.

When a server process has sufficient resources to consume a request, it takes it out of the FCA queue, processes it, and writes it back into the queue so it is returned to the originator of the request.

More information: ICM Administration

Server Process

The server processes of the AS Java actually execute the Java application. They are responsible for processing incoming requests which are assigned to them by the ICM.

Each server process is multi-threaded, and can therefore process a large number of requests simultaneously.

When more than one server processes run inside a Java instance, all of them have the same capabilities.

During installation, the installation procedure configures the optimal number of server processes in an instance based on the available hardware resources. You can add more server processes to an existing Java instance.

Server processes in an instance have a shared memory which enables much faster interaction. In the shared memory, server processes and the ICM store all their monitoring information, which can be used for detailed analysis of the current internal status of each Java instance.

All VMs in the instance have access to a shared memory area used as a session store, which is also a safeguard against VM failures. This is enabled by the use of SAP’s own implementation of a Java Virtual Machine.

SAP Java Virtual Machine (SAP JVM)

AS Java uses SAP JVM as its runtime platform. The SAP JVM is based on the Hotspot Java VM provided by Sun Microsystems but it also possesses some additional features, such as:

      Debugging on demand – SAP JVM makes it possible to switch a running system into debugging mode and vise versa without the need to restart the VM. This reduces the effort to track down a problem in real-life scenarios.

      Memory analysis - easier detection of out-of-memory situations and analysis of memory footprint due to memory debugging features embedded into the VM.

      Performance profiling – detection of performance bottlenecks due to runtime tracing capabilities embedded into the VM.

      Robustness - due to fast session failover based on shared memory.

The robustness concept is based on two main ideas: fewer active user requests per VM and a VM independent safe storage of inactive user sessions. More than one VM can run on each machine to reduce the amount of parallel processed user requests per VM, and inactive user sessions are separated from the VMs.

More information: SAP JVM

 

 

End of Content Area