You can install the SAP NetWeaver AS in various ways. You can find the installation options in Architecture of the SAP NetWeaver Application Server .
The following describes the integrated version with ABAP and Java.
ABAP and Java Central System
The smallest possible SAP system with ABAP and Java consists of an application server instance containing Application Server ABAP (AS ABAP) and Application Server Java (AS Java). This kind of instance is known as a “dual stack instance” .
The architecture of this type of system looks as follows:
This system provides the following functions:
Operation using SAPGUI
Users log on to the dispatcher and work processes perform users' tasks.
Processing Web requests
Web requests are received by an Internet Communication Manager (ICM). These HTTP(S) requests may be designated for the Internet Communication Framework (ICF), that is, processed in an ABAP work process (for example, Web Dynpro ABAP applications), or they may be Java requests, designated for the AS Java.
With the help of the URL, the ICM decides where to forward the request (see below).
Distributed SAP System with ABAP and Java
The graphic below shows an SAP system with three SAP NetWeaver Application Server instances.
Each of these integrated instances of the SAP NetWeaver AS contains the (ABAP) dispatcher and its work processes, which can process ABAP programs, as well as the AS Java and its server processes. The ICM receives all the requests and forwards ABAP requests to the ABAP dispatcher and Java requests to a Java server process.
In larger systems, we recommend you configure the central services instance on the ABAP side too (ASCS instance), and it can be configured it for high availability. Alternatively, one of the instances can be installed as the classic central instance, that is, provide the enqueue service.
Of course, you do not have to use the Web client to log on to an SAP system you can also log on from the SAP GUI menu. If logon groups are set up here, the message server determines the application server to which the SAP GUI connects. The function of the message server in the ABAP environment is to transfer requests between the application servers.
The Java cluster requires a special instance, the central services instance, for managing locks and transmitting messages and data.
Finally, all the applications and data for ABAP and Java each have a database schema. Two separate databases are not necessary.
To operate the AS ABAP+Java, the following services must be active in the HTTP service tree (transaction SICF):
/sap/public/icman : The ICM uses this service to distinguish between ABAP and Java requests.
/sap/public/icf_info supplies the SAP Web Dispatcher with details of logon groups, server load, etc.
These services must be activated so that the SAP Web dispatcher and the ICM can forward the request correctly.
If these services are not active, you have to activate them in transaction SICF.
Distributing HTTP Requests Using the SAP Web Dispatcher
The SAP Web dispatcher is the central access point from the Internet into the SAP system. The dispatcher has to decide on the application server to which it sends each incoming request.
You can also use another load balancer (software or hardware) to distribute the HTTP(S) requests. However, SAP does recommend the SAP Web Dispatcher, as this is designed especially for the SAP environment, distributes requests to the system efficiently, and requires minimal configuration.
More information: Server Selection and Load Balancing Using the SAP Web Dispatcher
Processing HTTP(S) Requests Using the ICM
The ICM must decide for each incoming HTTP request whether to forward it for processing to the AS ABAP or to the AS Java.
This decision is made using the URL prefix. The ICM uses the same procedure as the SAP Web Dispatcher.
Caching in the ICM
You can also use the Internet server cache (the ICM server cache too) to store HTTP responses (such as HTML pages or images) with both Java and ABAP. The next time, the request can be retrieved directly from the cache.
More information: ICM Server Cache