Kommunikation über XML-Dokumente

Mehrere Komponenten von CMS Fiona verfügen über eine XML-Schnittstelle. Über diese Schnittstelle können die Komponenten miteinander kommunizieren und beispielsweise Informationen über Dateien und Versionen austauschen.

So kann eine CMS-Komponente oder eine andere Applikation mittels HTTP in der oben beschriebenen Weise ein Anfrage-Dokument an den Content Manager senden. Die Anfrage wird im Body des Requests als XML-Dokument kodiert. Der Content Manager sendet seine Antwort ebenfalls als XML-Dokument im Body seiner HTTP-Response zurück.

In der Regel kann eine Komponente entweder Anfrage-Dokumente oder Antwort-Dokumente kodieren, nicht jedoch beides. So kann beispielsweise die Benutzerschnittstelle Anfragen an den Content Manager senden und dessen Antworten interpretieren, selbst jedoch keine Antworten auf Anfragen erzeugen. Dies ist auch nicht erforderlich, weil sie keine Daten verwaltet, die für andere Komponenten interessant wären.

Die XML-Dokumente, die zwei CMS-Komponenten miteinander austauschen, folgen einem strikten Anfrage-Antwort-Schema, wobei mit Anfrage und Antwort hier nicht Request und Response auf der Ebene des HTTP-Protokolls gemeint sind. Vielmehr enthalten die XML-Dokumente entsprechende XML-Elemente. Eine Komponente, die Anfragen in diesem Sinne erzeugt und die Antworten darauf interpretiert, ist ein Client. Komponenten, die Anfragen beantworten können, sind Server. Dies veranschaulicht die Abbildung Anfrage-Antwort-Schema.


Eine CMS-Komponente kann gleichzeitig Client und Server sein. Dies ist beim Content Manager der Fall, der als Server die Benutzerschnittstelle bedient und gegenüber dem Search-Engine-Server als Client auftritt.

Wie Anfrage- und Antwort-Dokumente aufgebaut sein müssen, damit die jeweiligen Komponenten sie akzeptieren und auswerten können, ist durch zwei DTDs (DTD = Document Type Definition) definiert. Eine DTD ist ein Protokoll, das die Hierarchie und die Bestandteile eines XML-Dokuments spezifiziert.

Die Abbildung Client-Server-Beziehung zwischen CMS-Komponenten zeigt, welche CMS-Komponenten über welche Protokolle (DTDs) miteinander kommunizieren und welche Client-Server-Beziehung die Komponenten haben. Die Pfeile zeigen immer von einem Server auf einen Client.


Wie in der Abbildung zu sehen ist, verwenden die CMS-Komponenten die CMS-eigenen-Protokolle CRUL und MISE.

MISE (Method for Interacting with Search Engines) definiert die Kommunikation zwischen dem Content Manager und dem Suchmaschinen-Server (Search Engine Server, Bestandteil der Search Cartridge). CRUL wird von der Benutzerschnittstelle verwendet, um auf den Content Manager zuzugreifen. Mit CRUL haben Applikationsentwickler vollen Zugriff auf alle im Content Manager verwalteten Daten. Daher wird die XML-Schnittstelle in den folgenden Abschnitten anhand von CRUL beschrieben. Ein Beispiel mit vollständigem Request-Response-Paar finden Sie im Abschnitt Beispiele.