Show TOC

Background documentationArchitecture and Functions of the SAP Web Dispatcher Locate this document in the navigation structure

 

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.

This graphic is explained in the accompanying text.

SAP Web Dispatcher in the System Landscape

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.

More information:

SAP Web Dispatcher and SSL

Server Selection and Load Balancing Using the SAP Web Dispatcher

Note Note

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).

End of the note.
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.

Information Tables

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.

Note Note

With Java-only installations of the 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>.

End of the note.

You could also use HTTPS here (compare Setting Up Metadata Exchange via SSL). The Web Dispatcher keeps the information in the following tables:

Table

Information

Source of Information

Server table

All AS instances that process the HTTP(S) requests.

Message server of the SAP system with the server list.

Group table

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.

!ALL

Group of all connected application servers.

!J2EE

Group of those application servers that contain the AS Java.

!DIAG

Group of ABAP servers that provide the dialog work processes.

!J2EES

Group of HTTPS-enabled application servers that contain the AS Java.

!DIAGS

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).

Example Example

You can determine, for example, that all requests that contain the path prefix /sap/bcare only processed by the servers that process logon group GROUP_1.

End of the example.

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.