!--a11y-->
SAP Web Application
Server with ABAP and J2EE 
You can install the SAP Web Application Server in various ways:
· J2EE only (see J2EE Cluster Architecture)
· ABAP + J2EE add-in
For installation details see Installation Information.
The following describes the integrated version with ABAP and J2EE.
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 J2EE, 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 J2EE 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, you can work 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. The message server is used for this as well as for transmitting requests in the ABAP world.
The J2EE 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 J2EE each have a database.
To operate the SAP 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 server.
· /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
here.
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.
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 SAP
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 J2EE 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.
