Definition
Das ICM Server-Clipboard ist ein Service, der dem temporären Ablegen von Daten-BLOBs (binary large objects) dient. Werden diese dann in einem HTTP-Request angefordert, können sie sehr schnell bereitgestellt werden.
Verwendung
Zusätzlich zu dem
ICM Server-Cache steht im ICM das Server-Clipboard zur Verfügung. Die Daten-BLOBs, die im ICM Server-Clipboard abgelegt werden, sind mit einem Schlüssel versehen, um späteres Retrieval in Folge-Requests zu ermöglichen. Es wird dieselbe Technik verwendet wie im ICM Server-Cache, um performanten Zugriff zu gewährleisten.Wenn Sie im Rahmen Ihrer Internet-Anwendung Objekte in das ICM Server-Clipboard legen möchten, können Sie hierzu die Methode
SERVER_CACHE_UPLOAD der Klasse CL_HTTP_SERVER verwenden. Diese wird im folgenden beschrieben.
Das ICM Server-Clipboard dient nur zur temporären Ablage von Objekten! Es kann nicht davon ausgegangen werden, dass die Objekte zu einem viel späteren Zeitpunkt noch zur Verfügung stehen!
Struktur
Der
HTTP-Request-Handler, der diese Funktionalität verwenden will, erzeugt für jedes in die Ausgabeseite einzubettende BLOB (z.B. GIF-Images) ein temporäres Response-Objekt. Hierzu wird zunächst mit Hilfe des Klassen-Konstruktors ein leeres Response-Objekt angelegt, welches anschließend mit Standard-Methoden wie APPEND_DATA() (vgl.
IF_HTTP_ENTITY) etc. mit Inhalt gefüllt wird. Auf diese Weise können auch zusätzliche Attribute wie Cache-Verweildauer, Kompression etc. mit den bekannten Methoden (SERVER_CACHE_EXPIRES, SET_COMPRESSION etc.) gesetzt werden.
Anschließend können die auf diese Weise erzeugten Objekte mittels
SERVER_CACHE_UPLOAD unter einer eindeutig zu vergebenden URL in das Server Clipboard hochgeladen werden. Gleichzeitig werden in der aktuellen Ausgabeseite Links auf die beim jeweiligen Aufruf von SERVER_CACHE_UPLOAD vergebenen URLs in den HTML-Datenstrom serialisiert. Die Methode SERVER_CACHE_UPLOAD hat die folgenden Import-Parameter:Somit werden die in der Folge vom HTTP-Client (Browser) generierten Anfragen auf die in dieser Seite eingebetteten Objekte aus dem ICM Server-Clipboard befriedigt.
Siehe auch:
IF_HTTP_RESPONSE und IF_HTTP_REQUEST
Internet Communication Framework
Integration
Technisch wird der ICM Server-Cache verwendet. Ist ein Objekt in das ICM Server-Clipboard eingelagert, befindet es sich in einem speziellen Teil des ICM Server-Caches. Im Gegensatz zu normalen Cache-Einträgen muß gewährleistet sein, dass das Objekt im Clipboard gefunden wird. Es kann bei einem Cache-Fehlzugriff (cache miss) nicht von dem Server geholt werden.
Beispiel
Eine Anwendung enthält eine personalisierte Seite, die sehr viele speicherintensive Grafiken enthält. Diese soll nach dem Anmelden gezeigt werden, ohne dass sie lange aufgebaut wird. Dann muss die Anwendung so programmiert sein, dass bevor die Seite generiert werden soll, die Daten in das ICM Server-Clipboard eingelagert wurden.
Eine Beispiel-Anwendung besteht im Einbetten von XML/XSL-Dokumenten. Diese Funktion wird nicht von allen Browsern direkt unterstützt.