Software-Upgrade: Migration von Hibernate nach EclipseLink

Seite 3: Fazit

Inhaltsverzeichnis

Durch den Techniksprung der modellgestützten Quelltextmigration ergeben sich neue Freiheiten in der Implementierung. Das betrifft zum Beispiel das Erstellen von Blueprints, da es nun möglich ist, die Software wahlweise zu modellieren oder zu programmieren, ohne dabei zwischen diesen beiden Entwicklungsmethoden einen Bruch oder einen aufwendigen manuellen Abgleich in Kauf nehmen zu müssen.

Der Screenshot zeigt einen Ausschnitt des Datenmodells in UML Lab. Rechts sieht man einen Auszug des eingelesenen Quellcodes. Im Modell werden nur fachliche Informationen der Anwendungsdomäne repräsentiert. Die Abstraktion von Implementierungsdetails erfolgt durch die Templates. Es lässt sich wie gewohnt im Quelltext, aber auch im Modell weiterarbeiten (Abb. 4).

In Fragen der Effizienz schneidet ein modellgetriebenes Softwareupgrade auch deshalb gut ab, weil das von UML Lab verwendete Template-basierte Round-Trip Engineering mühsame und zeitraubende Handarbeit durch den wechselseitigen automatischen Abgleich von altem und neuem Quelltext ersetzt. Durch das synchrone Arbeiten an zwei Entwicklungssträngen der Applikation kommt es zu keinen unnötigen Zeitverlusten. Trotzdem bleibt den Entwicklern mit UML Lab ihre gewohnte Entwicklungsdomäne – ob Modellierung oder Programmierung – erhalten.

Darüber hinaus verändern sich Patterns und Best Practices, weil die Applikation im Gegensatz zu anderen Upgrade-Prozessen jetzt von den neuen Funktionen der verbesserten Komponentenversion, hier JPA 2, profitieren kann. Denn dank seiner Transformationsregeln berücksichtigen die entwickelten Templates diese neuen Features bei der Konvertierung mit den daraus resultierenden Möglichkeiten. Dem "natürlichen" Alterungsprozess einer Software wird damit erfolgreich entgegengewirkt.

Marco Sebastiao
ist freier Softwareentwickler und hat sich im Rahmen seiner Tätigkeit für die Micromata GmbH mit dem hier beschriebenen Round-Trip Engineering befasst. Als Doktorand an der Universität Kassel beschäftigt er sich mit Compilerbau und ausfallsicheren Betriebssystemen.
(ane)