KOMET im Detail - KometML

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <!DOCTYPE komet SYSTEM 'http://www.forst.wzw.tum.de/~mascht/Komet/komet.dtd'>
 3 <komet>
 4   <request>
 5     <dataTree>
 6       <item ontClass="BKZ" belongsTo="REUS" />
 7       <item ontClass="Variante" belongsTo="REUS" />
 8       <item ontClass="Aktiv" belongsTo="REUS" />
 9     </dataTree>
10   </request>
11 </komet>
Listing 1: XML-Botschaft an den EUS-Kern (Dienstanfrage)
 
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <!DOCTYPE komet SYSTEM 'http://www.forst.wzw.tum.de/~mascht/Komet/komet.dtd'>
 3 <komet>
 4   <response>
 5     <dataTree>
 6       <table id="reus.variante" name="Varianten"
 7              dbName="reus_input_varianten">
 8         <column ontClass="BKZ" belongsTo="REUS"
 9                 id="reus.variante.bkz" name="BKZ" dbName="bkz" />
10         <column ontClass="Variante" belongsTo="REUS"
11                 id="reus.variante.var" name="Variante"
12                 dbName="variante" />
13         <column ontClass="Aktiv" belongsTo="REUS"
14                 id="reus.variante.aktiv" name="Aktiv"
15                 dbName="aktiv" />
16       </table>
17     </dataTree>
18   </response>
19 </komet>
Listing 2: Antwort des EUS-Kerns auf die Anfrage in Listing 1

Der EUS-Kern vermittelt zwischen den Subsystemen der KOMET-Architektur und stellt verschiedene Dienste zur Verfügung, die von Komponenten der Subsysteme angefragt werden. Dabei sendet eine Komponente eine Dienstanfrage an den EUS-Kern, der diese verarbeitet, eine Dienstantwort generiert und an die anfragende Komponente zurücksendet. Als gemeinsame Sprache, in der Dienstanfragen und Dienstantworten codiert werden, dient KometML.

KometML ist die Instanz einer Extensible Markup Language (XML). Die formale Beschreibung von KometML liegt in einer Document Type Definition (DTD) vor. Wegen der besseren Lesbarkeit und der Möglichkeit der Validierung mit Java Bordmitteln wurde eine DTD XML-Schema vorgezogen.

Die DTD von KometML steht hier zum Herunterladen bereit.

Für jeden Dienst des EUS-Kerns wird ein Request-Tag definiert. Anhand dieses Tags kann ermittelt werden, welcher Dienst beim EUS-Kern angefragt wird. Entsprechend werden Response-Tags für die Dienstantworten des EUS-Kerns definiert. Einige Anfragen werden vom EUS-Kern mit einer Erfolgs- oder Fehlermeldung beantwortet, wofür die Tags success und error reserviert sind.

Listing 1 zeigt die XML-Botschaft, die eine Komponente im Zuge einer Dienstanfrage an den EUS-Kern sendet, dessen Antwort ist in Listing 2 zu sehen.



Martin Döllerer - zuletzt geändert am 01.01.1970 um 01:00 Uhr