
SAP Web Dispatcher als Infrastrukturkomponente
Der SAP Web Dispatcher steht zwischen dem Web-Client (Browser) und Ihrem SAP-System, auf dem Webanwendungen laufen.

Er leitet die eingehenden Requests (HTTP, HTTPS) reihum an die Applikationsserver (AS) des SAP-Systems weiter, wobei die Anzahl der Requests, die ein AS bekommt, mit seiner Kapazität gewichtet wird. Die Kapazität eines AS ABAP richtet sich nach der Anzahl der konfigurierten Dialog-Workprozesse, für den AS Java wird die Kapazität die Anzahl der Server-Prozesse bestimmt. Ist die Anwendung stateful, stellt der SAP Web Dispatcher sicher, dass der Benutzer beim nächsten Request wieder zu dem Server geleitet wird, der seine Anwendung abarbeitet. Hierzu verwendet er bei HTTP-Verbindungen das Session-Cookie, bei End-to-End-SSL die Client-IP-Adresse.
Des Weiteren entscheidet der SAP Web Dispatcher, ob der eingehende Request an einen ABAP- oder Java-Server weitergeleitet werden soll..
Weitere Informationen:
Serverauswahl und Lastausgleich durch den SAP Web Dispatcher
Im Gegensatz zur HTTP-Lastverteilung durch den SAP Message-Server wird beim Einsatz des SAP Web Dispatchers kein Redirect durchgeführt. Die damit verbundenen Nachteile (viele IP-Adressen müssen bekannt sein, Bookmarking ist nicht möglich, Authentifizierung nach Wechsel des Applikationsservers) werden also umgangen.
SAP Web Dispatcher für mehrere Systeme
In der Grafik steht der Web Dispatcher vor einem SAP-System.
Sie können den Web Dispatcher auch vor mehrere Systeme (SAP-Systeme, oder auch externe Systeme) stellen. Dann verwenden Sie die Parameter wdisp/system_ <xx> , um dem Web Dispatcher die verschiedenen Systeme und deren Message-Server bekannt zu machen.
Weitere Informationen: SAP Web Dispatcher für mehrere Systeme
Aufbau des SAP Web Dispatchers
Die Architektur entspricht der des Internet Communication Manager (ICM). Der Web Dispatcher verwendet dasselbe HTTP-Framework und ist ebenso modular aus Subhandlern aufgebaut. Im Gegensatz zum ICM gibt der SAP Web Dispatcher eingehende Requests nicht direkt an einen Workprozess (bzw.Server-Prozess), sondern an den ICM des Applikationsservers, den er ermittelt hat. Die Antwort des Applikationsservers auf einen Request geht über die gleiche Netzverbindung über den Web Dispatcher zum Client zurück.
Öffnet der Applikationsserver als Client Verbindungen zu externen HTTP-Servern, so gehen diese Verbindungen nicht über den Web Dispatcher, sondern direkt zu dem Server (oder ggf. über einen konfigurierten Proxy).
Der Web Dispatcher hat die Funktionalität eines „Reverse Proxy“, nicht die eines „Proxy“.
Bearbeitung von HTTP-Requests
Wie der ICM verwendet der Web Dispatcher verschiedene Handler, um eingehende Requests zu bearbeiten. Mit Ausnahme des ABAP Handlers und des Java Handlers werden die Handler in genau der Reihenfolge aufgerufen wie unter Bearbeitung von HTTP-Requests beschieben. An die letzte Stelle tritt der Dispatching Handler, der die Lastverteilung vornimmt und den Request dann an den ICM des geeigneten Applikationsservers weiterleitet.
Informationstabellen
Der SAP Web Dispatcher bekommt die Informationen über das SAP-System, die er für die Lastverteilung braucht, vom Message-Server und einem Applikationsserver über HTTP.
Bei einer Java-Only-Installation des SAP NetWeaver AS liefert der Message-Server der „Central Services“ (SCS) die Informationen; wenn ABAP installiert ist, kommen alle Informationen vom Message-Server des AS ABAP. Den relevanten Message-Server kennt der SAP Web Dispatcher durch die Parameter rdisp/mshost und ms/http_port bzw. wdisp/system_ <xx> .
Optional können Sie hier auch HTTPS verwenden (vgl. Metadatenaustausch über SSL einrichten). Der Web Dispatcher hält die Information in den folgenden Tabellen.
|
Tabelle |
Information |
Informationsquelle |
|---|---|---|
|
Server-Tabelle |
Alle AS-Instanzen, die HTTP(S)-Requests verarbeiten |
Message-Server des SAP-Systems, der die Serverliste verwaltet |
|
Gruppentabelle |
Gruppen dieser Server. Hier gibt es bekannte, im System gepflegte Logon-Gruppen sowie folgende interne Gruppen: |
Die Logon-Gruppen werden im AS ABAP mit der Transaktion SMLG gepflegt. Der SAP Web Dispatcher kann die Information von einem beliebigen AS ABAP holen. Jeder Applikationsserver gehört zu mindestens 2 der internen Gruppen, er kann auch ABAP und Java anbieten und damit zu allen Gruppen gehören. Sie können auch für den AS Java Logon-Gruppen konfigurieren. |
|
!ALL |
Gruppe aller angeschlossener Applikationsserver |
|
|
!J2EE |
Gruppe derjenigen Applikationsserver, die den AS Java enthalten |
|
|
!DIAG |
Gruppe der ABAP-Server, die Dialog-Workprozesse anbieten |
|
|
!J2EES |
Gruppe der HTTPS-fähigen Applikationsserver, die den AS Java enthalten |
|
|
!DIAGS |
Gruppe der HTTPS-fähigen ABAP-Server, die Dialog-Workprozesse anbieten |
|
|
URL-Mapping-Tabelle |
Abbildung von dem Pfadteil der URL, die im Browser eingegeben wird, auf Information über Server(gruppen). Beispiel
Sie können zum Beispiel festlegen, dass alle Requests, die das Pfadpräfix /sap/bc enthalten, nur von Servern der Logon-Gruppe GROUP_1 bearbeitet werden. |
Der URL-Pfad wird im AS ABAP mit der Transaktion SICF als Service im HTTP-Servicebaum gepflegt. Der SAP Web Dispatcher kann die Information von einem beliebigen AS holen. |
Weitere Informationen zu Architektur und Funktionsweise des SAP Web Dispatchers finden Sie in folgenden Abschnitten:
Serverauswahl und Lastausgleich durch den SAP Web Dispatcher
SAP Web Dispatcher für mehrere Systeme
Hochverfügbarkeit des SAP Web Dispatchers