Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

19.11.1998 - 

Geschäftsanwendungen im Internet

Hybrides XML verbindet Tabellen und Objekte

Die Extensible Markup Language (XML) wird zunehmend als herstellerneutraler Standard für die Beschreibung von Dokumenten akzeptiert. Doch XML kann noch mehr. Jürgen Harbarth* erläutert, weshalb sich die Spezifikation auch als Metasprache für Informationen eignet, die in Datenbanken etwa über das Web bereitgestellt werden.

Als Definitionssprache zur Beschreibung inhaltlicher Dokumentenstrukturen hat sich XML unter Insidern einen Namen gemacht. Es handelt sich dabei um eine Art Grammatik, mit der sich beliebige Inhalte ausdrücken lassen. Im Vergleich zur rein formalen Struktur der Hypertext Markup Language (HTML) eröffnet XML gerade im Web ungeahnte Anwendungsbeispiele. So müssen geschäftskritische Applikationen künftig auch im Internet laufen, für die Adressierung dient dabei das Hypertext Transfer Protocol (HTTP). Fügt man diesem allgemein akzeptierten, einfachen Protokoll die Möglichkeiten von XML hinzu, so ergibt sich eine neue Infrastruktur, die besonders gut für E-Business-Anwendungen geeignet ist, weil Datenbanken direkt mittels XML, ohne Umwege etwa über Common Gateway Interface (CGI), HTML oder Java, erschlossen werden können.

Die einfachste Art, eine Datenbanksicht auf XML-Objekte zu öffnen, ist, diese als "Character Large Objects" in einer Datenbank zu speichern. Dies würde zunächst keinen wesentlichen zusätzlichen Nutzen gegenüber einer Speicherung in einem üblichen Dateisystem bieten, wenn man von datenbanktypischen Vorteilen wie Konsistenz, Wiederanlauffähigkeit und Recovery absieht. Das eigentliche Plus besteht darin, daß Informationsobjekte indiziert werden können und damit einen flexibleren Zugriffspfad erlauben als bisher. Folglich wäre der Zugriff auf diese Objekte sowohl über ihre Strukturen (Structure-based Retrieval) als auch über ihre Inhalte (Content-based Retrieval) möglich.

Auf diese Weise lassen sich alle Internet-Objekte in einer Datenbank verwalten. Damit wird das Ziel erreicht, vollständige Anwendungssysteme mit einer homogenen technischen Infrastruktur vom Bildschirm des Anwenders bis zum Speicher für Informationsobjekte zu betreiben.

Über diesen Ansatz ist auch der datenbankbasierte Aufbau von Suchmaschinen für große Informationsmengen möglich, wie sie im Internet verwendet werden. Die Integration von Datenbanktechnologie mit Methoden der inhaltsbezogenen Suche auf der Basis von XML bietet ein interessantes Potential für die hohe Performance derartiger Anwendungen. Da eine Suchmaschine hier direkt auf die relevanten XML-Tags zugreifen kann, wird die Suche auch deshalb effektiver, weil sich inhaltliche Eigenschaften von Dokumenten ganz gezielt auswerten lassen, anstatt die Recherchelogik mehr oder weniger wahllos nach Schlüsselbegriffen zu bemühen.

Der wesentliche logische Aspekt der Integration von XML mit herkömmlichen Datenbanktechnologien ist die Implementierung von XML-Strukturen auf heute übliche Datenmodelle wie "3NF" (3. Normalform). Dabei können entweder SQL-Datenstrukturen an einer XML-Schnittstelle verwendet oder beliebige XML-Objekte auf einer 3NF-Datenstruktur, also in einer relationalen Datenbank, implementiert werden.

Die Verwendung vorhandener SQL-Daten als XML-Objekte ist grundsätzlich immer möglich. Für die Modellierung von Relationen zwischen Tabellen bietet XML zunächst allerdings keine geeignete Infrastruktur. Darüber hinaus stellt die fehlende Typisierungsmöglichkeit, also zum Beispiel die Definition von Feldeigenschaften wie "numerisch", eine wesentliche Einschränkung dar.

Zur Lösung dieses Problems gibt es bereits einige Ansätze. Der vielversprechendste Versuch ist "XML-Data", ein Vorschlag zur Beschreibung von SQL-Strukturen gemäß XML.

Er wurde beim WWW-Konsortium als "technical note" eingereicht und wird im übrigen auch von Microsoft vertreten. Dort dient er bereits als Basis für die Beschreibung von Informationskanälen im "Internet Explorer" mit Hilfe des Channel Definition Format (CDF).

Die Implementierung beliebiger Baumstrukturen, wie sie von XML unterstützt werden, stellt in einem relationalen Datenmodell zwar ein lösbares, aber in der Praxis kaum überschaubares Problem dar. Außerdem dürften sich typische Dokumentenstrukturen vieler mit Hilfe von XML modellierter Informationsobjekte einer unmittelbaren Darstellung mit relationalen Mitteln entziehen, so etwa längere Textelemente, Bilder und komplexe Querverbindungen. Es ist ja gerade der große Vorteil von XML, für Objekte dieser Art eine bessere Abbildung zu liefern als reines SQL.

Die Implementierung von hybriden XML-Objekten könnte dafür ein vielversprechender Lösungsansatz sein. Dabei wird eine Klasse von Objekten zunächst von der dazugehörigen Document Type Definition (DTD) beschrieben. Weiterhin legt eine Vorschrift die Abbildung der XML-Struktur auf eine hybride Infrastruktur fest, bestehend aus einem XML-Datenteil und einer klassischen Tabellenstruktur (Schema-Mapping). Diese Vorschrift hat ihrerseits die Gestalt einer DTD und ist gemeinsam mit der DTD der XML-Objekte Bestandteil eines Repository im Informations-Server.

Die Informationen, die in einem derartigen System bereitgestellt werden, können sowohl als XML-Objekte als auch als SQL-Daten recherchiert werden. Sie lassen sich also von typischen Geschäftsanwendungen sowie für den transparenten Datenaustausch etwa mit EDI-Verfahren (Electronic Data Interchange) oder E-Mail verwenden.

Über das klassische 3NF-Modell hinausgehen

Es ist offensichtlich, daß bei der Umsetzung solcher Anforderungen Datenbanken im Vorteil sind, die den relationalen Ansatz überschreiten und deren Datenstrukturen über das klassische 3NF-Datenmodell hinausgehen. Damit könnten hybride XML-Objekte erheblich transparenter und effektiver, also auch performanter, verarbeitet werden als auf rein relationalen Systemen. Persistente Objekte lassen sich an einer transparenten Schnittstelle mit XML bereitstellen und von einer Vielzahl von Benutzern lokal oder über das Web nutzen.

Ein XML-Server bietet eine ideale Basis für die Speicherung und den Austausch verschiedenartiger Objekte und damit für die Objektserialisierung. Vor allem durch die Möglichkeit der impliziten Datenstrukturierung ergibt sich eine enorme Flexibilität, die gerade für Electronic-Business-Anwendungen gebraucht wird. Requests werden dabei nicht als eine Abfolge von SQL-Queries formuliert, sondern als URL an den Server geschickt. So lassen sich in einer einzigen Abfrage außer relationalen Datenbanken gleichzeitig auch andere Quellen nutzen, zum Beispiel Bilddateien.

IT-Informationen mußten bisher nach unterschiedlichen Typen differenziert behandelt werden. Das relationale Schema ließ sich auf Daten anwenden, die in Tabellen darstellbar waren. Für herkömmliche kaufmännische Informationssysteme war das ausreichend. In Zukunft geht es jedoch darum, alle Informationstypen in eine gesamtheitliche Struktur zu übertragen. Die Stärke von XML ist, Text, Daten und Bilder auf der Darstellungs- wie auf der Datenbankseite in eine homogene Struktur zu bringen.

Relationen im Objekt

Ein Beispiel zur Beschreibung einer gesamtheitlichen Information über einen Patienten im Krankenhaus. Die Information besteht aus kaufmännischen Daten und Texten sowie aus dem Verweis auf das Röntgenbild, das nicht in einer relationalen Datenbank gespeichert ist.

Zur formalen Struktur kommen die Inhalte

XML bezeichnet eine universelle Konvention zur Beschreibung von Daten auf der Basis der Structured Generalized Markup Language (SGML) und geht weit über den bislang im Web hauptsächlich verwendeten Standard Hypertext Markup Language (HTML) hinaus. Anders als HTML ist XML in der Lage, Daten nicht nur nach formalen Kriterien (Überschrift, Textkörper etc.) zu strukturieren, sondern auch nach inhaltlichen Gesichtspunkten.

Um den ganz unterschiedlichen Inhalten des Web Rechnung zu tragen, ist XML so flexibel, daß die jeweiligen inhaltlichen Strukturmerkmale von Benutzergruppen selbst definiert werden können. So wäre es denkbar, daß beispielsweise Meteorologen für den Austausch von Wetterdaten eigene "Tags" wie etwa , , etc. festlegen und diese Definitionen in entsprechenden Templates ablegen. XML-fähige Anwendungen könnten dann derartige Web-Seiten direkt verarbeiten, also beispielsweise Wetterdaten automatisch per Web auswerten.

XML bietet die Möglichkeit, vom Browser aus direkt auf XML-fähige Server zuzugreifen und Informationen zu recherchieren, die vom XML-Server aus verschiedenen Informationstypen oder auch aus vorhandenen relationalen Daten zusammengesetzt werden. Den gleichen Service kann auch eine Anwendung benutzen. Beide verwenden die URL-Adresse für die Verbindung zum gewünschten XML-Server. Klassische Anwendungen können weiterhin parallel dazu laufen und auf ihre SQL-Daten zugreifen.

Jürgen Harbarth ist Projektleiter Datenbank-Management-Systeme (DBMS) bei der Software AG in Darmstadt.