Feb 14, 2022
6 minuten

Waarom zou je legacy-software moderniseren?

3 manieren om een legacy-applicatie te vernieuwen

Heb jij je belangrijkste applicaties nog steeds op een IBM AS/400-server of SQL Server 2012 draaien? En wil je er graag vanaf, maar weet je niet hoe? Dan ben je niet de enige. Veel organisaties willen wel moderniseren, maar de oude software werkt nog prima. Bovendien zijn ze bang voor de risico's, onzekerheid en kosten van het opnieuw ontwikkelen van applicaties. Toch zijn er genoeg redenen om een verouderde applicatie te vernieuwen. Hoe je dat aanpakt? Dat beschrijven we in dit artikel.

Legacy-software vervangen

De belangrijkste reden om legacy-software te vervangen, is dat er iets niet meer goed werkt of functionaliteit ontbreekt. Vaak is dit niet het geval bij legacy-applicaties. Misschien is de software technisch verouderd, maar voldoet het nog aan alle functionele eisen. Of loopt de software juist functioneel achter, waardoor het niet meer in staat is om moderne taken uit te voeren. Dat kan het geval zijn bij een webshop of analytics platform. Toch is het niet nodig om genoegen te nemen met de huidige functionaliteit van je legacy-software. 

Drie manieren om te moderniseren

Over het algemeen zijn er drie manieren om een legacy-applicatie te moderniseren, elk met zijn eigen voor- en nadelen:

1. Conversie van de broncode

Je kunt proberen om de oude programmeertaal om te zetten naar een nieuwe programmeertaal. Maar dan loop je al snel tegen een aantal problemen aan. Hoe stap je bijvoorbeeld over van een model gericht op procedures naar een objectgeoriënteerd model? Of van een RPG-applicatie op een AS/400-server naar een 3-tier applicatie? Bovendien kan het aantal bugs in de nieuwe applicatie flink toenemen. De combinatie van bovenstaande zaken maakt de nieuwe software ook moeilijker te onderhouden.

2. Een GUI front-end (wrapping) gebruiken

Een andere oplossing om de code intact te laten, is door een moderne gebruikersinterface te ontwikkelen bovenop de legacy-applicatie. Dit lijkt een oplossing voor het probleem, althans van buitenaf. Het nadeel is dat je elke keer wanneer een proces wijzigt, je zowel de legacy-applicatie als de frontend moet aanpassen. Dit belemmert de verdere ontwikkeling van je applicatie.

3. Een softwaremodel afleiden

Steeds vaker worden ook low-code platforms ingezet om kernapplicaties te ontwikkelen. Sommige daarvan bieden de mogelijkheid om een low-code model af te leiden van de legacy-software. Op die manier specificeer je de kernfunctionaliteit van de applicatie, inclusief datamodellen, GUI-structuren, processen en vertalingen. In feite alles wat op meta-niveau beschikbaar is. Het afgeleide model is meestal niet volledig: dat verschilt per technologie en per applicatie. Maar het levert je een enorme boost voor een moderniseringsproject. In de praktijk kun je wel 20 tot 50% van de functionaliteit afleiden en dat is voor grote applicaties een enorme besparing.

Het traject ná modernisering

Bij elke vorm van modernisering is het belangrijk om verder te kijken dan het oorspronkelijke project. Je wilt de applicatie namelijk verder ontwikkelen. Bij conversie van de code is dat lastig, omdat na de conversie de oorspronkelijke filosofie van de applicatie niet meer bestaat. En met wrapping moet je steeds de frontend en backend wijzigen. Een low-code model biedt dan uitstekende mogelijkheden om de applicatie door te ontwikkelen. Je kunt dan zelfs modellen automatisch verrijken op basis van slimme analyses van de metadata. Dit versnelt niet alleen de doorontwikkeling, maar zorgt ook voor een uniform proces.

Aan de slag met het moderniseren van legacy-software

Naarmate de tijd verstrijkt, blijven de onderhoudskosten van legacy-software stijgen. En uiteindelijk komt er een moment dat de technologie niet meer wordt ondersteund. Op dit moment zijn veel organisaties zelfs bezig met het creëren van de legacy van de toekomst. Het wordt tegenwoordig namelijk steeds gemakkelijker om nieuwe software te implementeren, maar niemand weet hoe lang deze software populair zal blijven of technisch ondersteund zal worden. 

De enige manier om de creatie van nieuwe legacy te vermijden, is door bedrijfsapplicaties te moderniseren met een low-code platform voor kernapplicaties. Dat bovendien in staat is om automatisch over te schakelen naar een andere technologie. Wanneer je software ontwikkelt met zo’n platform, heb je de garantie dat de technologie altijd up-to-date blijft en is er geen sprake meer van legacy. Kortom, low-code is de definitieve oplossing voor het legacy-probleem.

Bron: Thinkwise

Deel de pagina:

redactie
House of low-code

De redacteuren van House of low-code zijn continu op zoek naar interessante content, gaan in gesprek met ervaringsdeskundigen en schrijven zelf over actuele thema’s op het gebied van low-code development.