Datenübertragung mit HTTP-Tunneling

Wenn der direkte Datenaustausch zwischen PPM-Frontend und PPM–Mandantenserver durch eine Client Firewall blockiert ist, verwendet das native RMI-Protokoll von Java zur Übertragung der Daten automatisch das http-Protokoll, da dieses normalerweise in Firewalls port-unabhängig freigeschaltet ist. Der JRMP-Datenstrom des RMI-Protokolls wird automatisch in einen http-Datenstrom verpackt (Tunneling) und über eine URL der Form http://<RMI-Registry-Server>:<RMI-Port> an den konfigurierten http-Proxy-Server verschickt. Der verwendete Proxy-Server ergibt sich aus der Konfiguration der Java-Laufzeitumgebung.

Die Firewall zwischen PPM-Frontend und PPM–Mandantenserver muss für http-Datenaustausch auf den RMI-Registry- und Mandanten-Server-Ports freigeschaltet sein.

Tunneling und Umweg über http-Proxy-Server verursachen einen hohen Performanzverlust bei der Kommunikation zwischen PPM-Mandanten-Server und PPM-Frontend.

Die automatische Verwendung des http-Protokolls, wenn das RMI-Protokoll durch eine Firewall blockiert wird, kann nur in Verbindung mit dem nativen RMI-Protokoll (siehe Kapitel RMI-Server) von Java genutzt werden.

Beispiel

Das folgende Bild veranschaulicht den Datenverkehr zwischen PPM-Frontend und PPM–Mandantenserver für den Fall, dass das PPM-Frontend durch eine client-seitige Firewall vom PPM-Mandantenserver getrennt ist. Im dargestellten Szenario wird davon ausgegangen, dass das PPM-Frontend von einer Firewall abgeschirmt ist und alle Ports (außer 80 und 443) beim Übergang in das benachbarte Netzsegment blockiert werden. Das Netzwerksegment 2 ist durch keine Firewall geschützt.

ppm_http-tunneling

  1. Die RMI-Anfragen am RMI-Registry-Server und am PPM-Mandantenserver werden von der Client-Firewall blockiert. Die direkte Kommunikation zwischen PPM-Frontend und PPM-Mandantenserver ist somit nicht möglich.
  2. Das RMI-Transportprotokoll des PPM-Frontend schickt die Anfrage in einen http-Datenstrom (http-POST-request der Form http://<PPM-Server-Name>:<RMI-Port>) verpackt an den client-seitigen Proxy-Server.
  3. Der Proxy-Server leitet die Anfrage stellvertretend für das PPM-Frontend an den PPM-Mandantenserver hinter der Firewall weiter.
  4. Wenn die getunnelten JRMP-Daten am PPM-Serverrechner ankommen, werden sie automatisch vom RMI-Transportprotokoll aus den http-Paketen entpackt und weiterverarbeitet.
  5. Die Antwort des PPM-Servers erfolgt auf umgekehrten Weg in einem getunnelten http-Datenstrom.

Konfiguration

Um den RMI-Datenübertragungsmodus mit automatischem Rückfall auf das HTTP-Protokoll zu aktivieren, weisen Sie dem Schlüssel UseSSL in der globalen Konfigurationsdatei Registry_settings.properties den Wert false und dem Schlüssel RMISocketFactory in der Mandantenkonfigurationsdatei RMIServer_settings.properties keinen Wert zu (RMISocketFactory=) oder kommentieren Sie die entsprechende Zeile durch Voranstellen des Kommentarzeichens # aus. Damit wird automatisch die Betriebsart default gewählt, die das native RMI-Protokoll von Java nutzt.