← Nieuwste papers
💻 computer science

Model-Driven Legacy System Modernization at Scale

Dit ervaringsverslag presenteert en evalueert een vierfasen, modelgestuurde aanpak die succesvol een grootschalige legacy .NET-applicatie moderniseert door een verrijkt, technologie-agnostisch intermediair model in te voegen om de semi-automatische migratie van UI-componenten mogelijk te maken, terwijl de functionaliteit behouden blijft en de onderhoudbaarheid wordt verbeterd.

Oorspronkelijke auteurs: Tobias Böhm, Jens Guan Su Tien, Mohini Nonnenmann, Tom Schoonbaert, Bart Carpels, Andreas Biesdorf

Gepubliceerd 2026-06-18
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Tobias Böhm, Jens Guan Su Tien, Mohini Nonnenmann, Tom Schoonbaert, Bart Carpels, Andreas Biesdorf

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorme, historische fabriek bezit die al 20 jaar non-stop draait. Het produceert de goederen waar je hele stad afhankelijk van is. Het probleem? De fabriek is gebouwd met oude blauwdrukken, gebruikt roestige machines en de enige mensen die weten hoe je de vreemde, op maat gemaakte hendels moet repareren, zijn de oorspronkelijke bouwers die nu met pensioen gaan.

Je weet dat je moet upgraden naar een moderne, geautomatiseerde fabriek om bij de tijd te blijven, maar je kunt hem niet zomaar sluiten en opnieuw beginnen. Dat zou te riskant en te duur zijn.

Dit artikel beschrijft een slimme "tussenpersoon"-strategie om deze fabriek te moderniseren zonder de productie te stoppen. Zo hebben ze het gedaan, eenvoudig uitgelegd:

Het Probleem: De "Oude Fabriek"

De onderzoekers werkten aan een enorm softwaresysteem (een "Terminal Operating System" voor een grote Europese haven) dat sinds 2006 draait. Het is als die oude fabriek:

  • Het werkt: Het voert kritieke taken uit zoals het verplaatsen van lading en facturatie.
  • Het zit vast: Het is gebouwd op zeer oude technologie (.NET Framework en ASP.NET Web Forms) die moeilijk te onderhouden is.
  • Het is een rommeltje: In de loop van 15 jaar zijn er duizenden aangepaste onderdelen toegevoegd. Sommige zijn standaard, maar veel zijn unieke, handgemaakte "bespoke" stukken die niet in standaard mallen passen.
  • Het risico: Als je probeert het handmatig te herbouwen, zal het eeuwen duren, een fortuin kosten en loop je het risico de dingen die momenteel goed werken te breken.

De Oplossing: De "Universele Vertaler"-blauwdruk

In plaats van te proberen de oude fabriek direct te vertalen naar een nieuwe (wat lijkt op het woord-voor-woord vertalen van een gedicht naar een andere taal in de hoop dat de betekenis hetzelfde blijft), bedachten het team een Universele Vertaler-blauwdruk.

Ze creëerden een driestappenproces:

1. De "Archeoloog"-fase (Analyse)

Eerst keken ze niet alleen naar de code; ze brachten het in kaart. Ze gebruikten software om de oude fabriek te scannen en een gedetailleerde, technologie-neutrale kaart te maken.

  • Analogie: Stel je voor dat je een foto maakt van elke machine, draad en hendel in de oude fabriek en precies opschrijft wat elk onderdeel doet (bijv. "Deze hendel opent de poort", "Deze knop print een bonnetje"), zonder je nog zorgen te maken over hoe het dat doet.

2. De "Universele Blauwdruk"-fase (Verrijking)

Dit is het belangrijkste deel. Ze namen die rommelige kaart en veranderden die in een schone, eenvoudige, "technologie-agnostische" model.

  • Analogie: Ze maakten een meesterblauwdruk die zegt: "We hebben een Poortopener nodig", "We hebben een Bonnetjesprinter nodig" en "We hebben een Navigatiesysteem nodig". Ze verwijderden de oude, roestige details en concentreerden zich puur op de functie. Ze voegden ook "post-its" (metadata) toe om de regels uit te leggen, zoals "Deze knop moet rood zijn" of "Dit formulier heeft een wachtwoord nodig".
  • Waarom dit helpt: Omdat deze blauwdruk er niet om geeft of de oude fabriek tandwielen of stoom gebruikte, en het er niet om geeft of de nieuwe fabriek elektriciteit of zonne-energie gebruikt, kan deze gebruikt worden om elke moderne versie te bouwen.

3. De "Bouwer"-fase (Synthese & Transitie)

Nu gebruikten ze die schone blauwdruk om de nieuwe fabriek automatisch te bouwen.

  • Analogie: Ze voerden de instructie "Poortopener" in een moderne 3D-printer (de nieuwe technologie, Next.js/React) en deze printte direct een gloednieuwe, gestroomlijnde, moderne Poortopener.
  • Het resultaat: Voor standaardonderdelen (zoals knoppen, tekstvakken en standaardformulieren) deed de computer bijna al het werk. Het genereerde duizenden nieuwe pagina's die er precies hetzelfde uitzagen en werkten als de oude, maar draaiden op moderne, snelle technologie.

Wat werkte en wat niet

Het artikel is eerlijk over de beperkingen van deze aanpak:

  • De Magie (Automatisering): Voor de "standaard" onderdelen van de fabriek (de 30 veelvoorkomende typen knoppen en formulieren) werkte het systeem als een fotokopieerapparaat. Het werkte perfect; het vertaalde 1.500 webpagina's automatisch en behield de werking ervan.
  • De Uitdaging (Handmatig werk): De fabriek had enkele vreemde, op maat gemaakte "bespoke" machines die niemand eerder had gezien. De computer kon niet begrijpen hoe deze automatisch vertaald moesten worden.
    • Analogie: Als de oude fabriek een hendel had gemaakt van een specifiek stuk drijfhout dat alleen de oorspronkelijke bouwer wist te gebruiken, kon de 3D-printer niet raden hoe hij daar een moderne versie van moest maken. Mensen moesten ingrijpen en die specifieke, unieke onderdelen handmatig herontwerpen.

De Beloning

Door deze "Universele Blauwdruk"-methode te gebruiken, bereikte het team het volgende:

  1. Veiligheid: Ze hoefden niet te gokken. De blauwdruk zorgde ervoor dat het nieuwe systeem precies deed wat het oude systeem deed.
  2. Snelheid: Ze automatiseerden de saaie, repetitieve onderdelen, wat jaren aan handmatig coderen bespaarde.
  3. Toekomstbestendigheid: Het nieuwe systeem is makkelijker te begrijpen en te onderhouden omdat het is gebouwd op een schone, moderne fundering, en niet op een stapel oude, verstrengelde draden.

In een Notendop

Dit artikel laat zien dat je een historisch, cruciaal gebouw niet hoeft af te breken om het te moderniseren. In plaats daarvan kun je een slimme, tussenliggende blauwdruk creëren die het doel van het oude gebouw begrijpt, de oude stenen verwijdert en die kennis gebruikt om automatisch een moderne, efficiënte versie te construeren — waarbij mensen alleen hoeven in te grijpen voor de unieke, vreemde eigenaardigheden die de computer niet kan begrijpen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →