XML-Technologien XML-Technologien Die Comelio GmbH setzt seit vielen Jahren XML -Technologien in Software-Projekten ein. Dazu zählen: Datenmodellierung mit XML Schema, DTD und RelaxNG Präsentation mit XSLT, XSL -FO Integration in und mit Datenbanken wie MS SQL Server und Oracle Erstellung von Schnittstellen für Import/Export oder für Service -Orientierte Architekturen Semantische Technologien mit RDF und OWL Projekte mit XML Umfangreiche Konfigurations möglichkeiten mit XML zur Berichtserste llung für Befragungsauswertungen Viele Beratungsprojekte zum XML -Einsatz Projekte mit Einsatz von semantischen Technologien auf XML -Basis Projekte zur Daten -Integration mit Validierung und Transformation über XML XML (eXtensible Markup Language) Das Akronym XML steht für „eXtensible Markup Language“, auf Deutsch: erweiterbare Auszeichnungssprache, die vom Standardisierungsgremium W3C unter Beteiligung einer Reihe von Firmen und Fachleuten entwickelt und als Technologie betreut wird. Im Wesentlichen handelt es sich um ein Textformat, das lediglich die Strukturregeln für den Aufbau von Beschreibungsund Nutzdaten festlegt und das für beliebige Anforderungen im Bereich der Datenspeicherung/-abbildung geeignet ist. Dabei gibt es eine Reihe von Grammatiken, die den allgemeinen Sprachregeln folgen und die bei Verwendung einer geeigneten Software für eine Reihe von Anwendungsfällen geeignet sind. Es besteht aber insbesondere auch die Möglichkeit, eigene XML-Grammatiken zu entwickeln, die entweder für reine Datenspeicherung/-abbildung verwendbar sind, oder die zusammen mit einer entsprechend entwickelten Software nahezu beliebige Aufgaben lösen können. XML-Einsatz bei der Software-Entwicklung XML-Veröffentlichungenunserer Mitarbeiter XML - Standards und Technologien XSLT, XPath und XQuery XSL-FO XML Schema Oracle, PL/SQL und XML MS SQL Server - XML und SOAP-WebServices Seminare zu XML -Technologien XML-Grundlagen XSLT und XSL-FO XML Schema XML und MS SQL Server XML und Oracle XML und C#.NET, XML und Java sowie XML und PHP Prüfungsschema von XML-Dokumenten XML nun erlaubt die Definition eigener Auszeichnungsbefehle, die ausschließlich für die Textstruktur (und gerade nicht für Layout oder Darstellung) eingesetzt werden sollten. Zwar gibt es einige Praxisfälle, in denen auch Layoutregeln in XML umgesetzt werden. Man sollte diesem Beispiel unter keinen Umständen folgen, sondern diese Regelungen ausschließlich in die verwendeten XSL-Dokumente auslagern. Es ist nicht immer leicht, Kunden, die Layout in XML unterbringen, vom Gegenteil zu überzeugen, können sie doch wunderbar mit XSL auf die Layoutregeln zugreifen, wodurch am Ende weiterhin wunderschöne PDF- und HTMLDokumente entstehen. Aber für die Zukunftstauglichkeit und die langfristige Datenstrukturierung und -speicherung lohnt eine vollständige Trennung von Layout und Inhalt bzw. der Semantik mit Hilfe der XML-Dokumente und der XSL-Dokumente. Hier muss sprachlich noch einmal deutlich gesagt werden, dass es sich bei den XMLDokumenten stets um Instanzdokumente handelt, die korrekt auf bereits existierenden Regeldokumenten beruhen. In Wirklichkeit gibt es ja nicht „das“ XML-Dokument, weil XML ja ausschließlich ein Konzept oder eine Technologie für die Verwendung und Entwicklung von eigenen Auszeichnungssprachen ist. Tatsächlich bezeichnet man ein XML-Dokument als ein solches, weil Textstücke mit Hilfe von Elementbezeichnungen in spitzen Klammern ausgezeichnet worden sind. Diese Syntax, also die Definition der verschiedenen Elementnamen etc., wiederum ist letztendlich immer in einem Regeldokument abgelegt, sodass vor der Verwendung eines Instanzdokumentes oder dem, was bis jetzt immer als XML-Dokument bezeichnet wurde, regelmäßig die Entwicklung eines Regeldokuments liegt. Typische Dokumenttypen in einer XML-Anwendung Die Abbildung soll die verschiedenen Doku- Umfeld denken wie z.B. solche mit semanti- menttypen und deren jeweilige Aufgaben bei schen Informationen oder solche, die zur der Verwendung von XML kennzeichnen. semantischen Untersuchung und Abfrage Wie man sich leicht vorstellen kann, benötigt von existierenden Instanzdokumenten die- man in einer kompletten Anwendung noch nen. Daher handelt es sich bei der Schema- mindestens ein Dokument mit entsprechen- darstellung um das Grundprinzip oder auch dem Quelltext, das die Transformation star- um die Minimalanforderungen einer XML- tet oder mit den benötigten Parametern Anwendung mit den folgenden Dokumentty- versorgt. Zusätzlich lassen sich weitere Do- pen: kumente und Strukturen aus dem XML- XML-Instanzdokument Es basiert auf einem Regeldokument und und die Reihenfolge sowie die Benennung befolgt die dort genannten Strukturregeln in von Elementen sowie entsprechende Daten- Hinblick auf das Vorkommen, die Häufigkeit typen. XSD-Regeldokument Es definiert die Strukturregeln im Hinblick getroffenen Regelungen halten, wobei die auf das Vorkommen, die Häufigkeit und die Prüfung Reihenfolge sowie die Benennung von Ele- Transformationsdokument sicherstellt, dass menten sowie von entsprechenden Datenty- die Transformation durch den Zugriff auf die pen. Seine Inhalte sind bei der Prüfung wich- vorhandenen Elemente mit ihren sonstigen tig, ob die Instanzdokumente sich an die Eigenschaften erfolgreich verläuft. für das XSL- XSL-Transformationsdokument In ihm sind die Transformationsregeln für die Regeldokument exakt eingehalten werden, Umwandlung der XML-Datenströme in ande- da es selbst auf diese Regelungen zurück- re Formate enthalten. Es ist darauf angewie- greift, um Elemente zunächst zu identifizie- sen, ren und dann auch zu verarbeiten. dass die Regelungen im XSD- Wohlgeformtheit und Gültigkeit Für die Überprüfung gibt es zwei Dimensionen, in denen unterschiedliche Ergebnisse erreicht werden können: Wohlgeformt Ein XML-Dokument ist wohlgeformt, wenn Elemente extra ausgezeichnet und die allge- die Syntax korrekt eingesetzt wird, d.h., At- meinen Regeln der Namenskonvention be- tribute in Anführungszeichen gesetzt, leere achtet werden: Das erste Zeichen eines Namens muss ein Buchstabe, ein Unterstrich oder ein Doppelpunkt sein. Gültige Zeichen sind Buchstaben, Unterstriche, Ziffern, Bindestriche sowie Punkte und Doppelpunkte. Streng verboten ist die Verwendung des Wortes XML in all seinen Varianten als Namensbeginn, da geschützt ist. Gültigkeit Ein XML-Dokument ist gültig, wenn die be- genügt, d.h. soweit die Regelungen des Ent- nutzte Tag-Struktur der Anwendungslogik wicklers erfüllt sind. Diese Regeln befinden oder dem inhärenten Sinn des Dokuments sich in einem XML Schema-Dokument. Ziel sollte also stets ein wohlgeformtes – da chenden Schema-Dokuments mit Verwen- sonst ein allgemeiner Fehler auftritt – und dungsangaben abhängt. Der Einsatz eines gleichzeitig gültiges Dokument sein – da solchen Schema-Dokuments führt entweder sonst ein spezieller Fehler in der Anwen- zur Erkenntnis, dass das Instanzdokument dungslogik auftritt. gültig im Sinne des Schema-Dokuments ist Im Ergebnis hat man also zwei Prüfungs- oder nicht. Gültig und wohlgeformt ist also schritte: zum einen die Prüfung auf Wohlge- zur gleichen Zeit erstrebte Ziele, da sie zum formtheit (Syntaxprüfung) und zum anderen einen nachweisen, dass die Regelungen des die (Verwendungsprü- XML-Standards erfüllt sind und zum anderen fung). Letztere muss nicht unbedingt erfol- die Regelungen des Schema-Dokuments be- gen, da sie von der Existenz eines entspre- folgt wurden. Gültigkeitsprüfung Auswahl an XML-Standards Für die Verarbeitung, Validierung und sonstige Nutzung von XML sowie die Speicherung von Daten, die in vielen Anwendungen und Situationen in ähnlicher Form genutzt werden, gibt es eine Reihe von Standards. Einige davon sind vom W3C, viele andere dagegen von anderen Gremien wie ISO oder OASIS sowie Industrievereinigungen, Vereinen oder beliebigen Zusammenschlüssen erstellt worden. Sie lassen sich in unterschiedlichen Gruppen einordnen, die in der Abbildung angegeben sind. Die Liste an möglichen Standards ist keinesfalls abschließend. Es gibt sicherlich 30 bis 50 Standards, die diesen Namen verdienen und eine hinreichend große Reichweite aufweisen. Einige der Standards, die insbesondere für die Abbildung von Datenmodellen existieren, welche von vielen Unternehmen/Organisationen ansonsten immer wieder neu erschaffen werden würden, sind noch sehr neu und haben sich noch nicht im notwendigen Maße ausgebreitet, können aber vielleicht auf eine große Zukunft hoffen. Für diese Standards existieren DTDs oder XML Schemata, in denen das entsprechende Modell hinterlegt ist. Andere Standards sind ebenfalls in XML verfügbar wie bspw. XML Schema für die Modellierung oder XSLT/XSL-FO für die Transformation. Dies ist aus theoretischen Gesichtspunkten besonders interessant, weil man hier sehen kann, welch herausragendes Werkzeug XML ist. XML Schema ist eine XML-Grammatik, welche XML-Dokumente modelliert und mit der man XMLDaten validieren kann und welche darüber hinaus auch noch selbst in XML formuliert wird. XSLT dagegen ist eine deklarative Programmiersprache, die selbst wieder in XML programmiert wird und mit der man in Kombination mit einem geeigneten Prozessor XML-Dokumente in andere Formate umwandeln kann. Darüber hinaus gibt es eine Reihe von Werkzeugen, die nicht als Standards verstanden werden können, die aber dennoch für die Nutzung von XML in den einzelnen Programmiersprachen intensiv genutzt werden. Dabei handelt es sich um spezielle Bibliotheken für die Verarbeitung oder Erstellung von XML-Daten. Als Beispiel ist in der Abbildung XMLReader und XMLWriter enthalten, zwei sprechende Namen, die tatsächlich so in verschiedenen Programmiersprachen als Klassen/Namensräume/Pakete im jeweiligen Framework der Sprache enthalten sind. Vorteile von XML XML bietet eine Reihe von Vorteilen, welche die schnelle und umfassende Verbreitung sehr gefördert haben. Teilweise befürchten insbesondere Datenbankprogrammierer und Administratoren, XML könnte in irgendeiner Weise eine Datenbank ersetzen. Ab und an trifft man auch auf Verantwortliche, die eine solche Überlegung pflegen oder wenigstens grundsätzlich erwogen haben. Dazu wird es nicht kommen. Vielmehr haben sich, wie man in den letzten Jahren gut gesehen hat, die großen DB-Hersteller wie Oracle, Microsoft und IBM in ihren Datenbanksystemen einen neuen XML-Datentyp eingeführt, der es den DB-Produkten ermöglicht, sich diese neue Technologie der Datenspeicherung und –abbildung gleichfalls einzuverleiben. Zu den gerade genannten Vorteilen von XML im Gegensatz zu CSV und insbesondere sonstigen Protokollformaten zählen u.a. die folgenden: Einfachheit XML ist, wenn man sich grundlegend damit meinen Datenmodellierung. Doch die Ähn- beschäftigt, ein sehr einfacher Standard, der lichkeit mit einer noch einfacheren Syntax durch die starke Verbreitung von HTML nur und die gute Lesbarkeit von XML-Strukturen wenig Neues für HTML-versierte Entwickler im Gegensatz zu Protokollen begünstigen bietet. Damit ist allerdings auch schon die eine starke und vor allen Dingen schnelle erste Problemstelle aufgedeckt, denn mehr Verbreitung. HTML bzw. seine wohlgeformte als die spitzen Klammern, die Verwendung Variante XHTML dagegen entspricht einer von Attributen und der korrekten Verschach- gegebenen Modellierung von Strukturen in telung haben HTML und XML nichts gemein- XML, die für die Inhaltspräsentation in so sam. Stattdessen dient XML dem allgemei- genannten Browser-Programmen eingesetzt nen Datenaustausch und der ebenso allge- werden kann. Vielseitiger Einsatz Da – wie gerade schon erwähnt – XML für kommagetrennte Werte verwenden oder die Datenmodellierung und den Datenaus- aus XML heraus solche CSV-Werte erstellen tausch eingesetzt werden kann, ist es ebenso oder den umgekehrten Weg beschreiten, vielseitig verwendbar wie eine Datenbank. und aus CSV-Daten XML-Strukturen generie- Praktisch überall dort, wo Daten anfallen, ren müssen. Vielseitige Verwendung für Da- ausgetauscht und verarbeitet werden, lässt ten in Textform oder mit notwendigen Ver- sich eine Lösung grundsätzlich auch in XML schachtelungen und komplexen Strukturen, denken. Aus technischen Einschränkungen die in relationalen Datenbanken nicht akzep- heraus oder aufgrund von zusätzlichen An- tabel abgebildet werden können, zeichnen forderungen ist dies nicht immer die endgül- XML aus. Gerade hinsichtlich des Datenaus- tige Wahl, doch ließe sich wenigstens eine tauschs zwischen verschiedenen Datenban- Alternativ-Lösung in XML denken. Dies liegt ken gibt es viele gemischte Lösungen, die nicht daran, dass XML besondere Fähigkeiten gleichzeitig XML und Text in Form von CSV hat, sondern schlichtweg daran, dass es eine oder auch SQL verwenden. Dabei werden oft gute Möglichkeit ist, Daten zu verarbeiten. die verschiedenen Textformate aus XML- Nichtsdestotrotz wird man für allereinfachs- Strukturen heraus generiert. te Datenaustauschziele weiterhin auch Gute Lesbarkeit Im Gegensatz zu kommagetrennten Werten ist unter den beiden Stichwörtern Nutzdaten oder gar Protokollen, welche Daten durch und Beschreibungsdaten bekannt. Sind dazu XML-ähnliche Steuerzeichen trennen, bietet diese Daten auch noch sehr kurz, kann der XML im Normalfall eine schnell zu verste- Fall eintreten, dass sogar mehr Dateispei- hende Lesbarkeit. Lange Dokumente oder cherplatz für die XML-Strukturen verwendet tief verschachtelte Strukturen eignen sich wird als für die eigentlichen Daten. Dies soll- zwar nicht notwendigerweise für eine direk- te allerdings bei heutiger Festplattengröße te Lektüre ohne Transformation in ein tabel- sowie len- oder listenorientiertes Format, aber bei keit einen zu vernachlässigenden Aspekt gut gewählten Bezeichnern und einem darstellen. XML-Daten sind natürlich nur grundlegenden Verständnis des Themas oder dann gut lesbar, wenn die XML-Tags, welche der modellierten Datenstrukturen wird eine die Daten auszeichnen, für den Leser ver- XML-Datei durch die Auszeichnung mit Hilfe ständlich sind. Gerade in speziellen Anwen- der XML-Tags immer einfacher und besser zu dungen im Finanz-, Wissenschafts- oder lesen sein als kommagetrennte Werte ohne Technikbereich benötigt ein dem Gebiet Auszeichnung oder Protokolldaten mit kryp- grundsätzlich fern stehender Leser dann eine tischen Steuerzeichen. Ein frühes Gegenar- entsprechende Übersetzungshilfe. Es entfällt gument, das bei der Verwendung von XML allerdings das bei CSV-Daten übliche Zählen auftauchte, beruhte darauf, dass durch die (und vor allen Dingen Verzählen) von Positi- Auszeichnung der Daten sehr viel Speicher- onen, was gerade bei breiten Strukturen mit platz einer Datei allein für die Datendarstel- vielen einzelnen Feldern Hürden für die Da- lung und –aufbereitung verwendet wird. Dies tenzugänglichkeit aufbaut. Netzwerkübertragungsgeschwindig- Standardisierung Protokolldaten in unterschiedlichen Syste- nicht überschätzt werden, weil die bedeu- men bzw. Industriezweigen beruhten und tenden IT-Unternehmen mit entsprechender beruhen natürlich auch heute noch auf Stan- Marktmacht selbstverständlich alle auch im dardisierungsabkommen zwischen Unter- W3C Mitglied sind und dort auch Einfluss nehmen und Organisationen. XML oder das ausüben. Doch zumindest handelt es sich um W3C bieten auch keine Möglichkeiten, Da- ein Gremium, das nicht durch schiere tenstrukturen für jedweden Einsatzbereich Marktmacht dominiert wird, sondern seine einfach von der W3C-Webseite herunterzu- Entscheidungen in einem Prozess trifft, in laden und direkt weiterzuverwenden, aber dem viele Parteien eingebunden sind. Neben der Grundansatz und das theoretische Fun- dieser Standardisierung, welche die Basisar- dament von XML sowie angrenzende Tech- chitektur und damit die allgemeinen Berei- nologien wie XML Schema, XSLT, RDF oder che Modellierung, Validierung, Abfrage und XML Topic Maps liegen jeweils als Standards Umwandlung betrifft, gibt es eine Reihe von vor. Viele Industriezweige besitzen Schemata Versuchen, für bestimmte Sinnzusammen- für ihre Datenstrukturen, welche weit ver- hänge Referenzmodelle und sogar feste breitet sind und sich auch gut verwenden Standards zu etablieren, welche den Daten- lassen. Im Gegensatz zu Protokollen, in de- austausch noch weiter vereinfachen, da eine nen zumindest dieser Zustand auch vor- Umwandlung komplett entfällt. Man kann herrscht(e), bietet die Verwendung von XML nicht erwarten, dass jeder Datenbereich mit XSLT eine wirklich sehr einfache Mög- überhaupt beschrieben wurde oder gar so lichkeit, Daten auszutauschen und in andere gut modelliert wurde, dass die Modellierung Formate zu transformieren bzw. über das exakt für das eigene Problem genutzt wer- gesamte Namensraumkonzept auch Daten den kann. Doch lohnt sich immer die Überle- mit gleicher Auszeichnung oder fremden gung, ob möglicherweise ein solcher Stan- Strukturen zu mischen und weiterhin ge- dard existiert, um wenigstens Anregungen trennt zu adressieren und zu verarbeiten. Die und Denkanstöße zu erhalten. Teilweise Vorteile der Standardisierung bei XML liegen droht man allerdings auch, das Rad neu zu also im Wesentlichen nicht darin, dass es erfinden, sodass eine Kontrolle, ob ein Mo- eine große Auswahl an Standard-Schemata dellierungsversuch vorliegt, teilweise auch zu gibt, sondern vielmehr, dass die Grundkon- der Erkenntnis führt, dass andere Organisa- zeption (XML selbst), die einfache Datenmo- tionen (Unternehmen, Regierungen und dellierung (XML Schema), die semantische sonstige Körperschaften) bereits umfangrei- Datenmodellierung (RDF, XTM, OWL), die che Modellierungsarbeiten geleistet haben Adressierung (XPath, XQL) sowie die Trans- und daher die Entscheidung, einen eigenen formation (XSLT, XSL-FO) herstellerungebun- Weg zu gehen, bereits erfordert, für dieses den vom W3C durchgeführt werden. Die Verhalten eine gute Begründung zu finden. Herstellerungebundenheit darf natürlich XML-Standards wie XML Schema, DTD, OWL, RDF, XSLT, XPath, XQuery in einer Übersicht Aufgabenstellungen mit XML-Einsatz Schnittstellen Erstellung einer Import-/Export-Schnittstelle grammen relationale Daten mit sich wieder- auf Basis von XML, wobei aus relationalen holenden Datensätzen, Verknüpfungen und Daten XML-Daten in einem bestimmten Hierarchien in Form von XML zusammenset- Format aus der Datenbank exportiert und zen, während beim Import-Vorgang dagegen XML-Daten in einem bestimmten Format in eine Zerlegung von XML stattfinden muss, die Datenbank exportiert werden sollen. um die vorhandenen relationalen Strukturen Dabei müssen Sie für den Export-Vorgang direkt aus dem XML zu befüllen. mit Hilfe von Abfragen oder geeigneten Pro- Datenbank-Einsatz Integration von XML in der Datenbank, wo- Zerlegung wünscht oder aufgrund von eher bei nun einzelne Felder oder der gesamte dokumentenorientierten Strukturen auch Datensatz einer Tabelle in Form von XML aus nicht erreichen kann und XML hier anstelle einer Import- von binären großen Objekten oder langen Vorgang übernommen wird. Hierbei liegt die Zeichenketten zum Einsatz kommt, da die Aufgabenstellung so, dass man für ausge- XML-Verwendung für die Anwendungsent- wählte Datenelemente keine relationale wicklung eine Reihe von Vorteilen bringt. Anwendung oder einen Serviceorientierte Architekturen (SOA) Erstellung und Bereitstellung von Webservices für die Integration von mehreren Anwendungen auf unterschiedlichen Plattformen oder in verschiedenen Programmiersprachen. Verarbeitung und Transformation Allgemeine Verarbeitung von XML, wo- XML Schema-Datenstrukturen und – bei in diesem Aufgabengebiet eine Reihe regeln, Transformation und Verarbeitung von allgemeinen Arbeiten durchgeführt von gespeicherten oder übernommenen werden, die sich typischerweise bei XML- XML-Inhalten mit den Werkzeugen DOM Anwendungen stellen und in diesem Fall (Document Object Model) oder XSLT mit Hilfe der jeweiligen Programmier- (eXtensible Stylesheet Language for sprache und sogar innerhalb einer Da- Transformations) sowie die Durchfüh- tenbank umgesetzt werden können. Zu rung von Abfragen auf XML-Daten unter diesen Standardaufgaben gehören: Vali- Verwendung von XPath oder XQuery. dierung von XML-Daten auf Basis von