Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

7
1 Einleitung Die Auszeichnungssprache XML hat sich in den letzten Jahren nicht nur in ihrer an- gestammten Doma ¨ne des Dokumentenma- nagements sondern auch zum Nachrich- tenaustausch im E-Business-Bereich [RaAS02], zur Konvertierung von Daten- besta ¨nden [BuLW01] sowie allgemein als plattform- und programmiersprachen- unabha ¨ngige Basistechnologie zum Daten- austausch wie beispielsweise in Web-Ser- vice-Architekturen [BeMW02] durch- gesetzt. Dieser Beitrag illustriert die Rolle von XML bei der Kopplung von IT-Systemen und verdeutlicht die Grenzen von existie- renden XML-Werkzeugen bei der Ver- arbeitung von grossen Datenmengen. So stoßen etwa ga ¨ngige Prozessoren zur Transformation von XML-Daten bei wachsendem Datenvolumen rasch an Leis- tungsgrenzen. Es stellt sich die Frage nach skalierbaren Werkzeugen zur Speicherung und Verarbeitung von XML-Daten. Vor diesem Hintegrund wird die native XML-Datenbank der Infonyte GmbH als XML-Prozessor 1 vorgestellt, der insbeson- dere die effiziente Verarbeitung großer XML-Datenvolumina ermo ¨ glicht und da- bei sehr geringe Systemanforderungen stellt. Zentrale technische Grundlagen sind das am Fraunhofer Institut fu ¨ r Integrierte Publikations- und Informationssysteme (IPSI) entwickelte persistente DOM (PDOM, eine persistente Implementierung der W3C-DOM-Schnittstelle) sowie ein webfa ¨higer Anfrageprozessor, der alle ga ¨n- gigen XML-Anfrage- und -Transforma- tionssprachen unterstu ¨ tzt. Die Infonyte GmbH mit Sitz in Darmstadt ist ein Spin- Off des Fraunhofer IPSI. Die Infonyte-Technologie findet sich heute schon in einer Vielzahl von Produkten wie Web-Portalen, B2B-Nachrichtensystemen, Content Management Systemen und mobi- len Informationssystemen wieder. Neben vor allem amerikanischen Luftfahrtunter- nehmen setzt eine wachsende Zahl von Kunden aus der IT-Industrie, der Fer- tigungsindustrie und dem Finanzbereich Infonyte-DB als Komponente in ihren Produkten ein. 2 Herausforderungen bei der XML-Verarbeitung Die Herausforderung heutiger IT-System- architekturen ist die kostengu ¨ nstige und flexible Kopplung von gewachsenen Syste- men. Dabei sind in der Hauptsache Me- dien- und Prozessbru ¨che zu u ¨ berwinden. XML hat sich hier als neutrales Datenaus- tauschformat durchgesetzt. Mit XML las- sen sich auch komplexe Datenstrukturen vergleichsweise einfach darstellen und zwi- schen verschiedenen Plattformen und Pro- grammiersprachen austauschen. Fu ¨r den praktischen Einsatz gibt es eine breite Basis von freien und kommerziellen Werkzeugen zur Erstellung, Validierung und Transfor- mation von XML. In zwei Bereichen kommen die Sta ¨rken von XML besonders zum Tragen: WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469 475 Die Autoren Thomas Tesch Peter Fankhauser Tim Weitzel Dr. Thomas Tesch, Infonyte GmbH, Julius-Reiber-Str. 15, 64293 Darmstadt, E-Mail: [email protected]; Dr. Peter Fankhauser, Fraunhofer IPSI, Dolivostr. 15, 64293 Darmstadt, E-Mail: [email protected]; Dipl.-Kfm. Tim Weitzel, Universita ¨t Frankfurt, Institut fu ¨r Wirtschaftsinformatik, Mertonstr. 17, 60054 Frankfurt/Main, E-Mail: [email protected] Skalierbare Verarbeitung von XML mit Infonyte-DB WI – Innovative Produkte

Transcript of Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

Page 1: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

1 Einleitung

Die Auszeichnungssprache XML hat sichin den letzten Jahren nicht nur in ihrer an-gestammten Domane des Dokumentenma-nagements sondern auch zum Nachrich-tenaustausch im E-Business-Bereich[RaAS02], zur Konvertierung von Daten-bestanden [BuLW01] sowie allgemein alsplattform- und programmiersprachen-unabhangige Basistechnologie zum Daten-austausch wie beispielsweise in Web-Ser-vice-Architekturen [BeMW02] durch-gesetzt.

Dieser Beitrag illustriert die Rolle vonXML bei der Kopplung von IT-Systemenund verdeutlicht die Grenzen von existie-renden XML-Werkzeugen bei der Ver-arbeitung von grossen Datenmengen. Sostoßen etwa gangige Prozessoren zurTransformation von XML-Daten beiwachsendem Datenvolumen rasch an Leis-tungsgrenzen. Es stellt sich die Frage nachskalierbaren Werkzeugen zur Speicherungund Verarbeitung von XML-Daten.

Vor diesem Hintegrund wird die nativeXML-Datenbank der Infonyte GmbH alsXML-Prozessor1 vorgestellt, der insbeson-dere die effiziente Verarbeitung großerXML-Datenvolumina ermoglicht und da-bei sehr geringe Systemanforderungenstellt. Zentrale technische Grundlagen sinddas am Fraunhofer Institut fur IntegriertePublikations- und Informationssysteme(IPSI) entwickelte persistente DOM(PDOM, eine persistente Implementierungder W3C-DOM-Schnittstelle) sowie einwebfahiger Anfrageprozessor, der alle gan-

gigen XML-Anfrage- und -Transforma-tionssprachen unterstutzt. Die InfonyteGmbH mit Sitz in Darmstadt ist ein Spin-Off des Fraunhofer IPSI.

Die Infonyte-Technologie findet sich heuteschon in einer Vielzahl von Produkten wieWeb-Portalen, B2B-Nachrichtensystemen,Content Management Systemen und mobi-len Informationssystemen wieder. Nebenvor allem amerikanischen Luftfahrtunter-nehmen setzt eine wachsende Zahl vonKunden aus der IT-Industrie, der Fer-tigungsindustrie und dem FinanzbereichInfonyte-DB als Komponente in ihrenProdukten ein.

2 Herausforderungenbei der XML-Verarbeitung

Die Herausforderung heutiger IT-System-architekturen ist die kostengunstige undflexible Kopplung von gewachsenen Syste-men. Dabei sind in der Hauptsache Me-dien- und Prozessbruche zu uberwinden.XML hat sich hier als neutrales Datenaus-tauschformat durchgesetzt. Mit XML las-sen sich auch komplexe Datenstrukturenvergleichsweise einfach darstellen und zwi-schen verschiedenen Plattformen und Pro-grammiersprachen austauschen. Fur denpraktischen Einsatz gibt es eine breite Basisvon freien und kommerziellen Werkzeugenzur Erstellung, Validierung und Transfor-mation von XML.

In zwei Bereichen kommen die Starkenvon XML besonders zum Tragen:

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Die Autoren

Thomas TeschPeter FankhauserTim Weitzel

Dr. Thomas Tesch,Infonyte GmbH,Julius-Reiber-Str. 15,64293 Darmstadt,E-Mail: [email protected];Dr. Peter Fankhauser,Fraunhofer IPSI,Dolivostr. 15,64293 Darmstadt,E-Mail: [email protected];Dipl.-Kfm. Tim Weitzel,Universitat Frankfurt,Institut fur Wirtschaftsinformatik,Mertonstr. 17,60054 Frankfurt/Main,E-Mail: [email protected]

Skalierbare Verarbeitungvon XML mit Infonyte-DB

WI – Innovative Produkte

Page 2: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

& Medienneutrales Publizieren: Mit derzugrundeliegenden Trennung von Inhaltund Darstellungsinformationen hatXML seine Kernanwendungsdomane imBereich von komplexen medienneutra-len Publikationsprozessen. Sowohl furContentmanagementsysteme, die Infor-mationen bedarfsgerecht fur bestimmteZielmedien zusammensetzen, als auchDokumentenmanagementsysteme, dieihren Schwerpunkt in der Verwaltung,Archivierung und Abfrage großer Do-kumentenbestande haben, ist XML dieideale Basistechnologie. Dabei mussenhaufig verschiedene proprietare Doku-mentenformate vor der Weiterverarbei-tung in eine XML-Reprasentation ge-bracht werden. Mit entsprechendenTransformationssprachen wie der Ex-tensible Stylesheet Language Transfor-mations (XSLT) lassen sich aus denXML-Dokumenten dann beliebige Pra-sentationsformate (HTML, PDF, eBook-Formate, Druckvorstufe) erzeugen.

& Kopplung von Geschaftsprozessen: Beider innerbetrieblichen Kopplung vonGeschaftsprozessen unter dem Schlag-wort Enterprise Application Integration(EAI) werden Losungen zur �berwin-dung von Unterschieden zwischenMainframe-Systemen, Legacy-Anwen-dungen, ERP-Software und Web-An-wendungen entwickelt. Die unterneh-mensubergreifende Kopplung hat den

Umgang mit unterschiedlichen Part-nern, Datenformaten, Technologien,Prozessen und Anforderungen zumZiel. Anstatt die proprietaren Datenfor-mate der einzelnen Prozesse direkt in-einander zu konvertieren, dient XMLhier als neutrales Zwischenformat zumDatenaustausch. Damit konnen ahnlichwie beim medienneutralen Publizierenmehrere Zielprozesse aus einer Quellebedient werden. Dies bietet die Mog-lichkeit zu einer losen Kopplung derSysteme und minimiert gegenseitige Ab-hangigkeiten.

Die mit dem Erfolg von XML einher-gehende Durchdringung von IT-Architek-turen bringt jedoch existierende XML-Werkzeuge schnell an ihre Grenzen beimUmgang mit großen Datenvolumina. Dashat vor allem zwei Grunde:

& Verbositat: Ein Designziel von XML,namlich die Selbstbeschreibung, fuhrtzu großen Dokumenten. In vielen Do-kumenten ist die Auszeichnungsinfor-mation großer als die ausgezeichnetenDaten. Der direkte Umgang mit textuel-lem XML belastet daher die Speicher-systeme genauso wie die zur Verfugungstehende Netzbandbreite.

& Mangelnde Skalierbarkeit: Die existie-renden XML-Werkzeuge werden immerwieder wegen ihres Speicherverbrauchsund ihrer Verarbeitungsgeschwindigkeit

kritisiert. Dies betrifft insbesondereRealisierungen der Programmierschnitt-stelle Document Object Model (DOM)des W3C, die XML-Dokumente kom-plett als Baum im Hauptspeicher dar-stellen. Je nach XML-Dokument undDOM-Implementierung kann ein textu-elles XML-Dokument in einem Haupt-speicher-DOM auf die zwanzigfacheGroße anschwellen. �hnliche Problemetreten bei Implementierungen der Trans-formationssprache XSLTauf [XSLT99].

Eine Moglichkeit zum Umgang mit XML-Massendaten sind native XML-Daten-banksysteme oder mit XML-Fahigkeitenangereicherte relationale Datenbanksyste-me. Beide stellen die Validierung und Spei-cherung von vielen XML-Dokumentenmit entsprechenden Suchmoglichkeiten inden Mittelpunkt. Bei der Nutzung vonXML zur Integration zeigt sich jedoch,dass die skalierbare Verarbeitung weitausstarker im Vordergrund steht als die dauer-hafte Ablage. Publikationsumgebungen,die Ur-Domane der XML-Verarbeitung,erfordern neben leistungsfahigen Autoren-werkzeugen in erster Linie die effizienteFilterung, Transformation und Formatie-rung zur Erzeugung verschiedener Zielfor-mate. Auch im Bereich der Datenkonver-tierung sind weniger die Ablage alsvielmehr der effiziente Abgleich mit Quel-len beim Import und die anschließendeAggregation und Transformation gefragt.Diese Anforderungen mit reinen XML-Speichersystemen zu realisieren scheitertoft an unzureichend integrierten DOM-und XSLT-Implementierungen. Bild 1 stelltdie Nutzungsweise des Infonyte XML-Prozessors zur XML-Verarbeitung sowohlbeim medienneutralen Publizieren als auchzur Kopplung von Geschaftsprozessen dar.

Der imNachfolgenden beschriebene XML-Prozessor Infonyte-DB der InfonyteGmbH hat sich auf den Einsatz von XMLfur medienneutrales Publizieren und dieIntegration von Geschaftsprozessen spe-zialisiert. Das Produkt stellt die XML-Ver-arbeitung in den Mittelpunkt und betrach-tet die Speicherung von XML-Datenlediglich als Voraussetzung, um mit Stan-dard-PC-Hardware auch mit Datenvolu-mina im Gigabyte-Bereich zu skalieren.Selbst bestehende XML-Anwendungen,die uber die Standardschnittstellen DOModer XSLT arbeiten, konnen durch denAustausch der entsprechenden Module mitder Infonyte-Losung zu skalierbarenXML-Anwendungen umgerustet werden.

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

RDBMS

Legacy

EDI

DMS/

CMS

SGML

XML

Text -

daten

Filtern

Transform.

Formatieren

Validieren

Aggregieren

Suchen

Importieren

Abgleichen

XML

Ko

pp

lun

gvo

nP

roze

ssen

Med

ien

neu

tral

esP

ub

lizie

ren

XML

Message

Web

ServerInfonyte-DB

Infonyte-DBCD-ROM

PDF

+

Print

Wireless,

PDA,

eBookInfonyte-DB

XML XML

Erzeugung Verarbeitung Nutzung

XML-Prozessor Infonyte-DB

Bild 1 XML-Verarbeitung mit Infonyte-DB

470 Thomas Tesch, Peter Fankhauser, Tim Weitzel

Page 3: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

3 Infonyte-DB

Beim Entwurf des Infonyte-XML-Prozes-sors wurde das Ziel verfolgt, einen modula-ren und skalierbaren XML-Kern zu bauen,der sich anwendungsspezifisch erweiternlasst. Um ein hohes Maß an Integrierbar-keit zu erreichen, wurde darauf geachtet,die Kommunikation zwischen der Anwen-dung und dem Infonyte-Produkt soweitwie moglich uber standardisierte Schnitt-stellen zu realisieren. Nutzer erreichen soselbst beim Einsatz einer neuen und inno-vativen Technologie ein hohes Maß an In-vestionssicherheit, da Investitionen in pro-prietare Schnittstellen vermieden werden.

3.1 �berblick

Infonyte-DB ist modular aufgebaut, d. h.die einzelnen Komponenten lassen sich bisauf wenige Ausnahmen auch unabhangigvoneinander einsetzen (Bild 2). Den Kernbildet ein persistentes DOM, auf dem inder XML-Welt gangige Anfrage- undTransformationsprozessoren realisiert sind.Diese nutzen fur Optimierungszweckezwar spezielle Eigenschaften des persisten-ten DOMs aus, konnen aber auch auf ande-ren DOM-Implementierungen aufsetzen.Um die effiziente Verarbeitung von großenXML-Dokumenten (ab ca. 500 MB) zuermoglichen, konnen Indizes auf XML-Dokumenten (oder Kollektionen) definiertwerden. Der dargestellte Kollektions-Manager bietet erweiterte Funktionen zumUmgang mit Dokumentmengen.

Das Produkt Infonyte-DB ist vollstandigin Java implementiert und so auf praktischallen marktrelevanten Plattformen ohneProbleme lauffahig. Die Entscheidung, aufJava zu setzen, hat sich als richtig erwiesen,da Java sich bei internetbasierten Server-anwendungen durchgesetzt hat und beimgezielten Einsatz und Verzicht der ver-schiedenen Sprachkonstrukte in punktoPerformance anderen Sprachen kaum nochnachsteht. Die verfugbaren Just-In-Time-�bersetzer haben gegenuber statischen�bersetzern ohnehin den Vorteil, dass ih-nen zusatzliche Laufzeitinformationen zurVerfugung stehen, die sie fur Optimie-rungszwecke einsetzen. Die Infonyte-XML-Komponenten haben je nach Aus-baustufe eine Code-Große zwischen400 KB und 800 KB und sind bereits ab16 MB RAM lauffahig.

Das System kann von einer Anwendungdirekt uber die Kommandozeile, einenWeb-Server oder Java-Schnittstellen ange-sprochen werden. Es verarbeitet direktwohlgeformtes XML, ohne dass eine DTDoder ein Schema angegeben werden muss.Alle Index- und Speicherungsstrukturenwerden aus den Instanzinformationen ge-wonnen. Somit entfallt auch die lastige An-gabe von Abbildungsvorschriften auf phy-sische Datenmodelle, wie es bei derXML-Speicherung in relationalen Syste-men und auch einigen XML-Datenbankennotig ist. Jede �nderung der Dokument-struktur zoge dann aufwendige Wartungs-arbeiten nach sich.

Nachfolgend werden die einzelnen Kom-ponenten genauer beschrieben.

3.2 Das persistente DOM

Die persistente DOM-Komponente (PDOM)bildet den Kern der Infonyte-Architektur,die in Bild 2 dargestellt ist. Das WorldWide Web Konsortium (W3C) hat mitdem DOM die Standard-Programmier-Schnittstelle zum Umgang mit XML-Do-kumenten geschaffen. Im DOM wird ein

XML-Dokument als Baum mit unter-schiedlichen Knotentypen dargestellt, wel-che die speziellen Eigenschaften von Ele-menten, Attributen etc. modellieren. Sokann eine Applikation uber die Dokumen-tenstruktur navigieren, und auch das Hin-zufugen von neuen Knoten in einen beste-henden Dokumentbaum ist moglich.

Es gibt heute eine Vielzahl von DOM-Im-plementierungen fur alle gangigen Spra-chen. Sie bauen den Dokumentbaum in derRegel komplett im Hauptspeicher auf, was,je nach Implementierung und Hostsprache,zu erheblichen Speicherproblemen fuhrt.Ein 20 MB XML-Dokument belegt ineinem Hauptspeicher-DOM zwischen200 MB und 400 MB. Das Infonyte-PDOM geht hier einen anderen Weg, derdieses Problem vermeidet. Es bietet derApplikation eine vollstandig W3C-DOM-konforme Schnittstelle an, verwaltet dasXML-Dokument jedoch in einem hoch-kompakten und indizierten binaren For-mat. Das PDOM kontrolliert den Lebens-zyklus von instanziierten DOM-Objektenin einem Cache und verdrangt, je nachCachegroße, nicht benotigte Teile auf denSekundarspeicher. Außerdem stellt es Syn-chronisationsmechanismen fur Multi-threading-Zugriffe bereit und bietet Funk-

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Kernpunkte fur das Management

Die Extensible Markup Language (XML) hat mittlerweile breite Akzeptanz in der Industrie alsuniverselles Datenaustauschformat gefunden. Dieser Beitrag zeigt, wie IT-Architekturen mitHilfe von XML gekoppelt werden und welche Implikationen sich daraus fur die Gestaltungvon hochskalierbaren XML-Prozessoren ergeben. Vor diesem Hintergrund wird die Konzep-tion und Implementierung des XML-Prozessors und Datenbankprodukts Infonyte-DB vor-gestellt. Die wesentlichen Ergebnisse lauten:

& XML hat sich als „Enabling Technology“ fur medienneutrales Publizieren und die flexibleKopplung von Geschaftsprozessen durchgesetzt.

& XML-basierte IT-Architekturen brauchen Werkzeuge zum effizienten Speichern, Durch-suchen und Transformieren von XML-Daten.

& Infonyte-DB ist ein XML-Prozessor, der alle Kernfahigkeiten zur effizienten und skalier-baren XML-Verarbeitung mitbringt.

& Die Modularitat und Offenheit des Kernprodukts erlaubt den schnellen Aufbau von XML-fahigen Anwendungssystemen.

& Das Produkt wird erfolgreich eingesetzt fur Enterprise Application Integration (EAI), Inter-aktive Elektronische Technische Dokumentationen (IETD) sowie fur mobile Informationssys-teme.

Stichworte: Extensible Markup Language, XML, Datenbank, medienneutrales Publizieren,Kopplung von Geschaftsprozessen, Infonyte

Skalierbare Verarbeitung von XML mit Infonyte-DB 471

Page 4: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

tionen zur Wartung und Defragmentierungder persistenten Dokumente.

Bei der Speicherung von XML legt dasPDOM automatisch Indexstrukturen an,um die ursprungliche Dokumentreihenfol-ge zu rekonstruieren und um das Wieder-auffinden von Dokumentteilen zu erleich-tern. Intern verwaltet das PDOM einekonstante Anzahl von DOM-Knoten prophysischem Speichersegment. Zur Redun-danzvermeidung werden zusatzliche Ver-waltungsinformationen wie Element-namen, Attributnamen etc. extrahiert unduber Indizes verwaltet. Diese Vorgehens-weise garantiert die einfache Adressierbar-keit von Dokumentknoten uber Integer-Arithmetik sowie die einfache Feststellung,ob ein Knoten bezuglich der Dokumen-treihenfolge vor einem anderen Knotenliegt und ob ein Knoten Elemente oder At-tribute eines bestimmten Typs enthalt. EineVorlauferversion dieser Datenstruktur istin [HMF99] beschrieben.

3.3 Data-Server

Das PDOM benutzt zur Kommunikationals Speicher-Backend das Data-Server-Mo-dul. Diese Komponente abstrahiert vonden konkreten Eigenschaften eines Spei-chermediums und bietet wahlfreien Zugriff

auf beliebig große Datensegmente. DieData-Server-Schnittstelle ist vollstandig of-fengelegt, so dass bei Bedarf eigene Imple-mentierungen realisert werden konnen. DerInfonyte-XML-Prozessor besitzt eine effi-ziente Data-Server-Implementierung, diedie Speichersegmente in Binardateien ver-waltet. Wie in der Architektur angedeutet,ließen sich Data-Server-Implementierungenauch auf einer relationalen Datenbank auf-setzen oder zur Realisierung einer Haupt-speicherdatenbank verwenden [MBK00].Genauso konnte ein Data-Server auf seineDaten uber Netzdienste zugreifen, um dieSkalierung im Mehrbenutzerbetrieb zu er-hohen. Die Offenheit der Backend-Schnitt-stelle ermoglicht die Erstellung gerate-spezifischer Data-Server, so dass derXML-Prozessor leicht auf die Eigenschaf-ten unterschiedlicher Speichersysteme vomHandheld bis zum hochskalierbaren NAT-Server angepaßt werden kann.

3.4 XML-Abfragen und XSL-Transformation mit PXSLT

Der Infonyte-XML-Prozessor unterstutztdie gangigsten XML-Abfragesprachen undTransformationswerkzeuge. Diese habendie Aufgabe, Dokumentteile zu selektieren,mehrere Dokumente zu kombinieren,Sichten auf Dokumente zu realisieren so-

wie Ergebnisse zusammenzusetzen. DieExtensible Query Language (XQL) ist einVorlaufer aus dem Jahre 1999 [XQL99],wurde aber nie vom W3C als Standard ver-abschiedet. Heute dominieren XPath, dasauch in XSLT zur Selektion von Do-kumentteilen Verwendung findet, und derzukunftige XQuery-Standard die Szene[XPath99,XQuery02]. Sowohl XPath alsauch XQL-Anfragen werden in der Info-nyte-Architektur zunachst in einen initia-len Ausfuhrungsplan ubersetzt, der in eineran XPath angelehnten Algebra dargestelltwird. Dieser Ausfuhrungsplan wird durchdie Anwendung von Transformations-regeln optimiert, um die Ausfuhrungszeitder Anfrage zu minimieren (logische Opti-mierung). Eine anschließende physischeOptimierung unter Einsatz der beschriebe-nen Indexstrukturen fuhrt dann zu eineroptimierten Sequenz von DOM-Operatio-nen, um das Ergebnis der Abfrage zu in-stanziieren.

Der Infonyte-XSLT-Prozessor (PXSLT furPersistent XSLT) bietet erstmalig die Mog-lichkeit, XSLT-Verarbeitung direkt aufeiner persistenten Reprasentation vonXML-Dokumenten durchzufuhren. Gera-de im Bereich der Verarbeitung großerXML-Dokumente mit XSLT gibt es massi-ve Probleme mit den existierenden haupt-speicherbasierten Implementierungen. Diesfuhrt in der Praxis haufig zur Stuckelungder XML-Dokumente in mehrere nochhandhabbare Einheiten und das Hinter-einanderschalten mehrerer XSLT-Skripte.Der PXSLT-Prozessor kann aufgrund sei-ner Architektur ohne SchwierigkeitenXML-Dokumente im Gigabyte-Bereichmit konstantem Hauptspeicherbedarf ver-arbeiten. Durch die Verwendung des kom-pakten PDOM-Formates in Verbindungmit darauf zugeschnittenen Caching-Algo-rithmen geschieht dies praktisch ohneEinbußen bei der Verarbeitungsgeschwin-digkeit. Damit ermoglicht der PXSLT-Pro-zessor auch die Realisierung hochvolumi-ger XML-Anwendungen.

Der kommende XQuery-Standard ist inder Architektur bereits dargestellt. XQuerynutzt den XPath-Standard zur Auswahlvon Dokumentfragmenten und erweitertihn um SQL-artige Konstrukte fur dieKombination und Restrukturierung vonDokumentfragmenten. Zur Darstellungvon XML-Anfrageresultaten nutztXQuery konsequenterweise XML selbst.Daruber hinaus definiert XQuery dienotwendigen Funktionen und Operatoren

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Algebraischer Anfrage Optimierer

Persistentes DOM (PDOM)

XQueryXPathXQL

Dataserver I/O Manager

PDOM File RDBMS Paged I/OMain

Memory

XSLT

Index Manager

W3C DOM

API

Collection

API

XML Anwendung

Servlet Java APIKommandozeile

Algebraischer Anfrage Optimierer

Persistentes DOM (PDOM)

XQueryXPathXQL

Dataserver I/O Manager

PDOM File RDBMS Paged I/OMain

Memory

XSLT

Index Manager

W3C DOM

API

Collection

API

XML Anwendung

Servlet Java APIKommandozeile

Bild 2 Infonyte-DB Komponentenarchitektur

472 Thomas Tesch, Peter Fankhauser, Tim Weitzel

Page 5: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

fur alle eingebauten Datentypen vonXML-Schema. Ein Prototyp, der auf demDOM-API aufsetzt, ist bereits vorhanden[FGO02].

3.5 Benutzerdefinierte Indizes

Fur große XML-Dokumente und Doku-mentkollektionen, an die inhaltsorientierteAnfragen gestellt werden, sind die dar-gestellten Strukturindizes nicht ausrei-chend fur eine schnelle Anfragebearbei-tung. Um auch die Werte von Textknotenin einem Index zu erfassen, konnen benut-zerdefinierte Indizes angelegt werden. Jenach Typ der zu indizierenden Werte wer-den Integer-, Double- oder String-Indizeserzeugt. Fur textbasierte Suche ist die Er-stellung eines Wortindex moglich. Index-eintrage konnen entweder auf die indizier-ten Knoten selbst oder wahlweise auch aufandere Knoten (z. B. die Dokumentwur-zel) verweisen. So lassen sich beispielsweiseauch Wortindizes fur große Dokument-mengen aufbauen, die direkt Dokumentezuruckgeben. Des Weiteren lassen sich dievorhandenen Indexstrukturen durch denAnwender erweitern, um spezielle Typenwie beispielsweise die Indizierung vonWahrungsformaten oder proprietaren Zah-lendarstellungen zu unterstutzen.

3.6 Performanz

Experimente mit einer XML-Version derfrei verfugbaren CD-Datenbank FreeDB[FreeDB02] sollen einen Anhaltspunkt furdie Leistungsfahigkeit des Systems liefern.Bild 3 zeigt die CD-Datenbank im Admi-nistrations-GUI des Infonyte-Systems. DieFreeDB enthalt ca. 500.000 CD-Beschrei-bungen mit einer Datengroße von etwa500 MB als XML-Rohtext.

Auf einem Standard-PC (1,8 Ghz, 512 MBRAM) dauert das Parsen und die Erzeu-gung eines PDOM (32 Millionen XML-Knoten, 400 MB) inklusive aller Struktu-rindizes etwa 4 Minuten (~2MB/Sekunde).Das Anlegen eines benutzerdefinierten In-dex uber die einzelnen CD-Schlussel fuhrtzur Indizierung von 548.000 Knoten oder1,7% der gesamten Datenbank und dauertetwa 88 Sekunden. Der Aufbau eines Voll-textindex (28 Millionen Knoten, 89% dergesamten Datenbank) nimmt etwa 17 Mi-nuten in Anspruch und resultiert in einerGroße von 90 MB. Je nach Indexdefinition

werden zwischen 5 MB und 10 MB XML-Rohtext pro Sekunde indiziert. Bei derXSLT-Verarbeitung, beispielsweise zur Er-zeugung von HTML, liegt der Durchsatzbei etwa 10–20 MB pro Sekunde.

4 Anwendungsszenarien

Im Folgenden wird die Nutzung der Info-nyte-XML-Technologie in drei verschiede-nen Anwendungsszenarien dargestellt. Da-bei wird der Einsatz des Systems zurKopplung von Geschaftsprozessen sowiezum medienneutralen Publizieren im Be-reich der technischen Dokumentation ge-zeigt. Ein weiteres Szenario verdeutlicht,dass Infonyte-DB sich aufgrund der Platt-formunabhangigkeit und des sparsamenUmgangs mit Systemressourcen auch zumAufbau von Informationssystemen fur mo-bile Endgerate eignet.

4.1 XML-Warehouse

Ein typisches Szenario fur den Einsatz vonXML zur Kopplung von Geschaftsprozes-sen ist der Betrieb eines XML-Warehouse,das Daten aus verschiedenen betrieblichenInformationssystemen in eine gemeinsameXML-Reprasentation bringt. Die von denSystemen produzierten XML-Daten wer-den dann uber XSLT oder XQL/XPath-Anfragen zur Weiterverarbeitung wie bei-spielsweise der Veroffentlichung auf einemWeb-Server aufbereitet.

Im vorliegenden Fall eines großen US-Dienstleisters fur Finanzinformationen wares aus organisatorischen und technischenGrunden wichtig, das XML-Warehousevon den betriebswirtschaftlichen Anwen-dungssystemen so weit wie moglich zuentkoppeln, um einen unabhangigen Be-trieb zu gewahrleisten. Damit kamen Lo-sungen, die lediglich logische XML-Sich-ten bereitstellen, nicht in Frage. Auf Basisder Infonyte-Losung wurde eine Anwen-dung entwickelt, die individualisierteNachrichten verschickt und ein Web-Por-tal steuert, in dem Kunden ihre Handels-informationen zeitnah abrufen konnen.Das Infonyte-System muß dabei taglich et-wa 10 GB XML-Rohdaten aufnehmen, in-dizieren und in einem Fenster von zehnTagen verfugbar halten. Es ließ sich dabeimit geringem Aufwand als skalierbaresXML-Backend in den J2EE-konformenIBM WebSphere Application Server inte-grieren. Die Fahigkeit zur Verarbeitungder geforderten Datenmenge zusammenmit Zugriffen im Millisekundenbereichzur dynamischen Aufbereitung individua-lisierter Web-Seiten machen Infonyte zueiner idealen Losung fur diese Problem-domane. Mit der Automatiserung einesehemals auf die Erzeugung und den Aus-druck von individuellen Reports aus-gerichteten Geschaftsprozesses (Main-frame-Anwendung) und dem gleichzeiti-gen Einsatz preiswerter PC-Hardwarekonnten bedeutende Kosteneinsparungenerreicht werden.

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Bild 3 Screenshot der Infonyte-DB Administrationskonsole

Skalierbare Verarbeitung von XML mit Infonyte-DB 473

Page 6: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

4.2 Interaktive ElektronischeTechnische Dokumentation(IETD)

Im Bereich der technischen Dokumenta-tion in der Luftfahrtindustrie wurde schonsehr fruh SGML-Technologie eingesetzt.Aus Kostengrunden werden viele Systemeheute auf XML-Technolgie und Standard-Internet-Browser umgestellt. Die Heraus-forderungen bestehen dabei in der Realisie-rung eines verteilten Autorensystems mitzentraler Datenhaltung, eines effizientenProduktionsprozesses zur Zusammenstel-lung und Formatierung elektronischerHandbucher fur verschiedene Zielgruppen,der Bereitstellung leistungsfahiger Lese-und Navigationswerkzeuge sowie in einermoglichst kostengunstigen und sicherenVerteilung.

Aufgrund der leichten Integrierbarkeitvon Infonyte und der Fahigkeit, effizientmit großen Einzeldokumenten umzuge-hen, hat die Sikorsky Aircraft Corporati-on ein XML-fahiges IETD-System aufBasis von Infonyte entwickelt. Dabeiwurde sowohl der Produktionsprozess als

auch die Bereitstellung der Dokumenteuber Web-Server mit der Infonyte-Lo-sung realisiert. Bei der Produktion stehtdie Fahigkeit, große XML-Datenmengenbedarfsgerecht zusammenzusetzen, imVordergrund, wofur sich der Infonyte-XSLT-Prozessor bestens eignet. Bei deranschließenden Nutzung der technischenDokumente in einer Leseumgebung kanndurch die client-seitige Verwendung vonInfonyte-DB uber die zur Verfugung ste-henden XML-Abfragesprachen zielgerich-tet in bestimmten Dokumentteilen ge-sucht werden. Weiterhin wird dieWartung der Dokumente wesentlich er-leichtert, da Service-Techniker direkt �n-derungsvorschlage oder Reparaturreportsuber das updatefahige PDOM hinzufugenkonnen.

Gerade im Luftfahrtbereich, wo bisherSGML dominiert hat, werden erheblicheEinsparungen bei der Entwicklung vonXML-basierten IETD-Systemen erzielt.Zum einen kann Client-seitig vielfach Stan-dardsoftware (XML/PDF Browser) einge-setzt werden, so dass aufwendige Eigenent-wicklungen entfallen, und zum anderen istder gesamte Entwicklungsprozess durch

den Einsatz von XML-Werkzeugen we-sentlich gunstiger.

�hnliche Einsatzszenarien gibt es imBereich formularorientierter Verarbei-tungsprozesse und der Aufbereitung vonFachinformationstexten und Nachschlage-werken im medizinischen und juristischenBereich.

4.3 MobilesInformationsmanagement

Der geringe Speicherverbrauch von Info-nyte-DB, die Plattformunabhangigkeitdurch Java sowie die Kompaktheit desPDOM-Formats machen Infonyte zu ei-ner idealen Losung fur XML-basiertesmobiles Informationsmanagement dernachsten Generation. Die Firma Vaultus(http://www.vaultus.com) entwickelt unteranderem auf Basis der Infonyte-Technolo-gie eine mobile Informationsplattform.Neben dem Datenmanagement und Nach-richtenaustausch in XML bietet das SystemOffline-Fahigkeiten, sichere Transaktio-nen, Netzwerkunabhangigkeit und Dienstezur Fernwartung und automatischenAktualisierung mobiler Gerate. Der Info-nyte-XML-Prozessor kommt hier auf-grund seines sparsamen Umgangs mit Sys-temressourcen ausschließlich auf denJava-fahigen Mobilgeraten zum Einsatz.Die XML-Daten werden ahnlich wie beiNutzung einer relationalen Datenbank di-rekt von der Anwendung manipuliert, d. h.Updates auf der feingranularen Dokumen-tenstruktur, wie das Infonyte-PDOM, siebietet sind eine Schlusselfahigkeit zum Ein-satz in dieser Anwendungsklasse. Fur zu-kunftige Anwendungen ist auch der Ein-satz des kompakten PDOM-Formats zumdirekten Austausch von XML-Daten furSynchronisationszwecke denkbar. Das Par-sen von Dokumenten konnte dann voll-standig entfallen und samtliche Datenwaren sofort uber die kodierten Index-strukturen effizient zugreifbar. Bild 4 zeigtden Screenshot einer mobilen Vertriebs-anwendung auf Basis der Vaultus-Platt-form.

5 Ausblick

Skalierbare XML-Prozessoren wie Info-nyte-DB zeigen einen neuen innovativenAnsatz auf, die Probleme beimUmgang mit

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Bild 4 Web-Demo einer Mobilanwendung mit Infonyte-DB

474 Thomas Tesch, Peter Fankhauser, Tim Weitzel

Page 7: Skalierbare Verarbeitung von XML mit Infonyte-DB; Scalable XML processing with Infonyte database;

großen XML-Datenvolumina und damitdie Skalierungsprobleme bestehenderWerkzeuge zu uberwinden. Eigene Experi-mente mit Open-Source-Implementierun-gen zeigen, dass viele freie Realisierungen(FOP-Prozessoren, XML-Editoren, Web-DAV-Server) durch Austausch des Spei-cher-Backend mit der Infonyte-Losung zurskalierbaren XML-Anwendung aufgerustetwerden konnen. Die Beschrankung auf ei-nen schlanken XML-Kern sowie die perfor-mante Realisierung in einer plattform-unabhangigen Sprache wie Java machenInfonyte zu einem nahezu universell ein-setzbaren Werkzeug fur XML-Anwendun-gen. Der große Bedarf, existierende Archi-tekturen um XML-Fahigkeiten zuerganzen, zusammen mit der leichten Inte-grierbarkeit machen das System auch zurkostengunstigen Erweiterung bestehenderAnwendungen interessant.

Infonyte-DB kann zur kostenlosen Eva-luierung unter der Adressehttp://www.infonyte.de heruntergeladenwerden.

Kontakt:Infonyte GmbHJulius-Reiber-Str. 15D-64293 DarmstadtTelefonþ4 97 00 INFONYTE (46 36 69 83)Fax þ4 96 15 18 69 67 80E-Mail: [email protected]

Anmerkung

1 Der Begriff XML-Prozessor wird uberli-cherweise mit einem XML-Parser gleichge-setzt. Hier ist mit XML-Prozessor eineSoftware gemeint, die die XML-Verarbei-tung (Parsen, Speichern, Abfragen, Trans-formieren) realisiert.

Literatur

[BeMW02] Beimborn, Daniel; Mintert, Stefan;Weitzel, Tim: Web Services und ebXML. In:WIRTSCHAFTSINFORMATIK 44 (2002) 3S. 277–280.

[BuLW01] Buxmann, Peter; Ladner, Frank; Weit-zel, Tim: Anwendung der Extensible MarkupLanguage (XML): Konzeption und Implemen-tierung einer WebEDI-Losung, In: WIRT-SCHAFTSINFORMATIK 43 (2001) 3, S.257–267.

[DOM00] Arnaud Le Hors et al.: Document Ob-ject Model (DOM) Level 2 Core Specification.W3C Recommendation. 13. November 2000,http://www.w3.org/TR/DOM-Level-2-Core/,Abruf am 2002-06-06.

[FGO02] Fankhauser, P.; Groh, T.; Overhage, S.:XQuery by the Book: The IPSI XQuery De-monstrator. EDBT 2002: 742–744. http://xml.darmstadt.gmd.de/xquerydemo/ , Abruf am2002-06-06.

[FreeDB02] http://www.freedb.org, Abruf am2002-06-06.

[HMF99] Huck, G.; Macherius,I.; Fankhauser, P.:PDOM: Lightweight Persistency Support forthe Document Object Model. OOPSLA Work-shop „Java and Databases: Persistence Options“.November 1999. Denver, Colorado, USA.

[Luo01] Luoma, R.: Using XML to Enable Low-Cost Deployment of Content at LockheedMartinAeronautics. XML 2001 Conference and Exposi-tion. December 2001. Orlando, Florida, USA.

[MBK00] Manegold, S.; Boncz, P.A.; Kersten, M.L:Optimizing database architecture for the new

bottleneck: memory access. VLDB Journal(2000) 9 (3), S. 231–246.

[RaAS02] Rawolle, J.; Ade, J.; Schumann, M: XMLals Integrationstechnologie bei Informations-anbietern im Internet - die Fallstudie Bertels-mannSpringer, In: WIRTSCHAFTSINFOR-MATIK (2002) 1, S. 19–28.

[Nwg99] Network Working Group: HTTP Exten-sions for Distributed Authoring – WEBDAV.RFC 2518. http://www.ietf.org/rfc/rfc2518.txt,Abruf am 2002-06-06.

[XML98] Tim Bray et al.: Extensible Markup Lan-guage (XML) 1.0. W3C Recommendation.10. Februar 1998. http://www.w3.org/TR/1998/REC-xml-19980210.html, Abruf am 2002-06-06.

[XQL99] Robie, J.; Lapp, J.; Schach, D.: XMLQuery Language: A Proposal. W3C-QL ’98workshop proposal. http://www.w3.org/Style/XSL/Group/1998/09/XQL-proposal.html,Abruf am 2002-06-06.

[XQuery02] Draper, D. et al.: XQuery 1.0 FormalSemantics. W3C Working Draft. 26. Marz 2002.http://www.w3.org/TR/query-semantics/ ,Abruf am 2002-06-06.

[XPath99] Clark, James et al.: XML Path Lan-guage (XPath) Version 1.0. W3C Recommenda-tion. 16 November 1999. http://www.w3c.org/TR/xpath/, Abruf am 2002-06-06.

[XSD01] Fallside, David C.: XML Schema Part 0:Primer. W3C Recommendation, 2. Mai 2001.http://www.w3.org/TR/xmlschema-0/, Abrufam 2002-06-06.

[XSLT99] Clark, James: XSL Transformations(XSLT) Version 1.0. W3C Recommendation.16. November 1999. http://www.w3c.org/TR/xslt/, Abruf am 2002-06-06.

WIRTSCHAFTSINFORMATIK 44 (2002) 5, S. 469–475

Abstract

Scalable XML processing with Infonyte database

The emerging penetration of IT architectures with XML results in increasing XML data vo-lumes. Available tools often fail in realizing scalable XML processing for large XML datavolumes. Infonyte-DB, a product of Infonyte GmbH, is a high performance XML kernel thateconomizes on system resources and allows the processing of large XML data volumes.

Keywords: Extensible Markup Language, XML, database, cross-media publishing, businessprocess integration, Infonyte

Skalierbare Verarbeitung von XML mit Infonyte-DB 475