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.
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:
Stateful und stateless BSP-Applikationen
Eine kleine Beispiel-BSP-Applikation