In manchen Firmennetzwerken werden PPM-Frontend und PPM-Mandantenserver in verschiedenen Netzwerksegmenten betrieben, wobei die einzelnen Segmente durch eine Kombination aus Firewall und HTTPS Proxy geschützt sind (z. B. durch Microsoft® Internet Security and Acceleration Server – ISA). In den meisten Fällen sind diese Firewall/Proxy-Ketten sehr restriktiv konfiguriert, sodass meist nur ein verschlüsselter Datenaustausch auf wenigen frei geschalteten Ports möglich ist (Port 80 und/oder 443). Wird eine solche Netzwerktopologie vorgefunden, kann man die Betriebsart https-proxy verwenden, um die Datenübertragung zwischen PPM-Frontend und –Mandantenserver zu ermöglichen.
Beispiel
Die nachfolgende Abbildung veranschaulicht den Datenverkehr zwischen PPM-Frontend und PPM-Server für den oben geschilderten Fall, in dem das PPM-Frontend durch eine oder mehrere Firewalls vom PPM-Mandantenserver getrennt ist. Eine direkte Kommunikation zwischen PPM-Frontend und PPM-Mandantenserver ist nicht möglich. Auch das HTTP-Tunneling ist bei verschlüsseltem Datenverkehr nicht möglich. Somit muss auf die Betriebsart mit der Datenübertragung über HTTPS-Proxy zurückgegriffen werden. Die PPM-Frontend-Firewall muss diese Betriebsart auch unterstützen.
Konfiguration
Diese Betriebsart aktivieren Sie, indem Sie in der globalen Konfigurationsdatei Registry_settings.properties dem Schlüssels UseSSL den Wert https-proxy zuweisen. Dabei wird automatisch SSL verschlüsselte Datenübertragung verwendet.
Die Konfiguration der SSL-Verschlüsselung ist detailliert in den Kapiteln Registry und SSL beschrieben. Zusätzlich muss sichergestellt sein, dass das verwendete PPM-Frontend den zu nutzenden HTTPS-Proxy verwendet. Dies muss sowohl für das Java-Browser-Plugin als auch das Analysis-GUI sichergestellt werden.
JAVA-Browser-Plugin (Java-Control-Panel)
Die im Browser ausgeführte PPM-Benutzeroberfläche verwendet den Proxy-Server, der in der Java-Laufzeitkonfiguration (Java-Control-Panel in der Systemsteuerung) angegeben ist. Mittels Java-Control-Panel kann man im Dialog Netzwerkeinstellungen den zu verwendenden Proxy-Server durch Rechnername und Port-Nummer angeben. Den Dialog starten Sie, indem Sie auf Netzwerkeinstellungen... im Feld Netzwerkeinstellungen der Registerkarte Allgemein klicken.
Alternativ kann man den HTTPS-Proxy-Server mittels Dialog Java Runtime-Einstellungen bearbeiten. Dazu klicken Sie auf der Registerkarte Java auf Anzeigen im Feld Java-Applet-Laufzeiteinstellungen. Im Eingabefeld Java Runtime-Parameter wird der HTTPS-Proxy wie folgt angegeben:
-Dhttps.proxyHost=<Hostname> -Dhttps.proxyPort=<Portnummer>
JAVA-Application (Analysis-GUI)
Wenn man mittels PPM-Analyse-GUI über https-Proxies auf einen PPM-Server zugreifen möchte, muss man den HTTPS-Proxy in der Umgebungsvariablen PPM_PROXY angeben. Die Syntax ist dieselbe wie beim zuvor beschriebenen Java-Runtime-Parameter.
Beispiel
PPM_PROXY=-Dhttps.proxyHost=mypc.company.com -Dhttps.proxyPort=3128
Wenn man die Datenübertragung über HTTPS-Proxies aktiviert hat, muss man durch die zusätzliche Zwischenstation mit Performanzverlust rechnen.
Wenn der in der Konfiguration angegebene HTTPS-Proxy nicht erreichbar ist, wird eine entsprechende Fehlermeldung ausgegeben.
Wenn kein HTTPS-Proxy in der Konfiguration angegeben ist und die Umgebungsvariable PPM_PROXY nicht definiert ist, wird die Datenübertragung direkt und verschlüsselt durchgeführt (wie UseSSL=true). Um den durch die HTTPS-Proxies verursachten Performanzverlust zu vermeiden, sollte man auf dem PPM-Serverrechner keinen https-Proxy spezifizieren, damit auf dem Server gestartete PPM-Kommandozeilenprogramme mit dem Server über lokale Verbindungen Daten austauschen können.
Einschränkungen
Der Betrieb von PPM in einem solchen Szenario führt zwangsweise zu Einschränkungen im Netzwerkbetrieb, da nur bestimmte Ports (z. B. 443) verwendet werden dürfen. Die freie Port-Wahl ist nicht mehr möglich.
Wenn man mehrere PPM-Server wie auch den Apache Load Balancer mit nur einer einzigen verfügbaren Port-Nummer auf dem Server betreiben möchte, müssen mehrere NICs installiert sein, die für jeden Service eine eigene eindeutige Adresse (IP + Port) zur Verfügung stellen können. PPM unterstützt dieses Szenario derart, dass einzelne Dienste (wie z.B. PPM-Registry und Mandantenserver) auf eine feste IP und Port-Kombination konfiguriert werden können.
Konfiguration
Man muss die Datei Registry_settings.properties im Verzeichnis <installationsverzeichnis>\ppmmashzone\server\bin\work\data_ppm\config der PPM-Installation bearbeiten. Dazu gibt man im Schlüssel RMIServerURL die Netzwerkadresse und Port-Nummer der PPM-Registry an. Dem Schlüssel RMIBindRegistryToSingleAddress weist man den Wert true zu. Dadurch verwendet die PPM-Registry ausschließlich die angegebene Netzwerkadresse.
Für jeden gewünschten PPM-Server bearbeitet man die Datei RMIServer_settings.properties im mandantenspezifischen Konfigurationsverzeichnis. Dazu gibt man im Schlüssel RMIObjectsBindAddress die gewünschte Netzwerkadresse (IP oder Netzwerkname) des PPM-Servers an. Die Port-Nummer ist im Schlüssel RMIObjectsPort angegeben. Mit dieser Konfiguration verwendet der PPM-Server ausschließlich die angegebene Netzwerkadresse.
Das beschriebene Verfahren wird nur von der Serverbetriebsart Standard unterstützt. Skalierte Systeme werden nicht unterstützt.
Warnung
Das beschriebene Vorgehen ist für alle PPM-eigenen Übertragungsarten, die in der Konfigurationsdatei RMIServer_settings.properties unter RMISocketFactory angegeben werden zulässig. Es ist nicht zulässig für Standard-RMI-Datenaustausch („default").
Beispiel
Es sollen zwei Mandanten über einen einzigen Port betrieben werden. Der PPM-Serverrechner verfügt über drei Netzwerkadapter, die so konfiguriert sind, dass der Rechner über die Namen ppmsrv, ppmsrv1 (Mandant ppm1) und ppmsrv2 (Mandant ppm2) über das Netzwerk angesprochen werden kann. Die für PPM vorgesehene Port-Nummer ist 5010.
Vorgehen