name der anwendung - Profi4project.com

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) XML-Funktionalitä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
1
geeignet ist. 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 XMLFormat. 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
XML-Kernel 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 X-Machine 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
2
in externen 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 XMLDokumenten, 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 XMLFormat 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 XML-Datenstrom kann dann über eine XSLT-Engine mit einer XSLBeschreibung 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