Communication via XML Documents

Several components of CMS Fiona have an XML interface. The components can communicate with each other via this interface and can, e.g. exchange information about files and versions.

A CMS component or another application can therefore send a request document to the Content Manager using HTTP in the manner described above. The request is encoded in the body of the request as an XML document. The Content Manager also returns its response as an XML document in the body of its HTTP response.

As a rule, a component can either encode request documents or response documents, however not both. The user interface can therefore send requests to the Content Manager and interpret its responses; however, it cannot create responses to requests. This is not necessary either because it does not maintain data which would be of interest to other components.

The XML documents exchanged by two CMS components follow strict request-response patterns, whereby what is meant by Request and Response is not request and response on the level of the HTTP protocol. In fact, the XML documents contain request and response XML elements. A component which creates requests in this sense and interprets their responses is a client. Components which can respond to requests are servers. This is illustrated by the figure Request-Response Pattern.

A CMS component can be client and server at the same time. This is the case with the Content Manager, which operates the user interface as a server and appears as a client to the Search Engine Server.

How request and response documents have to be constructed so that the respective components can accept and evaluate them is defined by two DTDs (DTD = Document Type Definition). A DTD is a protocol which specifies the hierarchy and the parts of an XML document.

The figure Client/server relation between CMS components shows which CMS components can communicate using which protocols (DTDs) and which client-server relationships the components have. The arrows always point from a server to a client.

As can be seen in the figure, the components use the CMS protocols CRUL and MISE.

MISE (Method for Interacting with Search Engines) defines the communication between the Content Manager and the Search Engine Server (part of the Search Cartridge). CRUL is used by the user interface to access the Content Manager. Using CRUL, application developers have full access to all the data administered in the Content Manager. Therefore, the XML Interface is described in the following sections with CRUL as an example. An example with a complete request-response pair can be found in section Examples.