XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
XML-‐basierte Kommunikation im IHE - Institute of Health ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3. Methoden und Vorgehensplanung<br />
Da eine Suchanfrage aus vielen Infoitems aufgebaut ist und diese bereits strukturiert <strong>im</strong><br />
Document Consumer zur Verfügung stehen, kann auf die vorhandene Struktur bei der Erstellung<br />
der Suchanfrage zurückgegriffen werden. Es macht Sinn, die Benutzereingaben (Werteein-‐<br />
schränkung) direkt <strong>im</strong> jeweiligen Knoten der erzeugten Baumstruktur zu integrieren. Dies hat<br />
den Vorteil, dass alle relevanten Daten, wie dazugehöriger Datentyp, Eltern-‐Kind Konstellation,<br />
etc. zusammen in einem Objekt gespeichert sind. Aus der Struktur kann dann die valide <strong>XML</strong>-‐<br />
Suchanfrage erstellt werden. Diese Anfrage wird anschließend an den Document Crawler zur<br />
Auswertung gesendet.<br />
Als Ergebnis der Suchanfrage, liefert der Document Crawler ein XHTML-‐File mit den gefundenen<br />
Werten und dem Link zum jeweiligen Dokument <strong>im</strong> Repository an den Document Consumer<br />
zurück. Für die Darstellung des XHTML ist <strong>im</strong> Document Consumer keine weitere Schnittstelle<br />
erforderlich, da dieses direkt <strong>im</strong> Front-‐End dargestellt werden kann.<br />
3.4 Zu Teilziel 2: Implementierung<br />
Dieser Abschnitt beschreibt die Methodik zur Implementierung der Schnittstellen nach dem<br />
vorher entwickelten Schnittstellenkonzept (Abschnitt 4.1).<br />
3.4.1 Schnittstelle zwischen ATR und Document Consumer<br />
Diese Schnittstelle bindet an das ATR und lädt die Infoitems in den Document Consumer, wo sie<br />
gespeichert werden und später für den Suchanfragen-‐Editor zur Verfügung stehen.<br />
Da die Infoitems des ATR bereits hierarchisch strukturiert <strong>im</strong> <strong>XML</strong>-‐Format vorliegen, wird <strong>im</strong><br />
Document Consumer ebenso eine hierarchische Struktur zur Speicherung verwendet. In JAVA<br />
bietet sich dafür am besten eine Baumstruktur an. Weil die Infoitem-‐Struktur aus dem ATR zu<br />
komplex für eine Abbildung auf eine Standardbaumstruktur wäre, wurde eine proprietäre Node-‐<br />
Datenstruktur erstellt. Jeder Knoten in der Struktur besitzt zusätzlich zu den beschreibenden<br />
Informationen (itemCode, label) des Infoitems auch noch einen Zeiger auf den Elternknoten bzw.<br />
eine Liste bestehend aus Zeigern auf seine Kinder. Pr<strong>im</strong>itive und komplexe Infoitems werden in<br />
der selben Node-‐Struktur gespeichert, obwohl ein pr<strong>im</strong>itives Infoitem mehr Speicher für zusätz-‐<br />
liche Informationen benötigt. Bei einem komplexen Infoitem bleiben diese erweiterten Struktu-‐<br />
ren leer. Um den Infoitem-‐Baum in JAVA zu erzeugen, wird ein neues Node-‐Objekt erstellt, wel-‐<br />
ches den Wurzelknoten des <strong>XML</strong>s aus dem ATR übergeben bekommt. Dann wird <strong>im</strong> Konstruktor<br />
das <strong>XML</strong> Schritt für Schritt mit JDOM 12 geparst und daraus rekursiv die Baumstruktur anhand<br />
12 in JDOM wird hier der SAX-‐Parser verwendet<br />
36