Show TOC

Architektur des Internet Communication Managers (ICM)Locate this document in the navigation structure

Verwendung

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

Die folgende Abbildung gibt eine detailliertere Übersicht des ICM.

Abbildung 1: Architektur 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).

    Weitere Informationen: 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 (AS ABAP) bzw. den Java Server-Prozessen (AS Java). 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.

    Weitere Informationen: Memory Pipes und MPI-Puffer

  • 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.