SAP Web Dispatcher

16 | 29

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 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 Web Dispatcher fest, ob der eingehende Request an einen ABAP- oder Java-Server weitergeleitet werden soll.

E-Book SAP Basis

Mehr als 100 ausgewählte SAP Basis Fachartikel von rz10.de seit 2011! Auf über 900 Seiten Tipps, Tricks und Tutorials mit Screenshots aus echten SAP-Systemen.

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

SAP Basis Berater - gesamte Projekte oder Berater auf Zeit

Sie suchen Unterstützung durch SAP Basis Berater? Wir bieten mehr als nur einen gewöhnlichen Berater auf Zeit. Informieren Sie sich über Ihre Vorteile!

URL-Filtering

Da der 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 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 Web Dispatcher? Nutzen Sie gerne unsere Kommentar-Funktion.

FAQ SAP Web Dispatcher

Was ist der SAP Web Dispatcher?

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.

Was sind die Funktionen des SAP Web Dispatchers?

Der SAP Web Dispatcher leitet jeden eingehenden HTTP(S)-Request an einen geeigneten SAP NetWeaver Application Server zur Bearbeitung weiter. Zudem kennt der SAP Web Dispatcher die aktuelle Last jedes einzelnen Applikationsservers. So kann er die Anfragen gleichmäßig verteilen und dabei auch berücksichtigen, welche Anfragen auf welchem Server überhaupt verarbeitet werden können.

Welche Sicherheitsfunktionen hat der SAP Web Dispatcher?

Als Reverse Proxy ermöglicht der SAP Web Dispatcher eine stärkere Trennung zwischen Client-Zugriff und Applikationsserver. Durch das URL-Filtering werden zudem nur die Informationen freigegeben, die unbedingt nötig sind.

Was sind die Vorteile des SAP Web Dispatchers?

Der SAP Web Dispatcher ermöglicht es, SAP Systeme via Browser erreichbar zu machen, ohne sie direkten Client-Anfragen aussetzen zu müssen. Es 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.


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:

16 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

Hallo RZ10 Team,
 danke für den Artikel. Ist der Webdispatcher denn eine Web Application Firewall?

Hallo,
eher nein, dafür ist der Funktionsumfang m.E. zu begrenzt. Es wirkt zwar stellenweise ähnlich wie eine Web Application Firewall, ist aber auf SAP-nahe und SAP-relevante Protokolle spezialisiert. Daher eher Kategorie Reverse Proxy + Loadbalancer mit Sicherheitsfunktionen.

Viele Grüße
Tobias Harmes

Liebe RZ10-Redaktion,

wann muss ich ein SAP Web Dispatcher installieren. Kann ich auch ohne SAP Web Dispatcher per HTTPS zugreifen ?
Verstehe ich richtig, dass der SAP Web Dispatcher nur für Load Bolancing empfohlen wird ? Und wenn ich eine 3-Systemlandschaft installiere, dann muss der SAP Web nicht mitinstalliert werden ?

für die S4/Hana muss der SAP Web Dispatcher installiert werden ?

Vielen Dank

Hallo Alex,
ja, man kann https auch ohne Webdispatcher direkt mit dem ICM-Server im ABAP machen. Aber wir empfehlen immer Webdispatcher, weil mehr Optionen…
Viele Grüße
Tobias

Hallo Tobias,

Wann benötigt man ein SAP Web Dispatcher ? Benötigt man das für Fiori ? Wenn man eine 3- Schichten Systemlandschaft hat. Wird hier auch ein SAP Web Dispatcher benötigt ?
Wenn man kein SAP Web Dispather hat kann man dann trotzdem über HTPPS ?

Vielen Dank

Hi Alex,
der SAP Web Dispatcher ist wie eine Art Router für Webanfragen. Das bedeutet, dass er auch unerwünschte Anfragen abweisen kann. Daher empfehlen wir, immer einen SAP Web Dispatcher mit zu installieren. Muss aber nicht unbedingt auf einem eigenen Server laufen. Es sei denn, es geht um Anbindung von Anfragen aus dem Internet, dann sollte ein Web Dispatcher auf jeden Fall dazwischen hängen und in der DMZ stehen.
Viele Grüße
Tobias

Hallo Tobias,
welcher Unterschied gibt es zwischen SAP Web Dispatcher und SAP Dispatcher ?
Wo kann ich nachsehen, ob mein SAP Dispatcher gestartet ist ?

Besten Dank

Hallo Sili,
also ich kenne den SAP Dispatcher nur als kurzen Begriff für SAP Web Dispatcher. Wenn du darüber in einem Hinweis oder ähnliches gestolpert bist, dann im Zweifelsfall noch mal genau nachhaken. Denn auch der Kernel von AS ABAP bzw. AS JAVA kennt Dispatcher (“Java dispatcher”).
Und um herauszufinden, ob die Dispatcher wirklich laufen, kannst du auf Betriebssytemebene dir die Prozesse ansehen (z.B. via top oder via Task Manager).
Dort findest du dann Einträge wie “sapwebdisp” für den SAP Web Dispatcher oder “disp+work” für einen ABAP Workprozess.
Viele Grüße
Tobias

Hallo Tobias,
Wir wollen eine 3 System S4HANA Systemlandschaft implementieren. Wie ist es besser, soll man den SAP Web Dispatcher (also embeded SAP Web Dispatcher) auf jedem System installieren oder auf einem dediziertem Server ?

Kann man auch ohne einen SAP Web Dispatcher so eine 3 Systemlandschaft betreiben ?

Danke

Hallo Oli,
also du musst nicht unbedingt den SAP Web Dispatcher auf einer separaten Maschine haben – er kann auch embedded auf dem Applikationsserver mitlaufen. Es kommt ein wenig darauf an, wie groß deine Installation ist. Wenn du den Zugriff von außen (Internet) auf dein SAP erlauben willst, würde ich den SAP Web Dispatcher als separate Maschine netzwerktechnisch getrennt installieren. Das erlaubt mehr Spielraum was die Einschränkung des Zugriffs angeht. Wenn du mehrere Applikationsserver hast, kann der Web Dispatcher auch beim Load Balancing helfen. Funktional ist es nicht erforderlich.
Viele Grüße!

Hallo Tobias,
Vielen Dank !!!
Wenn ich aber den Zugriff von außen (Internet) auf mein SAP System nicht erlauben will und die Systeme sollen nur über VPN Tunnel erreichbar sein.
Benötige ich trotzdem ein SAP Web Dispatcher ?

Ist der SAP WebDispatcher für Fiori erforderlich ?

Danke schön

Hallo,
ein alleinstehender Webdispatcher ist nicht unbedingt erforderlich, wenn Zugriff aus vertrauenswürdigen Zonen (das VPN-Client-Netz würde dann ja dazugehören) erfolgt. Er hat natürlich auch im Innennetz den Vorteil, da er bei Load-Balancing und Trennung zwischen Client- und Server-Netzwerk hilft.
Zweite Frage: Ist ein SAP WebDispatcher für Fiori erforderlich: das hängt davon ab, ob man eine Embedded Installation der für Fiori notwendigen SAP Gateway-Komponente gewählt hat. Ist das SAP Gateway mit auf dem Applikationsserver ist ein alleinstehender Webdispatcher nicht vorgeschrieben. Hat man eine geteilte Distribution (also SAP Gateway Frontend getrennt von SAP Backend-Applikationsserver) dann ist ein Webdispatcher unbedingt empfohlen. Ansonsten hat man eine sehr unübersichtlich Kommunikation, weil die Endgeräte dann sowohl mit Frontend als auch Backend direkt kommunizieren wollen. Und das ist netzwerktechnisch eigentlich nie gewollt.
Viele Grüße!

Hallo Herr Harmes,
Welche Möglichkeiten gibt es, den Einsatz und die ‘Existenz’ eines SAP Webdispatchers aus einem SAP ERP 6.0) heraus ohne direkten Zugriff auf das OS zu überprüfen?
Wie kann man Infos zu einem ggf. eingesetzten Webdispatcher aus SAP heraus ermitteln?

Vielen Dank und Grüsse

Hallo,
es gibt einen Parameter, mit dem man die erlaubten Reverse Proxies in einem ABAP-System einschränken kann. Wenn der gesetzt ist, könnte dort der Host vom Web Dispatcher drin stehen. Der Parameter muss allerdings nicht verwendet werden. Weitere Infos dazu gibt es hier: https://help.sap.com/viewer/683d6a1797a34730a6e005d1e8de6f22/1709.001/en-US/1a3e6d61f67b4f41b18b9179c01f4968.html

Eine Alternative könnte ein ICM-Trace sein, falls da Kommunikation vom Web Dispatcher am System ankommt. Bei entsprechend eingeschaltetem Parameter (icm/HTTP/trace_info) sollten die HTTP-Header im ICM-Trace stehen. Dieser kann dann über die SMICM gelesen werden.

Viele Grüße

Kommentar verfassen


Unsere Top-Downloads

Kontaktieren Sie uns!
Renate Burg Kundenservice