XML-Datenaustausch / JAXB - XSLT - JAXB

JAXB - XSLT - JAXB

JAXB - XSLT - JAXB

➪ XSLT kann Java bei der flexiblen Objekt-Deserialisierung mithilfe JAXB wirksame Unterstützung bieten.

Java-Objekte, die via JAXB (oder in anderer Form) in XML abgebildet werden, können nicht ohne Weiteres in Objekte anderer Klassen überführt werden. Hier kommt XSLT zum Einsatz.

pic/XSLTSzenario1.jpg

Die positive Erfahrung mit XSLT wird auch gleich zur weiteren Datenkonvertierung in ein Java-Objektverwendet, ebenso zur Erstellung von skalierbaren Vektorgrafiken (SVG), PDF-Dokumenten und JSON-Strings.

pic/XSLTSzenario2.jpg

Irgendwann ist es notwendig, die ursprüngliche Klasse A selber zu verändern: Es kommen diverse Felder hinzu, bestehende Felder samt deren Annotations (mit versionsbezogenen Namespaces) werden umbenannt. Das Java-Team, das für die Wartung der Klasse A zuständig ist, hat weitere Änderungen in Aussicht gestellt hatte (minor changes und major changes).

Mit jeder Änderung der Klasse A ändert sich die Struktur von XML1. Damit die Folgeprozesse (JAXB-Deserialisierung in die Klassen B und C, Konvertierung in SVG, PDF, JSON) reibungslos weiterlaufen können, ist eine Anpassung der XSLT-Konvertierungslogik erforderlich.

Je nach Sachlage kann es sinnvoll sein, dass das JAXB-XML-Abbild des Datenlieferanten (nunmehr die modifizierte Java Klasse A2) eine XSLT-Transformation nach sich zieht, deren Ergebnis die ursprüngliche Dokumentstruktur XML1 ergibt. Damit können sämtliche Folgekonvertierungen problemlos weiter laufen.

pic/XSLTSzenario3.jpg

Sie sehen, dass XSL-Transformationen im Zentrum weit verzeigter Konvertierungsstrecken stehen können. So gesehen, geht es weniger um den Daten-Austausch als vielmehr um die hochflexible und präzise Daten-Konvertierung, die unterschiedlichste Geschäftsprozesse unterstützen.

Ein Vorteil ist, dass die Wartung sämtlicher Konvertierungsstrecken samt XML-Schema Validierung durch ein separates Team wahrgenommen werden kann. Damit können sich Java-Developer auf die strategische Programmierung konzentrieren, ohne sich mit den Details der Transformationslogik befassen zu müssen.

wg / 3. April 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/Java_JAXB_XSLT.html