Allgemeines
Der Informationsaustausch im Internet basiert auf dem Netzwerkprotokoll TCP/IP (Transmission Control Protocol / Internet Protocol) und erfolgt über direkte Socket-Verbindungen. Das TCP/IP-Protokoll ist ein fehlertolerantes Protokoll, das Übertragungsfehler erkennt und beseitigt.
Ein Socket wird eindeutig durch die IP-Adresse des Rechners und eine Port-Nummer bestimmt. Das Serverprogramm erzeugt beim Start einen Socket und wartet auf Anfragen. Ein Client nimmt mit dem Server Verbindung auf, indem er zunächst einen Socket erzeugt und diesen mit dem Socket des Servers verbindet. Anschließend erfolgt der Informationsaustausch in dem vom Server-Socket vorgegebenen Protokoll. Die Verbindung kann durch Schließen des Sockets von einem der Partner beendet werden. In der Regel ist dies der Client, da der Server auf weitere Anfragen wartet.
Die Port-Nummern bis 1023 sind fest für bestimmte Übertragungsprotokolle vergeben. Sie werden "well-known ports" genannt und dürfen nur für die jeweiligen Protokolle verwendet werden. Im Internet wurden beispielsweise die folgende Zuordnungen für bestimmte Übertragungsprotokolle zu festen Port-Nummer des Servers festgelegt (in Klammern angegeben): HTTP (80), FTP (21), telnet (23), SMTP (25), POP3 (110) und HTTPS (443). Port-Nummern oberhalb 1023 werden "user ports" genannt.
Abweichend von den Standard-Port-Nummern kann die Port-Nummer für die meisten zusätzlich eingerichteten Dienste frei gewählt werden.
Eine Socket-Verbindung muss dabei innerhalb eines Netzwerkes eindeutig sein. Ein Port kann pro Netzwerkadresse nur einmal belegt werden.
Netzwerkschnittstellen
Jeder Server oder Desktop Rechner, auf dem PPM installiert werden kann, verfügt in der Regel über ein bis zwei Netzwerk-Ressourcen bzw. -Karten (auch NIC = Network Interface Card genannt). Jede NIC stellt im Netzwerk eine eindeutige Adresse (IP) bereit, unter der der Server erreichbar ist. Im Normalfall ist eine NIC für den Betrieb von PPM völlig ausreichend. Jeder Service, der von PPM bereitgestellt wird, läuft auf einer individuellen und für die NIC eindeutigen IP und Port Kombination.
Sollten mehrere NICs im Server verfügbar sein, die auch von einer Applikation genutzt werden können (Management Netzwerke sind dabei ausgeschlossen), kann PPM auch auf individuelle NIC-Adressen (IP + Port) konfiguriert werden. Die Nutzung mehrerer Netzwerkkarten wird besonders dann interessant, wenn nur eine eingeschränkte Anzahl an frei nutzbaren Ports zur Verfügung steht.
PPM-Netzwerkprotokolle
Die Kommunikation der PPM-Komponenten untereinander basiert auf TCP/IP. Andere Protokollfamilien (z. B. IPX, SPX) werden nicht unterstützt. PPM verwendet folgende TCP/IP-Protokolle:
Komponente |
Protokoll |
Standard-Port |
---|---|---|
Load Balancer |
HTTP / HTTPS |
4080/4443 |
CORBA Registry |
IIOP |
17590 + n |
CORBA Registry |
Activation Port |
17589 |
RMI Registry |
RMI / SSL RMI / zipped RMI |
17500 |
<Clientname>_cs |
RMI / SSL RMI / zipped RMI |
17501 + 2*n |
<Clientname>_as |
RMI / SSL RMI / zipped RMI |
17502 + 2*n |
PPM Web |
HTTP |
17101 |
PPM Web |
AJP |
17201 |
ElasticSearch |
HTTP |
17047 |
ZooKeeper |
HTTP |
17050 |
UMC |
HTTP |
17100 |
UMC |
AJP |
17200 |
Cloud Agent |
HTTP / HTTPS |
17004 |
RMI (Remote Method Invocation)
PPM-Mandantenserver und PPM-Frontend tauschen über dieses Protokoll Daten aus. Als Übertragungsstandard verwendet PPM die Protokollvariante JRMP (Java RMI Message Protocol). Das PPM-Frontend benötigt in der Regel zwei RMI-Kommunikationskanäle (Socket-Verbindungen), einen zum systemweiten RMI-Registry-Server und einen zum PPM-Mandantenserver, genauer gesagt zum PPM-Server selbst. Standardmäßig erfordert das RMI-Protokoll eine direkte Socket-Verbindung.
Unter bestimmten Umständen können Sie das PPM-System auch so konfigurieren, dass nur ein einzelner RMI-Kommunikationskanal benötigt wird (siehe Kapitel Datenübertragung mit HTTPS-Tunneling).
Corba (Common Object Request Broker Architecture)
Die Web-Applikation Performance Dashboard, die Management Views sowie die Abfrageschnittstelle (Query-API) verwenden dieses Protokoll, um innerhalb einer Serverinstallation mit dem PPM-Mandantenserver zu kommunizieren.
JDBC (Java DataBase Connectivity)
Über dieses standardisierte Protokoll greifen Java-Anwendungen auf ein RDBMS zu. Die hierfür benötigten JDBC-Treiber sind nicht Bestandteil der PPM-Installation und werden vom Datenbankhersteller zur Verfügung gestellt.
HTTP (HyperTextTransferProtocol)
PPM verwendet dieses Protokoll zur Übertragung der HTML-Dokumentseiten, von textbasierten Konfigurationsdateien (*.properties) und von Java-Archivdateien, die zum Ausführen des PPM-Frontend im Browser erforderlich sind.
Auch der Web-Applikationsserver verwendet dieses Protokoll zum Publizieren von Management Views und zum Ausführen des Performance Dashboard.
Anstelle des HTTP-Protokolls können Sie auch die sichere Variante HTTPS einsetzen.