Show TOC

Bearbeitung von HTTP-Requests im ABAP-WorkprozessLocate this document in the navigation structure

Verwendung

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