!--a11y-->
Internet
Communication Manager (ICM) 
Der Internet Communication Manager gewährleistet die Kommunikation zwischen dem SAP-System (SAP Web 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.
Sie benötigen den ICM, wenn Sie mit Ihrem SAP Web AS mit
dem Internet über HTTP, HTTPS oder SMTP kommunizieren wollen, etwa bei
Web-Anwendungen mit
Business Server
Pages.
Der ICM ist Bestandteil des SAP Web AS. 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 (vgl.
Parametrisierung des
ICM und des ICM Server-Cache).
Der ICM-Prozess benutzt Threads, um die anfallende Last zu parallelisieren.
Die folgende Abbildung gibt eine detailliertere Übersicht des ICM.

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).
· 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.
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.
Siehe auch: