Anfang des InhaltsbereichsHintergrunddokumentation Stateless und Stateful Modell Dokument im Navigationsbaum lokalisieren

Das Internet Communication Framework unterstützt in der Serverrolle sowohl stateless als auch stateful Kommunikation. Das ICF kann also die Lebenszeit eines speziellen HTTP-Request-Handlers über einen einzelnen Request hinaus erhalten.

Die Defaulteinstellung ist der stateless Modus, d.h das Attribut STATEFUL des Server-Kontrollblocks hat den Wert CO_DISABLED (vgl. IF_HTTP_SERVER). Es sollte genau abgewogen werden, ob stateful gearbeitet werden muß, da dies den Server weitaus mehr belastet und sich dadurch negativ auf die Performance auswirkt.

Wird stateful gearbeitet, so sind folgende Punkte zu beachten.

  1. Für eine einzelne Session (begrenzt durch die Lebenszeit des korrespondierenden Benutzerkontextes) kann in einer Folge von Requests mehr als ein HTTP-Request-Handler beteiligt sein.
  2. Es existiert niemals mehr als eine Instanz eines speziellen HTTP-Request-Handlers zu jedem beliebigen Zeitpunkt innerhalb einer einzelnen Session. Das heißt, dass eine entsprechende HTTP-Request-Handler-Instanz entweder wiedergenutzt wird bei sequentiellen Requests (Default) oder re-instantiiert wird für jeden einzelnen Request (auf Wunsch durch den HTTP-Request-Handler selbst).

Die Wiederverwendung der HTTP-Request-Handler-Instanz ist nur möglich, wenn die URL genau die gleiche ist wie beim letzten Request. Wird durch eine andere URL zu dem gleichen Request-Handler gesprungen, so wird das Objekt re-instantiiert.

Da HTTP-Requests durch ihr Design unabhängig voneinander sind und keine inhärente Unterstützung für Session-Kontexte liefern, muss solch ein Kontext künstlich konstruiert werden. Hierzu werden Cookies verwendet.

Siehe auch:

StrukturlinkStateful und stateless BSP-Applikationen

StrukturlinkEine kleine Beispiel-BSP-Applikation

Ende des Inhaltsbereichs