Grundlagen

Der Content Management Server, der Search Engine Server und die Template Engine verfügen über ein so genanntes Streaming-Interface. Diese Schnittstelle erlaubt es, größere Datenmengen zu oder von einer Applikation zu übertragen, ohne dabei so viel RAM zu verbrauchen wie die Daten auf der Festplatte. Die Daten werden auf mehrere Blöcke aufgeteilt, die nacheinander übertragen und am Ziel in eine Datei geschrieben werden. Der während dieses Vorgangs beanspruchte Arbeitsspeicher beschränkt sich so auf die Größe eines einzigen Blocks.

Es gibt drei mögliche Arten von Operationen, die über das Streaming-Interface ausgeführt werden können: Uploads, Downloads und die Übertragung der Ausgabe zusätzlicher Befehle (Custom Commands). Bei jeder dieser Operationen bezieht man sich mit einem eindeutigen Bezeichner, dem Streaming-Ticket, auf die Daten, die übertragen wurden oder werden. Für die drei genannten Arten von Operationen bedeutet dies:

  • Upload

    Lädt man Daten zu einer Applikation hoch, so erhält man ein Ticket, das man in der darauf folgenden Operation anstelle der Daten angibt. Nachdem man beispielsweise einen große Datenmenge (Blob) zum Content Management Server hochgeladen hat, lassen sich diese Daten anschließend mit einem an das XML-Interface gerichteten Request einer Version zuordnen, indem man in dem Request das Ticket angibt.

  • Download

    Fordert man per XML-Request beispielsweise einen Blob an und gestattet der Applikation, Streaming zu verwenden, so erhält man in der Antwort ein Ticket anstelle des Blobs, wenn die Datenmenge die konfigurierte Grenze überschreitet (siehe tuning). Anschließend können die Daten über das Streaming-Interface unter Angabe des Tickets abgeholt werden (siehe das Beispiel im folgenden Abschnitt).

  • Zusätzliche Befehle

    Über das GUI (und damit über das XML-Interface) können kundenspezifische Befehle ausgeführt werden. Da man die Ausgabe eines Befehls meist im Browser sehen möchte, erhält man als Antwort auf den Request zur Ausführung ein Streaming-Ticket. Unter Angabe dieses Tickets kann die Ausgabe des zusätzlichen Befehls fortlaufend abgeholt werden, d. h. bis der Befehl terminiert.

Das Streaming-Interface ist über den HTTP-Port der Server-Applikation erreichbar. Die Basis-URL des Interfaces ist /stream. Bei Downloads und kundenspezifischen Befehlen folgt darauf als weiterer URL-Bestandteil die Ticket-ID (siehe die Beispiele in den folgenden Abschnitten).

Hochgeladene oder angeforderte Daten stehen nur so lange zur Verfügung, wie es mit dem Systemkonfigurationseintrag streamingTicketValidityTimeInterval im Bereich tuning der Systemkonfiguration eingestellt wurde. Tickets und die Daten, zu denen sie gehören, werden automatisch gelöscht, nachdem sie das konfigurierte Höchstalter überschritten haben.