• No results found

Functions of the SAP Web Dispatcher

The SAP Web Dispatcher ultimately forwards an HTTP(S) request to a specific application server. This section outlines the criteria by which this is performed.

An HTTP request (or unpacked HTTPS request) is assigned to a server in two stages:

1. First, the SAP Web Dispatcher determines whether the incoming HTTP request is an ABAP request (e.g. a BSP or Web Dynpro ABAP application) or a Java request (for example, a JSP, a servlet or a Web Dynpro Java application). It then finds a group of servers in the SAP system that can execute the request.

2. Load balancing is then carried out within this group. After the SAP Web Dispatcher has identified a server, it forwards the request to the ICM / the Java Dispatcher of the relevant application server.

Note: A SAP Web Dispatcher can distribute requests for only one SAP system. If multiple SAP systems are required, you have to set up and start separate SAP Web Dispatcher processes for each of the respective systems (which can run together on one computer).

The SAP Web Dispatcher is backwards compatible, that is, the SAP Web Dispatcher release can be higher or the same as the SAP system release.

The patch level can also differ from the patch level of the back-end system.

SAP Note 908097 lists the allowed combinations of SAP Web Dispatcher releases and SAP system releases.

Figure 31: From the HTTP(S) Request to the Application Server (Simplified)

Server Selection

The SAP Web Dispatcher first checks whether the request is an ABAP or Java request. This distinction is based on the analysis of the URL prefix. For the URL http://adm102.sap.com/A/B/C/Default.html, the prefix to be analyzed is the character string /A/B/C/. If this prefix is known in the ICF, this is an ABAP request. If the URL contains only one forward slash (/) after the host name, special handling is required: The value of the profile parameter is/HTTP/default_root_hdl determines the destination.

In the case of an ABAP request, the SAP Web Dispatcher first uses a cookie to identify whether the request concerns a stateful application. If this exists, the decision is simple: the request is sent to the application server that is processing this session. If the request is stateless and refers to an ICF service for which logon group is inherited or specified explicitly, that logon group is chosen. Otherwise, the internal group !DIAG is selected, which consists of all ABAP application servers.

AS Java also realizes the concept of logon groups. If a specific logon group has not been configured for the prefix of the Java request called, the SAP Web Dispatcher uses the internal group !J2EE. In the case of a stateful application, this is indicated through the session information in the URL or a load-balancing cookie. For compatibility reasons, the session cookie jsessionid can also be used here.

The SAP Web Dispatcher obtains information about the logon groups and URL mapping from an ABAP application server via HTTP or HTTPS. For this to happen, the services /sap/public/icman and /sap/public/icf_info/* must be activated in the ICF.

Load Balancing

The SAP Web Dispatcher obtains information about the application servers of the SAP system from the message server via HTTP(S). You can use the SAP Web Dispatcher in pure ABAP systems as well as in combined ABAP+Java (dual stack) systems and pure Java systems. In this way, the installation option determines the message server with which the SAP Web Dispatcher communicates.

Figure 32: Communication Partners of the SAP Web Dispatcher

Communication Partners of the SAP Web Dispatcher for Server Information

Installation option SAP NetWeaver AS SAP Web

Dispatcher... ABAP ABAP + Java Java

...communicates with the

ABAP message server Java message server

...parameters rdisp/mshost and ms/http_port correspond with

the host name of the message server as well as its parameter ms/server_port_<xx>

Note: The SAP Web Dispatcher uses the parameters rdisp/mshost and ms/http_port to specify the assigned message server of the SAP system.

For compatibility reasons, the obsolete parameters ms/http_port and ms/https_port still function in the SAP system for the ABAP message server but should no longer be used.

The HTTP interface of the message server allows you to display information about the application server with a Web browser. To do so, call the

URL http://<message server host>.<message server

domain>:<message server http port>/msgserver/commands.

The SAP Web Dispatcher distributes the requests in turn within the selected server group by default, weighted according to the capacity of the individual servers. For ABAP, the capacity is calculated from the number of dialog work processes and, for Java, from the number of server processes. You can use the profile parameter wdisp/load_balancing_strategy (explained in detail in the online documentation) to configure the SAP Web Dispatcher for different load-balancing strategies.

Further Functions

The SAP Web Dispatcher offers further functions, which are not covered in this class. Some of them are:

URL filtering: You can define URLs that you want to be rejected, and by doing so restrict access to your system.

Web caching: You can use the SAP Web Dispatcher as a Web Cache to improve the response times and to conserve the application server cache.

SSL handling: You can configure the SAP Web Dispatcher to forward, terminate, and (re)encrypt requests.