JAXB 2.0

Werbung
JAXB 2.0
Samuel Michaelis, Wolfgang Schmiesing
Ein Programmiertutorial für die Java Architecture for XML
Binding
ISBN 3-446-40753-7
Vorwort
Weitere Informationen oder Bestellungen unter
http://www.hanser.de/3-446-40753-7 sowie im Buchhandel
Vorwort
Das Buch wendet sich an Entwickler mit guten Java-Kenntnissen, die in ihrem Arbeitsalltag oft mit Java und XML arbeiten. In diesem Buch stellen wir mit Suns Java Architecture
for XML Binding, kurz JAXB, eine tolle Lösung vor, wie wir dieser Herausforderung effektiv begegnen können.
Java Architecture for XML Binding 2.0
Wer frühere Versionen der JAXB (1.x) eingesetzt oder evaluiert hat, dem mag die JAXB
damals vielleicht verschroben vorgekommen sein. Tatsächlich war die technologische
Hürde zum Einsatz von JAXB 1.x sehr hoch. Zum einen waren da die Verwirrungen mit
den „endorsed“ XML-Bibliotheken, die Laufzeitfehler verursachten, wenn der Code auf
unterschiedlich konfigurierten JVMs ausgeführt wurde – das gute, alte Java-Motto write
once, run everywhere traf hier nicht mehr ohne Einschränkungen zu. Zudem waren die
JAXB 1.x-Versionen noch nicht inspiriert vom jüngsten Trend zu den POJOs, den Plain
Old Java Objects. Hier wurde stattdessen viel mit Factory-Methoden und Schnittstellen
herumhantiert, die aus einem Schema ein unnatürliches und unhandliches JavaDatenmodell erzeugten.
Von praktischer Bedeutung war in den Versionen bisher nur der Weg von einem XMLSchema zu einem Java-Datenmodell. Ergebnis ist, dass bisherige JAXB-Versionen keine
besondere Unterstützung durch Hersteller oder Open-Source-Projekte erfahren haben. Statt
dessen entstanden Projekte, die einen natürlicheren Ansatz zur Umwandlung von XML in
Java jenseits des JAXB-Standards gesucht und gefunden haben und heute zu den Werkzeugen der Wahl gehören.
Mit der JAXB 2.0 fließen nun diese Ansätze in die JSE zurück: Die Nachteile der bisherigen JAXB-Versionen sind wie weggeblasen. Übrig bleibt eine sehr komfortable Art und
Weise, aus XML-Schema ein POJO-Datenmodell bzw. aus POJOs ein präzise anpassbares
XML-Format zu generieren. Wir sind überzeugt, dass mit der JAXB 2.0 eine Architektur
entstanden ist, die für Entwickler eine langfristige und befriedigende Lösung des „XMLund Java“-Themas bringt und durch alle wesentlichen Hersteller und Projekte unterstützt
XI
Vorwort
werden wird. Wir möchten mit diesem Buch einen kleinen Beitrag leisten, diese feine
Technologie für alle Entwickler leicht zugänglich machen.
Das Buch teilt sich in drei wesentliche Teile auf: Technologieeinführung, Programmiertutorials und Referenz.
Technologieeinführung
Der erste Teile beschreibt die der JAXB-Spezifikation zugrunde liegenden Technologien
XML-Schema, XPath und Ant im Überblick. Den wichtigsten Anteil übernimmt dabei ein
Überblick auf wesentliche Konzepte von XML-Schema. Wir haben im Alltag die Erfahrung gemacht, dass viele Entwickler XML-Schema zwar sehr gut als „Format zur Beschreibung von XML-Formaten“ einordnen können und einfache Schemata auch ohne weiteres verstehen, im konkreten Fall aber gerne nachschlagen, welche Bedeutung einzelne
Schemadeklarationen und -konzepte besitzen. Daher bieten wir in diesem Buch eine kleine
Einführung in XML-Schema mit dem Ziel, Antworten für die wesentlichen Fragen zu bieten, die im Rahmen der Tutorials aufkommen können.
Zu den Technologien, die in den Beispielen dieses Buches verwendet werden, gehört auch
XPath, das SQL der XML-Welt, und Ant. Auch für diese beiden Technologien bieten wir
jeweils eine kleine Darstellung der wesentlichen Möglichkeiten.
Programmiertutorials
Der zweite Teil des Buches besteht aus vier klassischen Programmiertutorials, welche die
verschiedenen Aspekte der JAXB in Beispielen von steigender Komplexität beleuchten.
Nach dem obligatorischen „Hallo Welt“-Beispiel folgt eine Einführung in die Laufzeitbibliothek der JAXB. In Kapitel 5 behandeln wir den Weg von einem XML-Schema zu einem
Java-Datenmodell, in Kapitel 6 den Weg von einem Java-Datenmodell zu einem XMLDokument.
Referenz
Der dritte Teil ist die Referenz. Wir haben uns zum Ziel gesetzt, dass die Referenz im Wesentlichen für sich alleine stehen kann – so dass ein Entwickler mit guten JAXBKenntnissen (die er sich in Programmiertutorial aneignen kann) alle im Alltag aufkommenden Fragen schnell und insbesondere vollständig anhand der gut strukturierten Referenz klären kann.
Das hat zur Folge, dass einzelne Informationen in diesem Buch eventuell redundant im
Programmiertutorial und in der Referenz vorkommen. Von einem Kommunikationsprofi
habe ich mir aber versichern lassen, dass Redundanz, die wir Entwickler im Programmier-
XII
Vorwort
alltag als Code Duplication verteufeln, richtig angewendet im Bereich der Didaktik eine
der gerne zitierten Best Practices ist.
Wir möchten uns an dieser Stelle bei Ihnen als Leser bedanken, dass Sie dieses Buch und
viele weitere durch Ihren beherzten Griff ins Regal Ihres Buchhändlers möglich gemacht
haben, und hoffen an dieser Stelle, dass Ihnen die Lektüre dieses Buchs viel Spaß macht
und Ihnen interessante, neue Ansätze für Ihre alltägliche Arbeit bieten kann.
Feedback
Kein Prozess kann sich ohne Feedback sinnvoll verbessern! Beachten Sie diesen schlauen
Spruch bitte nicht nur in Ihrem Arbeitsalltag, sondern schicken Sie uns gerne Ihr Feedback
zu diesem Buch an [email protected]. Vielen Dank!
XIII
Herunterladen