!--a11y-->
SAP Web Application
Server with ABAP and Java 
You can install the SAP Web Application Server in various ways. You will find the installation options in Architecture of the SAP Web AS.
The following describes the integrated version with ABAP and Java.
The architecture of this type of system (with one instance) looks like:

This system provides the following functions:
· Operation using SAPGUI
Users log on to the dispatcher and work processes perform the 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,
BSP Applications),
or they may be J2EE requests, designated for the J2EE Engine.
With the help of the URL the ICM decides where it will forward the request to (see below).
The following graphic shows an SAP System with three instances:


As the system should offer ABAP and Java, each instance must contain an Internet Communication Manager (ICM) that can receive Web requests.
Each of these integrated instances of the SAP Web AS contains the (ABAP) dispatcher and its work processes, which can process the ABAP programs, as well as the Java dispatcher and its server processes, to which it distributes the incoming J2EE requests.
One of the
instances must provide must be installed as the (ABAP) central instance, that
is, offer the enqueue service. Alternatively, the system can be set up with
the
Standalone
Enqueue Server, and without a central instance.
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 log on groups are set up here, the message server determines the application server that the SAP GUI connects to. 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,
for managing locks and transmitting messages and data.
Finally, all the applications and data for ABAP and Java each have a database.
To operate the J2EE Engine, the following services must be active in the HTTP service tree (Transaction SICF):
· /sap/public/icman: The ICM uses this service to forward requests to the J2EE Engine.
·
/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, as described in
Activating and
Deactivating ICF Services.
The
SAP Web Dispatcher
is the central access point from the Internet into the SAP System. The SAP Web
dispatcher has to decide to which SAP Web AS it will send each incoming
request. The procedure for this is described in section
Server Selection and
Load Balancing Using the SAP Web Dispatcher.

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.
For each incoming
HTTP request, the ICM must decide whether it should forward the request for
processing to the ABAP engine (the
ICF) or to the
J2EE engine.
This decision is made using the URL prefix. The ICM uses the same procedure as the SAP Web Dispatcher.
A separate protocol
is used for the communication between the ICM and
Java Dispatcher.
This protocol is described in Communication Between
ICM and J2EE Engine.
You can also use the Internet Server Cache with the J2EE server, in order to store HTTP responses (such as HTML pages or images). The next time, the request can be retrieved directly from the cache.