Tamino - XML Datenbank für e-Business

Werbung
Tamino - XML Datenbank für e-Business Lösungen
XML - Neue Wege des Datenaustausches
XML ist eines der Themen mit überragender Markterwartung in der IT. Ob als
Datenaustauschformat, als Schnittstellenbeschreibungssprache, als Kommunikationsprotokoll
oder für die Verlinkung von Content, die Einsatzbereiche von XML sind sehr vielschichtig.
Als ein weiteres Einsatzgebiet für XML werden seit einiger Zeit XML-Datenbanken diskutiert,
die es ermöglichen, XML-Dokumente in persistenten Speichermedien abzulegen. Auf der einen
Seite sind es die klassischen Datenbankanbieter, die über Erweiterungen (Extensions) XMLFunktionalität ihrer Datenbanken hinzufügen, auf der anderen Seite versuchen Anbieter eigene
XML-Datenbanken mit SQL-Gateways am Markt zu positionieren.
Relationale Datenbankmanagementsysteme (RDBMS) haben beim Speichern von XMLObjekten Nachteile, da das auf Tabellen basierende Datenmodell für die hierarchische, komplex
ver-schachtelte Baumstruktur von DOM (Document Object Model)-Bäumen nicht geeignet ist.
1
Ein RDBMS ist gezwungen, diese XML-Objekte in mehrere Tabellen und Spalten zu separieren
(bzw. das komplette Dokument als eigenen Datentyp „als Ganzes“ abzuspeichern).
Mit Tamino („Transaction Architecture for the Management of Internet Objects“) präsentiert die
Software AG im Wettbewerb zu den Anbietern mit XML-Erweiterungen einen Datenbankserver,
der vollständig auf XML basiert. Im Rahmen der Innovationssichtung wurde dieses Produkt über
einen Zeitraum von vier Wochen vom F&E-Bereich auf Einsatztauglichkeit hin evaluiert.
Tamino - Managing XML Objects
Die Anbindung von Tamino an das Internet/ Internet ist über marktübliche Web Server möglich
(beispielsweise Apache). Die Speicherung der Daten erfolgt im reinen XML-Format. Integrierte
Schnittstellen ermöglichen den Zugriff auf externe Datenquellen, wie z.B. relationale und
objektorientierte Datenbanken sowie auf Office Systeme mit OLE DB.
X-Machine Technologie
Zentraler Bestandteil des Tamino Information Servers ist die X-Machine. Sie stellt den XMLKernel von Tamino dar. Eingehende XML-Objekte können damit direkt im native XML-Format
gespeichert werden, ohne vorher in ein anderes Format konvertiert werden zu müssen. Die XMachine kann sowohl strukturierte als auch unstrukturierte Daten (z.B. Audio, Video)
verarbeiten.
Über die integrierte X-Node Schnittstelle lassen sich zusätzlich externe Datenquellen in Tamino
einbinden. Die Daten können in dem bestehenden Datenbanksystemen verbleiben und gleichzeitig
via ODBC, JDBC oder OLE DB Teil der Tamino XML-Objekte sein.
Data Mapping
Der Speicherort von eingehenden Objekten wird durch die integrierte „Data Map“ bestimmt und
hängt von der DTD (Dokument Type Definition) des Objektes ab. Hybrides Mapping ermöglicht
die Speicherung von Objekten teils in internen (native), teils aber auch in externen
2
Datenspeichern. Umgekehrt steuert die Data Map beim Abrufen der Objekte auch den
Datenfluss, der aus mehreren Datenquellen stammen kann.
Tamino – In der Praxis
Nach der konzeptionellen Betrachtung soll nun vorgestellt werden, wie Tamino in der Praxis
eingesetzt wird. Wie funktioniert beispielsweise das Speichern von XML-Dokumenten, wie das
Selektieren von XML-Nodes aus abgelegten Dokumenten heraus?
Schreibende Zugriffe
Das Äquivalent zur Anlage einer Datenbank in einem RDBMS ist die Definition einer Collection
in Tamino (die selbst wiederum Teil einer „Tamino-Datenbank“ ist). Eine Collection kann
wiederum mehrere Schemas enthalten (die als Gegenstück zu einer Tabelle in einem RDBMS
verstanden werden können). Die Schemabeschreibung und –datentypen liegen wiederum im
XML-Format vor und werden in einer eigenen „Grammatik“ definiert.
Ausgangspunkt für den Schreibzugriff ist die DTD, welche die Struktur eines Dokumentes vorgibt
(„Grammatik“). Diese DTD wird in einen sogenannten Schema Editor eingelesen, der ein
automatisches Mapping der DTD in das „Schema-Format“ der Datenbank vornimmt (der
Anwender hat zusätzlich die Möglichkeit, das Schema unabhängig von der DTD im Editor zu
erfassen). Der Editor erlaubt beispielsweise das Festlegen von Attributsbeschreibungen wie
Multiplizität, Default-Values, etc. Wurden alle Änderungen im Schema durchgeführt kann es in
die Collection übernommen werden.
Für den Schreibzugriff werden zwei Möglichkeiten angeboten:
-
Eingabe von Daten über das Interactive Interface (entspricht einem SQL-Gateway mit GUI).
-
Eingabe von Daten über die API-Schnittstelle (beispielsweise in Java).
Nach Ausführung der Statements wird ein Return-Code von der Datenbank im XML-Format
zurückgegeben.
Lesen von Dokumenten
Auch für das Selektieren von Informationen aus den Dokumenten werden zwei Möglichkeiten
angeboten:
-
Selektion über das Interactive Interface
-
Selektion über die API.
3
Der Zugriff auf die XML-Datenbestände über die API wird über ein HTTP-Interface abgebildet.
Über einen Web-Server-Zugriff gemäß der GET-Methode werden Requests an die DB-Engine
gestellt. Die DB-Engine gibt einen Return-Code und im Erfolgsfalle die gelieferten Daten in Form
eines XML-Dokumentes zurück (die Verfahrensweise ist beispielsweise mit dem Produkt
Cocoon von der Apache Group vergleichbar). Der von der Datenbank gesendete XMLDatenstrom kann dann über eine XSLT-Engine mit einer XSL-Beschreibung in ein Zielformat
überführt werden – beispielsweise ein Präsentationsformat (HTML, PDF) oder ein
applikationsspezifisches Zielformat in XML. Der Zugriff über das HTTP-Gateway ist aktuell die
einzigste Möglichkeit, dynamisch Datenbestände zu selektieren, eventuell wird zukünftig eine
JDBC- bzw. ODBC- Implementierung angeboten.
Anwendungsgebiete:
Tamino wird vom Anbieter nicht als direkter Wettbewerber zu relationalen Datenbanken
positioniert, sondern in Ergänzung zu den bereits etablierten Produkten von IBM, Oracle oder
MS. Überlegungen für den Einsatz eines solchen Tools ergeben sich aus der Projektsituation:
Liegt ein bestehendes Datenmodell gemäß 3NF vor, so wird für die Datenhaltung in aller Regel
auch ein RDBMS das bevorzugte System sein (dies trifft ebenfalls zu, wenn Kriterien wie
Sicherheit oder der Reifegrad der Technologie eine sehr wichtige Rolle spielen).
Kann die Business-Logik der Applikation in Form von XML-Dokumenten dargestellt werden, ist
die Darstellung der Datenelemente der Applikation in hierachischer Form geeignet und ist die
Komplexität der Anwendung überschaubar, so kann der Einsatz einer XML-Datenbank eine
interessante Alternative zum Einsatz einer RDBMS sein, da auf das Mapping der Dokumente in
eine relationale Struktur und umgekehrt verzichtet werden kann.
Andreas Rinner
PASS Consulting Group / Bereich F&E
4
Herunterladen