Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


Eine historische Entwicklung

So kann es zu einer (zwar konstruierten, aber nicht unmöglichen) historischen Entwicklung kommen, die ursprünglich mit der Datenübertragung von einem Java-Objekt A:Objekt1 zu einem ein anderen Java-Objekt B:Objekt2 mittels JAXB beginnt. Um das in XML abgebildete A:Objekt1 in eine Struktur zu überführen, die via JAXB in B:Objekt2 lesbar ist, kommt XSLT zum Einsatz.

pic/XSLTSzenario1.jpg

Die positive Erfahrung mit XSLT wird auch gleich zur weiteren Datenkonvertierung in ein Java-Objekt C:Objekt3 verwendet, ebenso zur Erstellung von Skalierbaren Vektorgrafiken (SVG), PDF-Dokumenten und JSON-Strings.

pic/XSLTSzenario2.jpg

Irgendwann ist es notwendig, die Klasse A selber zu verändern: es kommen diverse Felder hinzu, bestehende Felder samt deren Annotations (mit versionsbezogenen Namespaces) werden umbenannt. Damit ändert sich die Struktur von XML1 wesentlich. Sämtliche XSL-Stylesheets müssen unter hohem Zeitdruck angepasst werden, so daß die Folgeprozesse wieder reibungslos laufen können. Da das Team, das für die Wartung der Klasse A zuständig ist, weitere Änderungen in Aussicht gestellt hatte (minor changes und major changes), sind weitere Anpassungen der XSLT-Logiken absehbar.

Das Problem kann dadurch gelöst werden, daß auch 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

Ein zentraler Vorteil dieses Ansatzes ist, daß die XML-Datenkonvertierung für die Java-Klassen, ebenso für die anderen Datenformate, in separate XSLT-Dateien ausgelagert werden kann. Damit ist die Datenübernahme kein integrativer Bestandteil der Java-Logik, was bei jeder strukturellen Änderung der XML-Dokumentstruktur eine Neukompilierung nach sich ziehen müßte.

Ein zweiter Vorteil ist, daß die Wartung sämtlicher XSL-Konvertierungsstrecken samt XML Schema Validierung durch ein separates Team wahrgenommen werden kann. Damit können sich die hoch bezahlten Java-Developer auf die strategische Programmierung konzentrieren, ohne sich mit dem (trivialen?) Geschäft der Transformationslogik befassen zu müssen. Gerade die Pflege der Konvertierungslogik ist bei häufigen fachlichen Änderungen auf der Gegenseite mühsam.

qrpic/Datenaustausch7.jpg

wg / 14. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


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

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