Motoren für die Metasprache

16.11.2001
Ein XML-Server ist eine Anwendung, die eine andere mit Daten im XML-Format füttert. Ein XML-Tool stellt ein Hilfsmittel dar, das den Umgang mit der Metasprache erleichtert. Der weit gefächerte Markt an Produkten lässt eine weitere Präzisierung der Definitionen nicht mehr zu, aber immerhin wird Struktur ins Angebot gebracht.

Von: Dr. Johannes Wiele

Wer von einem "Datenbank-Server" spricht, hat normalerweise eine halbwegs genaue Vorstellung davon, auf was er sich bezieht: Auf eine Software, die Informationen strukturiert speichert und auf Anfragen hin wieder zu Tage fördert. Bei einem "XML-Server" kann von einer derart sicheren Definition keine Rede sein. Sicher ist nur, dass er in der Lage sein muss, Daten im Format der Metasprache zu verarbeiten, zu interpretieren und auf Anfrage zur Verfügung zu stellen. XML-Server werden also von ihrem Output und von ihren Verarbeitungsfähigkeiten her definiert, nicht von ihrer inneren Struktur. So kommt es, das Applikationen, die in anderen Bereichen vielleicht als Konverter oder Interfaces bezeichnet würden, unter Spezialisten mitunter widerspruchslos als "Server" gehandelt werden.

Der Grund für die ungewöhnliche Terminologie ist, dass XML zugleich ein Dokumentenformat und eine Austauschbasis für die Datenverarbeitung darstellt. Dateien in der Metasprache enthalten Informationen und Anweisungen für ihre Darstellung und Auswertung zugleich, sodass sich die neue "Lingua Franca des Internets" vorzüglich für den Datenaustausch zwischen Anwendungen eignet. Um dieses Konzept herum hat sich eine neue Sichtweise von IT-Infrastrukturen entwickelt, die sich in der Konzeption von Webservices und Java-Plattformen spiegelt: Man denkt bevorzugt in selbstständig operierenden Diensten, die sich gegenseitig mit Daten beliefern und so frei wie möglich miteinander kombiniert werden können - gleich, ob nun Menschen oder Maschinen als Kommunikationspartner agieren. Der Blick "unter die Motorhaube" der einzelnen Module gilt dabei fast schon als unfein, solange man sich dem Thema nicht als Entwickler nähert. Eine besondere Klasse von XML-Servern sind jene, die mithilfe von Extensible Stylesheet Language Transformations (XSLT) einen XML-Datenstrom in einen anderen transformieren.

Ein interessanter Aspekt dabei ist, dass das XML-Format, das primär für die Verständigung zwischen Applikationen gedacht ist, aufgrund seiner Dokument-Struktur dem menschlichen Verständnis von bequem rezipierbarer Information viel näher kommt als beispielsweise die Tabellen traditioneller Datenbankstrukturen.

Unter der Haube steckt oft alte Technik

Im Hintergrund eines XML-Servers kann eine traditionelle relationale Datenbank "werkeln", eine native XML-Engine für die Verwaltung lediglich grob strukturierter Daten oder eine beliebige andere Applikation. Eine Reihe von Anbietern, die XML-Server auf den Markt bringen, sind altbekannte Entwickler relationaler Datenbanken - beispielsweise Microsoft, Oracle und IBM. Diese Unternehmen stülpen ihren existierenden Produkten einfach Module über, die XML-Daten zerlegen und in den vorhandenen relationalen Strukturen ablegen können. Umgekehrt sind die Produkte natürlich in der Lage, je nach Anfrage von außen die gespeicherten Informationen wieder zu XML-Dokumenten zusammenzusetzen. Konkurrenz erwächst diesen Systemen zunehmend durch native XML-Datenbanken wie "Tamino" von der Software AG (vgl. NetworkWorld 14/01, "Dokumente sind nicht nur Daten"). Ein XML-Server kann auch aus einem kleinen, spezialisierten Java-Applet bestehen oder auf den ersten Blick einer ganz normalen Webseite gleichen.

Ein entscheidender Aspekt sind auch die Kommunikationsmöglichkeiten: HTML-Requests und E-Mail, File Transfer Protocol (FTP) und eine Fülle weiterer Information-Handler werden häufig unterstützt.

Bis 1999 war die Standardisierung der Metasprache noch nicht so weit fortgeschritten, dass die Produzenten von XML-Werkzeugen auf einen breiten Einsatz ihrer Software hätten zählen können. Als im Jahr 2000 dann der Siegeszug des XML-Formats als Standard für die Dokumentspeicherung und für den Informationsaustausch zwischen Applikationen begann, wuchs der Markt allerdings rasant.

Der Tools-Markt ist noch jung

Tools für XML lassen sich in drei große Kategorien einordnen: Content-Tools machen es möglich, XML-Dokumente anzulegen, zu bearbeiten und zu publizieren. Content Manager entsprechen den gewohnten Content-Management-Systemen und erlauben es, Dokumentenbestände zu verwalten, auch wenn sie auf mehrere Server verteilt sind. Entwicklungswerkzeuge schließlich dienen dazu, XML-gestützte Anwendungen zu programmieren.

Anwender, die sich für Content-Tools interessieren, sollten kein Produkt auswählen, ohne zuvor zumindest ansatzweise ein Pflichtenheft angelegt zu haben und zu wissen, wofür XML-Dokumente verwendet werden sollen. Editoren können beispielsweise auf Print-Publishing oder Veröffentlichung im Web ausgelegt sein. Modular aufgebaute Produkte, bei denen XML-Unterstützung in eine komplexe Suite integriert ist, eignen sich besonders für umfangreiche Entwicklungsprojekte wie den Aufbau einer kompletten Website. Diese Produkte sind auch erste Wahl, wenn zu Beginn eines XML-Projekts noch nicht eindeutig feststeht, wozu die Dokumente verwendet werden sollen. Ein letztes Kriterium schließlich ist die Skalierbarkeit der Tools, die zum Beispiel darüber entscheidet, ob größere XML-Projekte bei Bedarf auch von Arbeitsgruppen übernommen werden können.

Das Freeware-Angebot wächst

Für einfache Editoren sind keine großen Investitionen fällig. Eine respektable Auswahl existiert inzwischen durchaus auch im Free- und Shareware-Bereich (Webadressen siehe "Download-Quellen für XML-Tools" in der Tickerleiste). Ein typischer Vertreter dieser Kategorie ist "XML-Spy", ein Programm, das beispielsweise auch HTML-, XSL-, RDF-, 3DML- und DTD-Dateien bearbeitet, verschiedene Ansichten der XML-Dokumente liefert und dabei den Internet-Explorer als Viewer verwenden kann, der als besonders guter XML-Interpreter unter den Webbrowsern gilt. Bei der Auswahl sehr preiswerter oder kostenloser Tools besteht allerdings die Gefahr, dass die Produkte zwar XML lesen können, beim Speichern aber ungültige Dokumente erzeugen. Das Microsoft-XML-Notepad etwa hat den Ruf, unter Umständen solche Fehler hervorzubringen.

Zu den kommerziellen Werkzeugen gehören "XMP Pro" von Vervet Logic und "Xmetal" von Softquad mit integriertem Import-Assistenten für ODBC-Dateien. Arbortext bietet Multi-User- und Singe-User-Werkzeuge fürs Bearbeiten und Publizieren von XML-Dokumenten, die sich je nach Bedarf miteinander kombinieren lassen. Tools der Hersteller Interleaf und Econtent, die 2000 von Broadvision akquiriert wurden, gehören inzwischen zu einem kompletten Set von Werkzeugen für den Aufbau und das Design von E-Business-Services. Außerdem können Nicht-XML-Inhalte in die Projekte mit aufgenommen werden.

Integration in Projektzusammenhänge

Bei den auf den ersten Blick sehr unterschiedlichen Bereichen XML-Content-Management und -Anwendungsentwicklung zeigt sich, dass die XML-Funktionalität in anderen Umgebungen aufgeht. Viele Hersteller von Content-Management-Systemen gehen inzwischen davon aus, dass sich XML als Standard-Format für die Dokumentenverwaltung durchsetzt. Aus diesem Grund wächst das Angebot an Design- und Verwaltungstools, die sich für XML-Dateien eignen, kontinuierlich.

XML-Entwicklungstools dagegen finden sich entweder in Java-Programmierungssuiten oder als Teil von E-Business-Plattformen, die auch von Nicht-Programmierern verwendet werden können. Da XML in komplexen, heterogenen Umgebungen häufig dazu dient, ähnliche Anpassungsaufgaben zu übernehmen, lassen sich die Programmierarbeiten wenigstens zum Teil auf das Niveau von Konfigurationsmaßnahmen reduzieren. Auch hier zeigt sich, dass XML immer seltener direkt bearbeitet werden muss, sondern von umfassenden Anwendungs- und Entwicklungspaketen als Format mit unterstützt wird.