Show TOC

HintergrundKommunikation von ICM und J2EE Engine Dieses Dokument in der Navigationsstruktur finden

 

Bei der Kommunikation zwischen ICM und J2EE Engine sind folgende Besonderheiten zu beachten.

  • Es wird ein eigenes Protokoll verwendet

  • Der ICM kann veranlasst werden, mit der J2EE Engine SSL-verschlüsselt zu kommunizieren.

  • Wenn Sie Zertifikatsdaten zur J2EE Engine weiterleiten und dort zur Authentifizierung nutzen möchten, die Kommunikation zwischen ICM und J2EE aber unverschlüsselt sein soll, müssen Sie in der J2EE Engine die Property AcceptClientCertWithoutSSLdes HTTP Provider Service auf true setzen (Default ist false).

Protokoll für die Kommunikation

Die Kommunikation zwischen ICM und J2EE Engine erfolgt mit einem eigenen Protokoll.

Wenn der ICM einen HTTP(S)-Request erhält, der für die J2EE Engine bestimmt ist, so geht er folgendermaßen vor:

  • Falls der Request SSL-verschlüsselt ist (HTTPS), entschlüsselt der ICM die Daten. Der Request ist nun also HTTP.

  • Der ICM schaut nach, auf welchem Port der Java-Dispatcher auf HTTP- bzw. HTTPS-Requests hört. Diese Information schickt der Java-Dispatcher dem ICM über den ABAP-Dispatcher.

  • Der ICM fügt dem HTTP-Request folgende Zusatzinformationen hinzu:

    • Länge des Requests

    • Information, ob es sich um einen HTTP- oder HTTPS-Request handelt

    Hinweis Hinweis

    Der weitergeleitete Datenstrom ist dadurch nicht mehr HTTP.

    Ende des Hinweises.
  • Der Java-Dispatcher schickt den Request einen lokalen Server-Prozess weiter.

Für die Antwort gilt dann dasselbe. Der Java-Dispatcher versieht die HTTP(S)-Antwort mit den Zusatzinformationen und gibt sie dem ICM, der sie dann an den Client versendet.

SSL-Kommunikation

Wenn der ICM einen HTTPS-Request bekommt, entschlüsselt er diesen. Falls er anhand der URL feststellt (vgl. Serverauswahl und Lastausgleich durch den SAP Web Dispatcher), dass der Request an die J2EE Engine gehen soll, gibt es verschiedene Möglichkeiten für die Kommunikation.

Sie können einstellen, ob der Request, bevor er zur J2EE Engine geht, SSL-verschlüsselt werden soll. Hier gibt es folgende Möglichkeiten:

  • Nicht verschlüsseln: der Request geht mit dem oben beschriebenen Protokoll über TCP Sockets zur J2EE Engine.

  • HTTPS-Requests wieder verschlüsseln: alle Requests, die als HTTPS zum ICM kamen, werden wieder SSL-verschlüsselt, bevor sie zur J2EE Engine gehen.

  • Alle Requests verschlüsseln: egal, ob der Request HTTP oder HTTPS war, wird er SSL-verschlüsselt, bevor er an die J2EE Engine geht.

Die Konfiguration des ICM für die Kommunikation mit der J2EE Engine erfolgt über den Profilparameter icm/HTTP/j2ee_<xx>.