Dokumentation zur KomponenteInternet Communication Manager (ICM) Dieses Dokument in der Navigationsstruktur finden

 

Der Internet Communication Manager gewährleistet die Kommunikation zwischen dem SAP-System (SAP NetWeaver Application Server) mit der Außenwelt über die Protokolle HTTP, HTTPS und SMTP. In der Serverrolle kann er Anfragen aus dem Internet bearbeiten, die mit URLs mit der Server/Port-Kombination, auf die der ICM hört, ankommen. Abhängig von der URL ruft der ICM dann den entsprechenden lokalen Handler auf.

Einführungshinweise

Sie benötigen den ICM, wenn Sie mit Ihrem SAP Application Server mit dem Internet über HTTP, HTTPS oder SMTP kommunizieren wollen, etwa bei Web-Anwendungen mit Web Dynpro ABAP.

Integration

ICM im NW Application Server

Der ICM ist Bestandteil des SAP NetWeaver Application Server. Er ist als eigener Prozess implementiert, der vom Dispatcher gestartet und überwacht wird. Sie können mit Profilparametern einstellen, ob der ICM gestartet werden soll und wie er konfiguriert sein soll.

Weitere Informationen:

Administration des Internet Communication Managers

Parametrisierung des ICM und des ICM Server-Cache

SAP Web Dispatcher

Der ICM und der SAP Web Dispatcher verwenden die gleiche Code-Basis. Der Hauptunterschied ist, dass der Web Dispatcher Loadbalancing durchführt und Requests nicht Workprozessen, sondern ICMs der angeschlossenen Server gibt. Aufgrund dieser Verwandtschaft gibt es viele gemeinsame Profilparameter und Administrationsmöglichkeiten. Die Dokumentation ist so aufgebaut, dass hervorgeht, welche Dinge ausschließlich für den ICM und welche auch für den Web Dispatcher gelten.

Funktionsumfang

Der ICM-Prozess benutzt Threads, um die anfallende Last zu parallelisieren.

Die folgende Abbildung gibt eine detailliertere Übersicht des ICM.

Die Abbildung wird im Begleittext erläutert.

ICM: Komponenten und Kommunikationskanäle

Neben dem Pool von Worker-Threads, die die eingehenden Anfragen bearbeiten, sind folgende Komponenten des ICM als weitere Threads implementiert:

  • Thread Control

    Dieser Thread nimmt die eingehenden TCP/IP-Requests entgegen und erzeugt (oder weckt) einen Worker Thread aus dem Threadpool, um den Request zu bearbeiten. Des weiteren initialisiert die Thread-Steuerung die Verbindungs-Info-Daten.

  • Worker-Threads

    Diese Threads behandeln Anfragen und Antworten einer Verbindung. Ein Worker-Thread enthält einen I/O Handler für die Netzwerkein- und -ausgabe, diverse Plugins für die verschiedenen unterstützten Protokolle (HTTP, SMTP,...), die benötigt werden, um entscheiden zu können, wann das gesendete Paket zu Ende ist (protokollabhängig). Details zur Requestbearbeitung finden Sie unter Bearbeitung von HTTP-Requests.

  • Watchdog

    Normalerweise wartet ein Worker-Thread auf die Antwort (egal, ob er Client oder Server ist); im Fall eines Timeouts übernimmt der Watchdog die Aufgabe, auf die Antwort zu warten. Der Worker-Thread kann wieder für andere Anfragen verwendet werden. Erhält der Watchdog dann die Antwort, informiert er die Thread Control Komponente, die dann einen Worker Thread weckt.

  • Signal Handler

    Dieser Thread bearbeitet Signale, die vom Betriebssystem oder einem anderen Prozess (z.B. Dispatcher) gesendet werden.

  • Verbindungs-Info

    Diese Tabelle enthält für jede bestehende Netzwerkverbindung Infos über den Zustand, die Memory Pipes und die Plugin-Daten.

  • Memory Pipes

    Diese speicherbasierten Kommunikationsobjekte dienen zum Datentransfer zwischen ICM und den Workprozessen. Hierbei gibt es für jede Verbindung 4 Pipes: für Request und Response je eine Datenpipe und eine OOB (Out Of Band)-Pipe. Letztere wird für Steuerinformationen verwendet.

  • Internet Server Cache

    Der ICM enthält noch einen Cache, um sich wiederholende Anfragen schnell beantworten zu können. Dieser Cache ist hier im Bild nicht dargestellt, er ist in einem eigenen Abschnitt beschrieben: ICM Server-Cache.

Weitere Informationen

Bearbeitung von HTTP-Requests