SAP Web Dispatcher

2 | 2

Der SAP Web Dispatcher ist ein Server, der als der zentraler Einstiegspunkt für HTTP(S)-Request in Ihr System dient. Er kann unabhängig von einem SAP System auf jedem Server laufen und Anfragen für ein oder mehrere SAP NetWeaver-Anwendungsserver entgegennehmen.

Als „Software-Web-Switch“ trägt er zu Sicherheit bei, indem er eingehende Verbindungen akzeptieren und ablehnen kann. Er kann diese aber auch an verschiedene Applikationsserver für eine gleichmäßige Serverauslastung weiterleiten. Sie können den SAP Web Dispatcher in Verbindung mit reinen AS ABAP-Systemen, für kombinierte ABAP/Java-Systeme und in reinen Java-Stack Umgebungen einsetzen. Der Web Dispatcher hat nicht die Funktionalität eines „Proxy“, sondern die eines “Reverse Proxy”. Dabei kann der SAP Web Dispatcher  auch mit SAP-Systemen älterer Releases eingesetzt werden. Allerdings können sich die Betriebssystemvoraussetzungen bei verschiedenen Releases unterscheiden.

Funktionen

Architektur

Der SAP Web Dispatcher leitet jeden eingehenden HTTP(S)-Request an einen geeigneten SAP NetWeaver Application Server zur Bearbeitung weiter (siehe Grafik).

Abb. 1: SAP Web Dispatcher in der Systemlandschaft

Abb. 1: SAP Web Dispatcher in der Systemlandschaft

Der SAP Web Dispatcher leitet die eingehenden Requests reihum an die Applikationsserver des SAP-Systems weiter. Die Anzahl der Requests, die ein Applikationsserver bekommt, wird mit seiner Kapazität gewichtet. Die Kapazität eines Applikationsservers ABAP richtet sich nach der Anzahl der konfigurierten Dialog-Workprozesse. Die Kapazität für den Applikationsserver JAVA wird durch 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. Dafür werden bei HTTP-Verbindungen das Session-Cookie genutzt, bei End-to-End-SSL die Client-IP-Adresse genutzt. Außerdem legt der SAP Web Dispatcher fest, ob der eingehende Request an einen ABAP- oder Java-Server weitergeleitet werden soll.

Lastverteilung

Der SAP Web Dispatcher kennt die aktuelle Last, die jeder einzelne Applikationsserver trägt durch die Kommunikation mit dem Message Server (ASCS/SCS). So kann er die Anfragen gleichmäßig verteilen und dabei auch berücksichtigen, welche Anfragen auf welchem Server überhaupt verarbeitet werden können. Wenn Sie zum Beispiel nur einen Applikationsserver mit einem Java Stack haben, so ist es wenig sinnvoll, die Web Dynpro for Java Anfragen an die anderen Applikationsserver zu senden.

Für die Lastverteilung bietet der SAP Web Dispatcher verschiedene Verfahren an. Wichtig in diesem Zusammenhang ist die Kapazität eines Applikationsservers. Diese ist ein Maß für die „Stärke“ eines Applikationsservers.

Welches Verfahren für die Anwendung am besten ist, ist von vielen Faktoren abhängig. Im Normalfall führt das Standardverfahren (gewichtetes Round-Robin) zu einer ausgewogenen Lastverteilung. Wenn Sie vermuten, dass ein anderes Verfahren die Lastverteilung verbessert, können Sie dies mit dem Parameter wdisp/load_balancing_strategy steuern.

Beispiel Dynamisches gewichtetes Round Robin: / Parameterwert: weighted_round_robin (Default)

Hier geschieht die Lastverteilung anhand der geschätzten Momentanauslastung („Load-Faktors“). Der Server mit dem niedrigsten Load-Faktor erhält den nächsten Request. Wenn einem Server ein Request zugeteilt wird, dann wird der Load-Faktor proportional zum Kehrwert der Kapazität dieses Servers erhöht. Der Load-Faktor ist aus der Web-Administrations-Oberfläche ersichtlich. Allerdings verändert sich der Load-Faktor ständig. Daher ist die Angabe des next preferred servers in der Admin-Oberfläche nur eine Momentaufnahme. Da sich der Load-Faktor ständig verändert, ist die Angabe des next preferred server in der Admin-Oberfläche lediglich eine Momentaufnahme. Dieses Verfahren bietet den Vorteil, dass die Serverauslastung sehr gut ist, gerade bei End-to-End SSL.

Weitere Verfahren:

  • Einfaches gewichtetes Round Robin: Parameterwert: simple_weighted_round_robin
  • Volldynamische Lastverteilung anhand von Server-Antwortzeiten: Parameterwert: adaptive

Web-Cache

Der SAP Web Dispatcher kann auch so konfiguriert werden, dass die Inhalte in den Cache eingelagert werden. Damit kann der nächste Request schnell aus dem Cache erfüllt werden. Im Normallfall leitet der SAP Web Dispatcher die Request an einen ICM. Dort existiert das Caching schon seit längerem. Die Funktionsweise ist zwar dieselbe wie beim ICM Server-Cache, bis auf die Invalidierung von Cache-Objekten, allerdings ist die Caching-Semantik nicht dieselbe. Der Web Dispatcher verwendet das Standard-HTTP-Header-Feld cache control. Gegenüber dem Caching im ICM ist es von Vorteil, dass der Cache direkt am Einstiegspunkt sitzt. Die nachgeschalteten Backend-Server und deren Netzverbindungen werden dadurch entlastet.

Sicherheitsfunktionen

Reverse Proxy

Als Reverse Proxy ermöglicht der SAP Web Dispatcher eine stärkere Trennung zwischen Client-Zugriff und Applikationsserver. Dadurch können Anfragen von Clients zuerst durch den SAP Web Dispatcher angenommen werden und sofern ungültig verworfen werden. Erst dann wird ein Aufruf nach intern auf den Applikationsserver erzeugt. Damit können auch leichter und sicherer Szenarien für die Anbindung von Internet-Anfragen auf SAP-Server realisiert werden. Der Web Dispatcher wird daher auch typischerweise abgesetzt in der Demilitarisierten Zone (DMZ) zwischen Internet und Intranet aufgestellt.

URL-Filtering

Da der SAP Web Dispatcher im Standard alles aus dem dahinter konfigurierten SAP System exponiert, ist das URL-Filtering hilfreich. Dadurch werden nur die Informationen freigegeben, die unbedingt nötig sind. Wie genau das URL-Filtering funktioniert, können Sie in dem Artikel „Tür zu – es zieht! – SAP Web Dispatcher URL Filter konfigurieren“ nachlesen oder sich in dem Video SAP Web Dispatcher URL konfigurieren anschauen.

SAP Web Dispatcher und SSL

Der SAP Web Dispatcher kann SSL in End-to-End-SSL unterstützen, indem er den HTTPS-Request an einen SAP NetWeaver Applikationsserver weiterleitet. Aber auch in der SSL-Terminierung kann der Web Dispatcher hilfreich sein, wenn er den HTTPS-Request entschlüsselt und dann die Serverauswahl trifft.

Folgende Szenarien sind möglich:

Abb. 2: Tabelle der möglichen Szenarien mit dem SAP Web Dispatcher

Abb. 2: Tabelle der möglichen Szenarien mit dem SAP Web Dispatcher

Fazit

Der SAP Web Dispatcher ermöglicht es, SAP Systeme via Browser erreichbar zu machen, ohne sie direkten Client-Anfragen aussetzen zu müssen. Neben kommerziellen Load-Balancing Lösungen und OpenSource-ReverseProxy-Lösungen wie Apache bietet es vor allem den Vorteil, Lastverteilung in Kommunikation mit dem Message Server zu ermöglichen. Außerdem bedarf es keiner zusätzlichen Lizenzen zusätzlich zu den normalen Wartungsgebühren, um die Software einzusetzen.

Haben Sie Erfahrungen mit dem SAP Web Dispatcher, die Sie mit uns teilen möchten, oder haben Sie Fragen zum SAP Web Dispatcher? Nutzen Sie gerne unsere Kommentar-Funktion.

SAP Web Dispatcher als Web-Cache: https://help.sap.com/doc/saphelp_nwpi71/7.1/de-DE/48/99da1bec0973e9e10000000a42189b/content.htm?no_cache=true

Administration: https://help.sap.com/doc/saphelp_nwpi71/7.1/de-DE/48/99d142ee2b73e7e10000000a42189b/content.htm?no_cache=true

SSL: https://help.sap.com/doc/saphelp_tm91/9.1/de-DE/48/98e6a84be0062fe10000000a42189d/content.htm?no_cache=true


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:

2 Kommentare zu "SAP Web Dispatcher"

Liebe RZ10-Redaktion,
kann ich den Web Dispatcher auch als Loadbalancer für Non-SAP-Systeme verwenden? In meinem Fall geht es speziell um zwei ADFS Server. Vielen Dank und viele Grüße!

Hallo Vera,
Der Web Dispatcher hat konfigurierbare Load-Balancing-Strategien. Allerdings “versteht” er keine Non-SAP-Systeme. Non-SAP-Systeme werden zwar unterstützt, aber das Load Balancing wäre vermutlich ohne Session-Failover. Bedeutet: Server down = Session weg. Vielleicht hilft diese Seite: https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/48/99c3d999273987e10000000a421937/frameset.htm
Viele Grüße
Tobias Harmes

Kommentar verfassen


Unsere Top-Downloads

Angebot anfordern
Preisliste herunterladen
Expert Session
Support