Your SlideShare is downloading. ×
Tutorial-XML-FastInfoset-einfuehrung
Tutorial-XML-FastInfoset-einfuehrung
Tutorial-XML-FastInfoset-einfuehrung
Tutorial-XML-FastInfoset-einfuehrung
Tutorial-XML-FastInfoset-einfuehrung
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tutorial-XML-FastInfoset-einfuehrung

859

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
859
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mit CD BRM + + + Delphis VirtualStringTree + + + Fast Infoset Software, Systems & Development 3.08 Mai / Juni www.entwickler-magazin.de Deutschland € 6,50 Österreich € 7,00 Schweiz sFr 13,40 XAML WPF Schnelleres XML Bessere Performance mit und Fast Infoset Die Grundlagen Mathematik mit XSLT 2.0 auf einen Blick Transformation in Kreisdiagramme Ethical Hacking Reporting List & Label 13 im Test Onepoint Strategien für Ihre Sicherheit Effektives Projektmanagement Stimmen aus der LightZone Bildbearbeitung in der Praxis RIA mit Ext JS 2.0 DB2 9.5 Das bringt der neue Trend Große Datenmengen effizient verwalten CD-Inhalt Alle Infos auf Seite 3 Software Testversionen Lehr- oder Infoprogramme Datenträger enthält nur Onepoint Project 2007 Open Edition WordPress 2.3.3 Priotecs IT Demo Ext JS 2.0.2 Plone 3.0.6 Builder Joomla 1.5.1 OpenCMS 7.0.4 Light Crafts TYPO3 4.1.6 Bricolage 1.10.4 LightZone 3.5 Drupal 6.1 !
  • 2. XML Fast Infoset Einführung in Fast Infoset Schnelleres XML Der Siegeszug von XML ist nicht aufzuhalten. Ob als SOAP-Nachricht, Spring-Konfigurationsfile oder XHTML-Dateien für die Weboberfläche: XML ist überall zu finden und aus der heutigen IT nicht mehr wegzudenken. Aber der größte Nachteil von XML, Ineffizienz, bleibt weiterhin bestehen. Eine effizientere Kodierung für eine höhere Übertragungs- und Verarbeitungsgeschwindigkeit würde aber gleichzeitig an- dere Vorteile von XML, wie die gute Lesbarkeit für Menschen und Maschinen, zunichte machen. Jedoch überwiegt der Nachteil in manchen Situationen den Vorteil, sodass zumindest für diese Anwendungsfälle eine alternative Lösung gesucht wird. Eine erste Antwort darauf gibt Fast Infoset. von Dapeng Wang kompiliert oder optimiert, indem die Texte wie z.B. Fast Infoset, MTOM-optimierte indiziert und in Binärform umgewandelt MIME-Nachricht oder JSON (JavaScript XML ist einfach zu verstehen und kann werden. Dieser Schritt war notwendig, Object Notation). Daher stellt Fast Info- nicht nur von Maschinen verarbeitet, son- weil die mobilen Geräte nur über eine set nichts anderes als eine effizientere Al- dern auch von Menschen gelesen werden. eingeschränkte Bandbreite und Verarbei- ternative für die XML-1.x-Syntax dar, die Daher erfreut sich diese Technologie seit tungsressourcen verfügen und eine effi- letztendlich dasselbe Informationsmodell ihrer Entstehung großer Beliebtheit. Aber ziente Verarbeitung die oberste Priorität repräsentiert. Eine Instanz von diesem der Nachteil von XML ist auch offensicht- in diesem Anwendungsfall hat. Andere Fast-Infoset-Format wird analog als Fast- lich: XML stellt keineswegs die effizientes- Szenarien, die eine derartige Optimierung Infoset-Dokument bezeichnet. Ein Fast- te Form dar, um Daten zu repräsentieren. verlangen, sind z.B. 3D-Grafiken oder Infoset-Dokument ist nicht nur von der Auch als Payloadformat für Datenüber- Datenaustausch in der Energieindustrie, Datenmenge her wesentlich kompakter tragung sind andere binäre Formate weit wo eine sehr große Menge von Fließkom- als sein XML-Pendant, sondern lässt sich überlegen. Diese Ineffizienz bezieht sich mazahlen ausgetauscht wird. Vor diesem auch schneller erstellen und verarbeiten. nicht nur auf die Größe der Datenmen- Hintergrund haben die Standardisierungs- Diese Eigenschaften machen diese Tech- ge, die durch die Tags um die eigentlichen gremien ITU-T (International Telecom- nologie zu einem guten Kandidaten für Nutzdaten aufgebläht werden, sondern munications Union Telecommunication Umgebungen mit eingeschränkten Res- auch auf die Verarbeitungsgeschwin- Standardization Sector) und ISO gemein- sourcen. Bevor der Kodierungsalgorith- digkeit. So muss ein XML-Parser bei der sam den Standard Fast Infoset erarbeitet. mus von Fast Infoset näher erläutert wird, Verarbeitung jedes Zeichens im XML- folgen zunächst die potenziellen Schwä- Dokument überprüfen, ob es sich dabei Spezifikation chen von XML sowie die entsprechenden um ein Tag-Element oder eine maskierte Fast Infoset spezifiziert ein binäres Kodie- Verbesserungen durch Fast Infoset. Zeichenkette (&lt; für <) handelt. Obwohl rungsformat für XML Information Set diese Nachteile von XML schon lange be- (Infoset). Es ist an dieser Stelle zu betonen, • XML verwendet ein Beginn- und ein kannt sind, wird keine allgemeine Lösung dass das zugrunde liegende Datenmodell End-Tag, um ein Element zu umschlie- angestrebt, weil man nicht die gute Lesbar- XML Infoset und nicht XML ist. Bei XML ßen. Das End-Tag trägt immer densel- keit und Interoperabilität von XML durch Infoset handelt es sich um ein abstraktes ben Namen wie das Beginn-Tag und ist eine effizientere Binärkodierung verlieren Modell, in dem die XML-Bestandteile wie damit redundant. Fast Infoset verzichtet möchte. In vielen Situationen wird jedoch Element, Attribut, Processing-Instruc- konsequent auf die End-Tags. die Effizienz einem höheren Stellenwert tions usw. als Information Items definiert • Sonderzeichen wie <, > und & müssen beigemessen, sodass man sich nach Alter- sind. Dieses abstrakte Modell kann in in XML-1.x-Syntax maskiert werden. nativen umschaut. So wurde schon im Jahr verschiedenen physikalischen Formaten Das führt vor allem dazu, dass der Par- 2000 WML (Wireless Markup Language) kodiert oder repräsentiert werden, wobei ser „Suchen & Ersetzen“ für solche für den Datenaustausch mit Handy und meistens die XML-1.x-Notation (XML maskierten Zeichenketten durchführen mobilen Geräten über das WAP-Protokoll 1.0 und XML 1.1) benutzt wird. Aber es muss. Bei Fast Infoset werden die Son- eingeführt. WML wird zwar in XML- ist ebenfalls möglich, dieses abstrakte Mo- derzeichen nicht maskiert und identisch Syntax notiert, jedoch für die Übertragung dell in anderen Notationen darzustellen wie andere Zeichen behandelt. 102 Entwickler Magazin 3.2008 www.entwickler-magazin.de
  • 3. IMPRESSUM Fast Infoset XML Verlag: Software & Support Verlag GmbH Anschrift der Redaktion: Entwickler Magazin Software & Support Verlag GmbH Geleitsstraße 14 • Ein XML-Parser muss bei jedem ein- beschleunigen. Beim Erstellen eines Fast- D-60599 Frankfurt am Main gelesen Zeichen überprüfen, ob es sich Infoset-Dokuments überprüft der Seriali- Tel. +49 (0)69 630089 0 Fax. +49 (0)69 630089 89 um ein Sonderelement wie Subelement, sierer jedes Textelement zuerst, ob dessen redaktion@entwickler-magazin.de entwickler-magazin.de Attribut oder Text handelt. Daher kann Text bereits im Dokument vorgekommen der Parser nicht einfach ein Block von ist und dementsprechend als Eintrag in Chefredakteur: Masoud Kamali Advisory Board: Holger Flick, Rudolf Jansen, Olaf Monien Zeichen einlesen und ohne Überprü- der Indextabelle vorliegt. Um diese Über- Redaktion: Nicole Bechtel, Robert Lippert, Michael Seeboerger-Weichselbaum, Michael Seemann, Sonja Waldschuk fung weitergeben. Fast Infoset fügt die prüfung effizient durchzuführen, verwen- Autoren dieser Ausgabe: Manu Carus, Dr. Mario Deilmann, Karlheinz Günster, Kai Guschal, Nils M. Holm, Markus Jais, Rudolf Jansen, Markus Längeinformation des nächsten Daten- det der Serialisierer meistens eine Hash- Hasenbein, Thomas Kaufmann, Veikko Krypczyk, Michael Matzer, Thomas blocks vor den eigentlichen Daten in das table für die Indexverwaltung. Ist der Text Meinike, Manfred Müller-Späth, Bernd Ott, Thomas Pfister, Frank Pientka, Heinz Axel Pürner, Bruno von Rotz, Michael Seeboerger-Weichselbaum, Ralph Steyer, Dokument ein, sodass der Parser bei der in der Indextabelle noch nicht vorhanden, Dapeng Wang, Tobias Wassermann Chefin vom Dienst: Nicole Bechtel Verarbeitung genau weiß, wie viele Res- wird ein neuer Eintrag in der Tabelle hin- Schlussredaktion: Nicole Bechtel, Katharina Klassen, Frauke Pesch sourcen er vorbelegen und wie viele Zei- zugefügt, der den Text mit dem nächsten Leiter Grafik /Produktion: Jens Mainz Layout, Titel: Kristin Brockmann, Jessica Demirkaya, Melanie Hahn, Domi- chen er ohne Bedenken einlesen kann. freien Index (einem Integer) verknüpft. nique Kalbassi, Jens Mainz, Michel Michiels-Corsten, Katharina Ochsenhirt, Maria Rudi, Patricia Schwesinger • Sich wiederholende Textinhalte werden Stellt dagegen der Serialisierer fest, dass CD/DVD-Erstellung: Daniel Zuzek in Fast Infoset indiziert. Wenn derselbe bereits ein Eintrag für den Text existiert, Anzeigenverkauf: Text ein zweites Mal im Infoset auftritt, ersetzt der Serialisierer dann jedes weitere Entwickler Magazin Patrik Baumann wird dieser Auftritt durch einen Integer- Vorkommnis des Texts durch den Index, Software & Support Verlag GmbH Wert ersetzt, der auf einen Eintrag in der welcher auf den Eintrag in der Indextabel- Tel. +49 (0)69 630089 20 pbaumann@entwickler-magazin.de Indextabelle verweist. le verweist. Wird auf der anderen Seite ein Hanno Arens • Qualifizierte Namen, die aus Namens- Fast-Infoset-Dokument von einem Parser Software & Support Verlag GmbH Tel. +49 (0)69 630089 29 raum, Präfix und lokalem Namen beste- verarbeitet, findet ein analoger Prozess harens@entwickler-magazin.de hen, kommen häufig auch mehrfach im statt. Für jeden Text im Dokument wird Linux Enterprise Dokument vor und werden daher eben- ein Eintrag in der Indextabelle angelegt. Verlagsbüro Ohm-Schmidt Osmund Schmidt falls indiziert. Wird bei der weiteren Verarbeitung des Schneckenburger Str. 22 30177 Hannover • Binärinhalt kann direkt in Fast Infoset Dokuments an der Stelle eines Textele- Tel. +49 (0)511 2354164 Fax: +49 (0)1805 06033695 669 eingebettet werden, ohne dass er zuvor ments ein Indexverweis gefunden, muss E-Mail: osmund@ohm-schmidt.de mit Base64-Kodierung in Text umge- der referenzierte Text bereits zuvor im Es gilt die Anzeigenpreisliste Nr. 13 wandelt werden muss. Dokument aufgetreten sein und dement- Pressevertrieb: • Die erstellten Indextabellen können sprechend an der richtigen Position in der DPV Network GmbH aufbewahrt und in Dokumenten dersel- Indextabelle indiziert sein. Dieser Text Tel.:+49(0)40 23711 0 www.dpv-network.de ben Sprache wiederverwendet werden. kann nun durch den Indexverweis aufge- Druck: PVA, Landau Es ist ebenfalls möglich, die Indizierung löst und an der ursprünglichen Stelle ein- Abo-Service: vorab aus Metainformationen wie gesetzt werden. Dadurch kann das XML Software & Support Verlag GmbH Schema-Beschreibung aufzubauen, um Infoset ohne Verlust wieder aufgebaut Tel.: +49 (0)69 630089 0 Fax.: +49 (0)69 630089 89 die Verarbeitung später noch schneller werden. Um die Indextabelle klein zu hal- entwickler-magazin.de/service zu machen. ten, werden meistens separate Tabellen Abonnementpreise der Zeitschrift (inkl. Leser-CD): für Textinhalte und qualifizierte Namen Inland: Studentenpreis: 6 Ausgaben € 35,00 6 Ausgaben � 28,50 Die Verwendung von Tabellen und In- verwendet. Aber der Indizierungsprozess europ. Ausland: 6 Ausgaben � 45,00 Stud. europ. Ausland: 6 Ausgaben � 38,50 dizierung ist der primäre Mechanismus bleibt in beiden Fällen identisch. Abonnementpreise der Zeitschrift von Fast Infoset, um die Datenmenge zu Im Folgenden wird der Kodierungs- (inkl. Leser-CD plus Profi-CD): komprimieren und die Verarbeitung zu algorithmus anhand eines Beispieldoku- Inland: 6 Ausgaben & CD � 99,- Studentenpreis: 6 Ausgaben & CD � 80,- europ. Ausland: 6 Ausgaben & CD � 109,- Listing 1 Listing 2 Stud. europ. Ausland: 6 Ausgaben & CD � 90,- Abonnementpreise der Profi-CD: Beispiel-XML-Dokument Fast-Infoset-Dokument Inland: 6 CD-ROM � 72,- Studentenpreis: 6 CD-ROM � 62,- <root> {0}<root> europ. Ausland: 6 CD-ROM � 82,- Stud. europ. Ausland: 6 CD-ROM � 72,- <item> {1}<item> ISSN: 1619-7941 <name>Buch</name> {2}<name>{0}Buch</name> <quantity>1</quantity> {3}<quantity>{1}1</quantity> Erscheinungsweise: zweimonatlich </item> </item> © 2008 für alle Beiträge. Alle Rechte vorbehalten. <item> [1]<> Nachdruck nur mit schriftlicher Genehmigung. <name>Buch</name> [2]<>[0]</name> Eine Haftung für die Richtigkeit der Veröffentlichungen kann trotz Prüfung durch <quantity>10</quantity> [3]<>{2}10</quantity> die Redaktion vom Herausgeber nicht übernommen werden. Honorierte Artikel gehen in das Verfügungsrecht des Verlags über. Mit der Übergabe der Manu- </item> </item> skripte und Abbildungen an den Verlag erteilt der Verfasser dem Herausgeber das Exklusivitätsrecht zur Veröffentlichung. Für unverlangt eingeschickte Manu- </root> </root> skripte, Fotos und Abbildungen keine Gewähr. Alle im Entwickler Magazin verwendeten Markennamen sind in der Regel eingetragene Warenzeichen der entsprechenden Unternehmen oder Organisationen. www.entwickler-magazin.de
  • 4. XML Fast Infoset werden die anderen Elementnamen und Texte indiziert. Die beiden Indextabellen für Elementnamen und Texte zeigen Ta- belle 1 und 2. Fast Infoset verwendet ASN.1 als No- tation für die Beschreibung der Daten- struktur. ASN.1 steht für Abstract Syntax Notation .1 und wird seit 20 Jahren ent- Abb. 1: XML vs. Fast Infoset wickelt und vor allem für den Datenaus- tausch in der Telekommunikationsindust- rie erfolgreich eingesetzt. ASN.1 kann wie Abb. 2: Benchmark „Serialisierung“ ments illustriert. Es ist zu betonen, dass ABNF (Augmented Backus-Naur Form) das Endergebnis in Listing 2 keineswegs oder XML Schema für die Beschreibung mit dem entsprechenden Fast-Infoset- der Datenstruktur verwendet werden. tenmenge minimieren, aber keineswegs Dokument (welches ein binäres Format Die abstrakte Beschreibungssyntax von den Parsing-Vorgang schneller machen ist und nicht als Text dargestellt werden ASN.1 kann mithilfe verschiedener Ko- kann. Hier liegt auch der Vorteil von Fast kann) übereinstimmt, sondern lediglich dierungsregeln in eine konkrete Form Infoset gegenüber GZip, weil durch die dazu dient, den Algorithmus zu erläu- umgewandelt werden. So existieren für Nutzung einer Indextabelle nicht nur die tern. In Listing 1 ist ein XML Infoset in ASN.1 sowohl eine binäre Kodierung wie Datenmenge verkleinert, sondern auch XML-Syntax zu sehen, auf das die Fast- DER (Distinguished Encoding Rules), die Verarbeitung deutlich vereinfacht Infoset-Kodierung angewandt wird. PER (Packed Encoding Rules) als auch und beschleunigt wird. Ein Fast-Infoset- Das Ergebnis nach der Fast-Infoset-In- eine textuelle Kodierung wie XER (XML Dokument ist zwar in der Regel sogar dizierung wird in Listing 2 gezeigt. Eine Encoding Rules). Es ist zu erwähnen, dass größer als eine durch GZip komprimierte Zahlenangabe in geschweifter Klammer unter der Initiative von Sun Microsystems Datei, aber wenn man die gesamte Zeit bedeutet, dass ein neuer Indexeintrag auch an Fast Web Services gearbeitet wird, für die Übertragung und Verarbeitung in mit dem dahinter stehenden Text in der das Web Services performanter und effizi- Betracht zieht, liegt Fast Infoset klar im Indextabelle angelegt wird, während enter machen soll. Grundlagen von Fast Vorteil. Natürlich lassen sich die beiden eine Zahlenangabe in eckiger Klammer Web Services bilden die beiden Spezifika- Technologien auch problemlos kombi- einen Indexverweis darstellt. Um zwi- tionen X.693 und X.694. Während X.693 nieren, indem ein bereits optimiertes Fast- schen Indizes für qualifizierte Namen und das Ziel hat, ASN.1 als eine Alternative Infoset-Dokument noch einmal kompri- Textinhalte zu unterscheiden, werden die zu XML Schema oder Relax NG für die miert wird. Indizes für qualifizierte Namen in fett Beschreibung von XML Infoset zu etab- Ein weiterer Optimierungsmechanis- und für Texte in kursiv gekennzeichnet. lieren, versucht X.694 ein Mapping zwi- mus im Bereich XML und Web Services So wird z.B. beim ersten item-Element in schen XML Schema und ASN.1 zu defi- heißt MTOM (Message Transmission der Zeile 2 ein neuer Index mit dem Wert nieren, sodass Fast-Infoset-Werkzeuge die Optimization Mechanism) sowie die 1 (1 mit geschweifter Klammer, fett) mit XML Schema beschriebenen Doku- zugrunde liegende XOP-Spezifikation angelegt, da zuvor bereits ein Index mit mente noch effizienter kodieren können. (XML-binary Optimized Packaging). dem Wert 0 für root erzeugt wurde. Als Die entsprechenden Technologien sowie Diese beiden Spezifikationen beschäftigen in der Zeile 6 der Name item ein zweites deren Beziehungen zeigt Abbildung 1. sich mit der Problematik, wie man Binär- Mal vorkommt, wird er durch einen In- daten effizient in einem XML-Dokument dexverweis mit dem Wert 1 (1 in eckiger Performance einbetten und übertragen kann, ohne da- Klammer, fett) ersetzt. Dementsprechend Das Ziel von Fast Infoset ist eine effizi- bei das konzeptionelle XML-Modell zu entere Übertragung und Verarbeitung zerstören. MTOM und XOP bieten aber Index QName von XML Infoset. Darin liegt auch der 0 root Unterschied zwischen Fast Infoset und Listing 3 1 item anderen Optimierungstechnologien. Das Fast-Infoset-Dokument mit SAX-API 2 name Komprimierungsverfahren GZip wird verarbeiten 3 quantity gerne zusammen mit dem HTTP-Proto- XMLReader saxReader = new SAXDocumentParser(); Tabelle 1: Indextabelle für QNames koll eingesetzt, um die zu übertragende ContentHandler ch = ... Datenmenge zu minimieren. Dabei be- saxReader.setContentHandler(ch); Index Text achtet GZip aber die spezielle Struktur InputStream in = new BufferedInputStream 0 Buch von XML-Inhalten nicht und behandelt (new FileInputStream(fiDoc)); 1 1 dementsprechend ein XML-Dokument saxReader.parse(new InputSource(in)); 2 10 genauso wie eine Bilddatei oder ein Video- Tabelle 2: Indextabelle für Texte stream. Das heißt, dass GZip nur die Da- 104 Entwickler Magazin 3.2008 www.entwickler-magazin.de
  • 5. Fast Infoset XML set-Unterstützung an. Für Detailinfos wird an dieser Stelle auf die jeweiligen Websites verwiesen (s. Links & Literatur). Schlussbetrachtung Fast Infoset bietet gegenüber der XML- 1.x-Kodierung einen deutlichen Perfor- mancevorteil und ist daher besonders für Umgebungen mit eingeschränkter Band- breite und Rechenleistung geeignet. Auch in normalen Umgebungen kann Fast Info- Abb. 3: Benchmark „Parsing“ Abb. 4: Benchmark „Dokumentgröße“ set zur Systembeschleunigung eingesetzt werden. Dadurch, dass Fast Infoset nicht nur Optimierung für Binärdaten in einem Ergebnis für Serialisierung, Parsing und nur von der Java-Plattform, sondern auch XML Infoset an, während Fast Infoset Dokumentgröße eines UBL-(Universal- von Microsoft .NET und .NET CF unter- allgemeiner ausgelegt ist und sowohl für Business-Language-)Infosets. Für wei- stützt wird, bleibt das Interoperabilitäts- Binär- als auch für Textdaten eingesetzt tere Ergebnisse anderer Dokumenttypen risiko entsprechend niedrig. Trotzdem werden kann. siehe https://fi.dev.java.net/performance. handelt es sich bei Fast Infoset um eine Nachdem die Abgrenzungen zwi- html . junge Technologie. Die Binärkodierung schen Fast Infoset und anderen Techno- zur Effizienzsteigerung hat immer den logien geklärt sind, werden als Nächstes API Verlust des lesbaren Textformats zur Fol- ein paar Ergebnisse aus einer Benchmark- Das Fast Info Project bei java.net bietet ge, was auch ein Hauptkritikpunkt an Messung gezeigt, die die Performancever- Fast-Infoset-Implementierungen für alle Fast Infoset darstellt. Daher ist in kurzer besserung von Fast Infoset belegen sollen. drei gängigen Parser-APIs an. Die ent- Zeit nicht damit zu rechnen, dass Fast In- Das Open-Source-Projekt Fast Infoset sprechenden Klassen für Parser und Seri- foset XML verdrängt oder ersetzt wird, bei java.net hat im Rahmen des Projekts alisierer sind: aber für spezielle Umgebungen mit Son- Performancemessungen mit Japex durch- deranforderungen bietet es eine sinnvolle geführt. 1. SAX-API und performante Alternative. Dabei stellte sich heraus, dass Fast In- • Parser: com.sun.xml.fastinfoset.sax. foset gegenüber der XML-1.x-Kodierung SAXDocumentParser Dapeng Wang ist freiberuflicher System- einen deutlichen Performancevorteil • Serialisierer: com.sun.xml.fastinfoset. architekt, Trainer und Buchautor. Sein Schwerpunkt liegt in Design und Imple- bietet. Das Parsing des Fast-Infoset-Do- sax.SAXDocumentSerializer mentierung von komplexen Enterprise- kuments ist 3 bis 5-fach schneller als das 2. StAX-API Applikationen mit J2EE- und Web- Parsing des XML-Dokuments mit dem- • Parser: com.sun.xml.fastinfoset.stax. Services-Technologien sowie in der Anwendung von agilen Softwareentwicklungsmethoden. Neben zahl- selben Infoset, während das Serialisieren StAXDocumentParser reichen Artikeln im Fachmagazinen hat er zusammen sogar bis zu 10-fach performanter sein • Serialisierer: com.sun.xml.fastinfoset. mit anderen Autoren Bücher über „Java Web Services“ kann. Gleichzeitig nimmt ein Fast-In- stax.StAXDocumentSerializer publiziert. Er hält regelmäßig Vorträge zu diesen The- men auf verschiedenen Kongressen. Dapeng Wang ist foset-Dokument nur 20–60 % der Größe 3. DOM-API unter Wang.Dapeng@gmx.net zu erreichen. des entsprechenden XML-Pendants ein. • Parser: com.sun.xml.fastinfoset.dom. Abbildungen 2, 3 und 4 zeigen jeweils das DOMDocumentParser • Serialisierer: com.sun.xml.fastinfoset. Links & Literatur Listing 4 dom.DOMDocumentSerializer [1] Fast Infoset: java.sun.com/developer/ Fast-Infoset-Dokument mit StAX-API technicalArticles/xml/fastinfoset/ erstellen Beispielhaft wird in Listing 3 und 4 ge- [2] Fast Infoset Project: https://fi.dev.java.net zeigt, wie man mit dem SAX-Parser für StAXDocumentSerializer streamWriter = Fast Infoset ein Dokument verarbeitet [3] Fast Infoset Interoperability Project: new StAXDocumentSerializer(); bzw. mit dem StaX-Serialisierer für Fast https://fi-interop.dev.java.net staxDocumentSerializer.setOutputStream(fiDoc); Infoset ein Dokument erstellt. Bis auf die [4] Fast Web Service: java.sun.com/developer/ Instanziierung der Reader- bzw. Seriali- technicalArticles/WebServices/fastWS/ streamWriter.writeStartDocument(); streamWriter.writeStartElement(“item”); zer-Klassen sind die anderen Methoden [5] Fast Infoset Japex Benchmark Ergebnis: streamWriter.writeCharacters(“Book”); identisch, wie SAX, StAX und DOM-API. https://fi.dev.java.net/performance.html streamWriter.writeEndElement(); Die Fast-Infoset-Klassen lassen sich auch [6] Fast Infoset in Axis2: wso2.org/library/2686 streamWriter.writeEndDocument(); problemlos in JAXP integrieren. [7] Fast Infoset in Metro: java.sun.com/ streamWriter.close(); Auch Web Services Frameworks wie webservices/docs/2.0/fastinfoset/ Axis2 und Metro bieten bereits Fast-Info- fastinfoset1.0.1-manual.html www.entwickler-magazin.de Entwickler Magazin 3.2008 105

×