Een mainframe wisselt vaak gegevens uit met databases, batchprocessen, bestanden, terminals en externe applicaties. Deze koppelingen kunnen gebruikmaken van oudere formaten en protocollen.
Wanneer alleen de broncode wordt gemigreerd, kunnen deze afhankelijkheden over het hoofd worden gezien. De nieuwe software moet dezelfde gegevens correct kunnen ontvangen, verwerken en terugsturen.
Ook timing speelt een rol. Batchprocessen kunnen bijvoorbeeld in een vaste volgorde draaien. Wanneer die volgorde verandert, kunnen gegevens ontbreken of dubbel worden verwerkt.
Test het gedrag
Vergelijk oud en nieuw
AI-gegenereerde code kan compileren en toch andere resultaten produceren dan het oorspronkelijke systeem. Daarom moet niet alleen de code, maar vooral het gedrag van de applicatie worden getest.
Met regressietests kan dezelfde invoer door het oude en nieuwe systeem worden verwerkt. De uitkomsten worden vervolgens met elkaar vergeleken.
Ook foutmeldingen, afrondingen, uitzonderingen en grote datasets moeten worden meegenomen. Verschillen die klein lijken, kunnen bij financiële berekeningen of omvangrijke transacties grote gevolgen hebben.
Migreer in stappen
Verklein de technische impact
Een volledige vervanging in één keer maakt het lastig om fouten te isoleren. Een gefaseerde aanpak is technisch beter beheersbaar.
Onderdelen kunnen afzonderlijk worden losgemaakt en via API’s aan het bestaande systeem worden gekoppeld. Zo kan nieuwe functionaliteit naast de legacyomgeving worden ontwikkeld en getest.
Na iedere stap wordt gecontroleerd of gegevens, prestaties en koppelingen correct functioneren. Het mainframe wordt pas verder afgebouwd wanneer het nieuwe onderdeel aantoonbaar hetzelfde gedrag levert.