Model-Driven Legacy System Modernization at Scale
Dieser Erfahrungsbericht präsentiert und evaluiert einen vierstufigen, modellgesteuerten Ansatz, der erfolgreich eine groß angelegte Legacy- .NET-Anwendung modernisiert, indem ein angereichertes, technologieagnostisches Zwischenmodell eingefügt wird, um die semiautomatische Migration von UI-Komponenten zu ermöglichen, während die Funktionalität erhalten bleibt und die Wartbarkeit verbessert wird.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie besitzen eine riesige, historische Fabrik, die seit 20 Jahren ununterbrochen in Betrieb ist. Sie produziert die Güter, auf die sich Ihre gesamte Stadt verlässt. Das Problem? Die Fabrik wurde nach alten Bauplänen gebaut, verwendet rostige Maschinen und nur die Leute, die wissen, wie man die seltsamen, maßgefertigten Hebel repariert, sind die ursprünglichen Erbauer, die nun in den Ruhestand gehen.
Sie wissen, dass Sie die Fabrik auf eine moderne, automatisierte Fabrik umstellen müssen, um mit der Zeit Schritt zu halten, aber Sie können sie nicht einfach abschalten und von vorne beginnen. Das wäre zu riskant und zu teuer.
Dieses Papier beschreibt eine clevere „Vermittler“-Strategie, um diese Fabrik zu modernisieren, ohne die Produktion zu stoppen. So haben sie es gemacht, einfach erklärt:
Das Problem: Die „Alte Fabrik“
Die Forscher arbeiteten an einem riesigen Softwaresystem (einem „Terminal Operating System“ für einen großen europäischen Hafen), das seit 2006 in Betrieb ist. Es ist wie diese alte Fabrik:
- Es funktioniert: Es erledigt kritische Aufgaben wie die Warenbewegung und die Abrechnung.
- Es steckt fest: Es basiert auf sehr alter Technologie (.NET Framework und ASP. quelltextbasierte ASP.NET Web Forms), die schwer zu warten ist.
- Es ist chaotisch: Über 15 Jahre hinweg wurden tausende benutzerdefinierte Teile hinzugefügt. Einige sind Standard, aber viele sind einzigartige, handgefertigte „maßgeschneiderte“ Stücke, die in keine Standardform passen.
- Das Risiko: Wenn man versucht, es manuell neu aufzubauen, wird es ewig dauern, ein Vermögen kosten und man könnte Dinge zerstören, die derzeit einwandfrei funktionieren.
Die Lösung: Der „Universelle Übersetzer“-Bauplan
Anstatt zu versuchen, die alte Fabrik direkt in eine neue zu übersetzen (was so wäre, als würde man versuchen, ein Gedicht Wort für Wort in eine andere Sprache zu übersetzen und hoffen, dass die Bedeutung gleich bleibt), erfand das Team einen Universellen Übersetzer-Bauplan.
Sie entwickelten einen dreistufigen Prozess:
1. Die „Archäologen“-Phase (Analyse)
Zuerst betrachteten sie nicht nur den Code; sie kartierten ihn. Sie nutzten Software, um die alte Fabrik zu scannen und eine detaillierte, technologie-neutrale Karte zu erstellen.
- Analogie: Stellen Sie sich vor, man macht ein Foto von jeder einzelnen Maschine, jedem Draht und jedem Hebel in der alten Fabrik und schreibt genau auf, was jedes Teil tut (z. B. „Dieser Hebel öffnet das Tor“, „Dieser Knopf druckt einen Beleg“), ohne sich vorerst darum zu kümmern, wie es das tut.
2. Die „Universeller Bauplan“-Phase (Anreicherung)
Dies ist der wichtigste Teil. Sie nahmen diese chaotische Karte und verwandelten sie in ein sauberes, einfaches, „technologie-agnostisches“ Modell.
- Analogy: Sie erstellten einen Master-Bauplan, der besagt: „Wir brauchen einen Toröffner“, „Wir brauchen einen Belegdrucker“ und „Wir brauchen ein Navigationssystem“. Sie entfernten die alten, rostigen Details und konzentrierten sich rein auf die Funktion. Sie fügten auch „Klebezettel“ (Metadaten) hinzu, um die Regeln zu erklären, wie zum Beispiel „Dieser Knopf muss rot sein“ oder „Dieses Formular benötigt ein Passwort“.
- Warum das hilft: Da dieser Bauplan es nicht spielt, ob die alte Fabrik Zahnräder oder Dampf verwendete, und es ihm egal ist, ob die neue Fabrik Strom oder Solarenergie nutzt, kann er für jede moderne Version verwendet werden.
3. Die „Erbauer“-Phase (Synthese & Übergang)
Nun nutzten sie diesen sauberen Bauplan, um die neue Fabrik automatisch zu bauen.
- Analogy: Sie speisten die Anweisung „Toröffner“ in einen modernen 3D-Drucker (die neue Technologie, Next.js/React) ein, welcher sofort einen brandneuen, eleganten Toröffner ausdruckte.
- Das Ergebnis: Für Standardteile (wie Buttons, Textfelder und Standardformulare) erledigte der Computer fast die gesamte Arbeit. Er generierte tausende neue Seiten, die genauso aussah und funktionierte wie die alten, aber auf moderner, schneller Technologie liefen.
Was funktionierte und was nicht
Das Papier ist ehrlich über die Grenzen dieses Ansatzes:
- Die Magie (Automatisierung): Für die „Standard“-Teile der Fabrik (die 30 gängigen Arten von Buttons und Formularen) war das System wie ein Fotokopierer. Es funktionierte perfekt, übersetzte 1.500 Webseiten automatisch und bewahrte deren Funktionsweise.
- Die Herausforderung (Manuelle Arbeit): Die Fabrik besaß einige seltsame, maßgefertigte „bespoke“ Maschinen, die noch nie zuvor jemand gesehen hatte. Der Computer konnte nicht verstehen, wie er diese automatisch übersetzen sollte.
- Analogy: Wenn die alte Fabrik einen Hebel aus einem speziellen Stück Treibholz hatte, das nur der ursprüngliche Erbauer zu bedienen wusste, konnte der 3D-Drucker nicht erraten, wie man eine moderne Version davon baut. Menschen mussten eingreifen und diese spezifischen, einzigartigen Teile manuell neu gestalten.
Der Ertrag
Durch die Verwendung dieser „Universeller Bauplan“-Methode erreichte das Team:
- Sicherheit: Man musste nicht raten. Der Bauplan stellte sicher, dass das neue System exakt das tat, was das alte tat.
- Geschwindigkeit: Sie automatisierten die langweiligen, repetitiven Teile und sparten so Jahre an manueller Codierung.
- Zukunftssicherheit: Das neue System ist leichter zu verstehen und zu reparieren, da es auf einem sauberen, modernen Fundament steht und nicht auf einem Haufen alter, verhedderter Drähte.
Zusammenfassend
Dieses Papier zeigt, dass man ein historisches, kritisches Gebäude nicht abreißen muss, um es zu modernisieren. Stattdessen kann man eine kluge, zwischengeschaltete Bauplan-Schicht erstellen, die den Zweck des alten Gebäudes versteht, die alten Ziegel entfernt und dieses Verständnis nutzt, um automatisch eine moderne, effiziente Version zu konstruieren – wobei der Mensch nur dazu dient, die einzigartigen, seltsamen Eigenheiten zu korrigieren, die der Computer nicht begreifen kann.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.