Überblick
Der ICM erhält einen HTTP-Request, da die URL die Kombination von Servernamen und Port enthält, auf die der ICM hört.
Der ICM entscheidet anhand der URL, ob und welcher lokale Handler aufgerufen wird.
Wenn der ABAP-Handler des ICM den Request bekommt, soll der HTTP-Request von einem ABAP-Programm im Workprozess verarbeitet werden (z.B. eine mit Web Dynpro ABAP erzeugte Anwendung).
Ablauf
Die folgende Grafik zeigt für diesen Fall den Ablauf vom Eintreffen eines HTTP-Requests von einem Web-Client bis zum Empfang der Response durch den Client.
Der ICM legt die empfangenen Daten in einer Memory Pipe (liegt im Shared Memory) ab und informiert den Dispatcher.
Der Dispatcher nimmt den ICM-Request in die Dispatcher-Queue auf, legt einen neuen Kontext an (falls nicht schon ein Kontext vorhanden ist und stateful gearbeitet wird) und wählt einen Workprozess zur Bearbeitung aus.
Dieser Workprozess (Taskhandler) führt einen speziellen ABAP-Report aus, um die Initialisierung für das HTTP-Framework vorzunehmen.
Dann liest er die Daten aus der Memory Pipe, bearbeitet die Anforderung (via ICF und HTTP-Request-Handler) und schreibt die Antwort wieder in die MPI.
Dann signalisiert er dem ICM, dass er mit der Bearbeitung des Requests fertig ist.
Der ICM schickt die Responsedaten wieder an den Client zurück.