SAP Web Dispatcher as an Infrastructure Component
The SAP Web Dispatcher is located between the Web client (browser) and your SAP system that is running the Web application.
It forwards the incoming requests (HTTP, HTTPS) in turn to the application server (AS) of the SAP system. The number of requests that are sent to an AS depends on its capacity. The capacity of an AS ABAP depends on the number of configured dialog work processes. The capacity of a AS Java depends on the number of server processes. If the application is stateful, the SAP Web Dispatcher ensures that with the next request, the user is forwarded to the server that is processing his or her application. To do this, it uses the session cookie with HTTP connections, and the client IP address with end-to-end SSL.
Furthermore, the SAP Web Dispatcher decides whether the incoming request should be forwarded to an ABAP or Java Server.
Unlike HTTP load balancing with the SAP Message Server, redirects are not executed when the SAP Web Dispatcher is used. This avoids the associated disadvantages (several IP addresses must be known, book marking is not possible, authentication after changing the application server).
SAP Web Dispatcher for Multiple Systems
In the figure the Web Dispatcher is located in front of an SAP system.
You can also place the Web Dispatcher in front of multiple systems (SAP and/or external systems). In this case use parameter wdisp/system_ <xx> to inform the Web Dispatcher of all the systems and their message servers.
More information: SAP Web Dispatcher for Multiple Systems
Structure of the SAP Web Dispatcher
The architecture is the same as the architecture of the Internet Communication Manager (ICM). The Web Dispatcher uses the same HTTP framework and is likewise structured modularly from subhandlers. But unlike the ICM, the SAP Web Dispatcher does not directly pass incoming requests to a work process (such as a server process)- it passes them to the ICM of the application server. The response of the application server to a request returns to the client using the same network connection via the Web dispatcher.
If the application server acting as the client opens connections to external HTTP servers, these connections go direct to the server (or possibly via a configured proxy) and not via the Web Dispatcher.
The Web Dispatcher has the function of a “reverse proxy”, and not that of a “proxy”.
Processing HTTP Requests
Like the ICM the Web Dispatcher uses various handlers to process incoming requests. With the exception of the ABAP handler and the Java handler the handlers are called in the precise sequence described in Processing HTTP Requests. The dispatching handler comes last and this performs the load balancing and then forwards the request to the ICM of the appropriate application server.
The SAP Web Dispatcher gets information about the SAP system that it needs for load distribution from the message server and application server via HTTP.
With Java-only installations of the SAP NetWeaver AS the message server of the “Central Services” (SCS) supplies the information. With ABAP installations the information comes from the message server of the AS ABAP. The SAP Web Dispatcher knows which message server is used from the parameters rdisp/mshost and ms/http_port or wdisp/system_ <xx>.
You could also use HTTPS here (compare Setting Up Metadata Exchange via SSL). The Web Dispatcher keeps the information in the following tables:
Source of Information
All AS instances that process the HTTP(S) requests.
Message server of the SAP system with the server list.
Groups of HTTPS-enabled ABAP servers. Here there are known logon groups that are maintained in the system, as well as the following internal groups:
You maintain logon groups in transaction SMLG in AS ABAP. The SAP Web Dispatcher can get the information from any AS ABAP.
Each application server belongs to at least two of the internal groups. Each server can also offer ABAP and Java and hence belong to all groups.
You can also configure logon groups for AS Java.
Group of all connected application servers.
Group of those application servers that contain the AS Java.
Group of ABAP servers that provide the dialog work processes.
Group of HTTPS-enabled application servers that contain the AS Java.
Group of HTTP-enabled servers that provide the dialog work processes.
URL mapping table
Mapping of the path part that is specified in the browser to the information about the server (groups).
You can determine, for example, that all requests that contain the path prefix /sap/bc are only processed by the servers that process logon group GROUP_1.
You maintain the URL path in transaction SICF in AS ABAP as a service in the HTTP service tree.
The SAP Web Dispatcher can get the information from any AS.
For more information on architecture and operation of the SAP Web Dispatcher see: