Mit CMS-Komponenten über HTTP kommunizieren

Mehrere Komponenten des Content Management Systems verfügen über eine XML-Schnittstelle. Über diese Schnittstelle können die Komponenten kommunizieren und unter anderem Informationen über Dateien und ihre Versionen austauschen.

Eine CMS-Komponente oder eine andere Applikation kann über die XML-Schnittstelle beispielsweise eine Anfrage an den Content Management Server senden. Anfragen sind XML-Dokumente, die über HTTP mit einer POST-Anweisung zum Content Manager übertragen werden. Auf diese Weise kann etwa die Benutzerschnittstelle mit HTTP-Requests auf Daten im Content Management Server lesend und schreibend zugreifen. Um dem Content Manager im Body eines HTTP-Requests ein XML-Dokument zu übermitteln, verwendet man eine URL mit folgendem Aufbau:

http://mein.nps.server/xml

Über den URL-Bestandteil /xml ist es einer Applikation oder einer CMS-Komponente möglich, die XML-Schnittstelle einer anderen CMS-Komponente zu erreichen. Anhand dieses URL-Bestandteils kann der Content Manager also erkennen, dass der HTTP-Request an seine XML-Schnittstelle gerichtet ist. Der Content Management Server sendet seine Antwort ebenfalls als XML-Dokument im Body seiner HTTP-Response an die jeweilige Applikation zurück (siehe das Handbuch zur Systemadministration / Entwicklung).

In der Regel kann eine Komponente entweder Anfrage-Dokumente oder Antwort-Dokumente kodieren, nicht jedoch beides. Zum Beispiel kann 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 CMS-Komponenten interessant wären.

Die XML-Dokumente, die von zwei CMS-Komponenten ausgetauscht werden, folgen einem strikten Anfrage-Antwort-Schema, wobei Anfrage und Antwort hier nicht Request und Response auf der Ebene des HTTP-Protokolls bedeuten. Vielmehr enthalten die XML-Dokumente entsprechende Anfrage- und Antwort-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 (siehe auch das Handbuch zur Systemadministration / Entwicklung).

Wie Anfrage- und Antwort-Dokumente, die sogenannten Payloads, aufgebaut sein müssen, damit sie beispielsweise der Content Management Server und die Benutzerschnittstelle akzeptieren und auswerten können, ist durch die Content Retrieval and Update Language (CRUL) definiert. CRUL ist eine DTD, die Aufbau und Inhalt der Payloads beschreibt.

Mit CRUL können Applikationsentwickler auf alle im Content Management Server verwalteten Daten zugreifen. Die DTD enthält jedoch keine Elemente, mit denen man auf zusätzliche (benutzerdefinierte) Versionsfelder oder Benutzerfelder zugreifen kann. Diese Felder sind konfigurationsspezifisch. Die entsprechenden Elemente können bei Bedarf von Entwicklern in die DTD aufgenommen werden.