SAP NetWeaver Application Server with ABAP and Java 
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.
The architecture of this type of system (with one instance) looks like the following:

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, BSP applications), or they may be J2EE requests, designated for the J2EE Engine.
With the help of the URL, the ICM decides where to forward the request (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 NW 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 be installed as the (ABAP) central instance (that is, it must 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 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.
Integration
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 on logon groups, the server load, and so on.
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.
Features
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. The procedure for this is described in Server Selection and Load Balancing Using the SAP Web Dispatcher.
Recommendation
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 the Java Dispatcher. This protocol is described in Communication Between the 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.