NS trein hoge snelheid
Project

Succesvolle modernisering Procesleiding

30 jaar oud PRL-systeem naar 2021 getrokken

  • 16 april 2021
  • 3 minuten

Procesleiding, kortweg PRL, is ontwikkeld in de jaren ’90 in de programmeertaal Pascal. Het draaide op het besturingssysteem Open VMS en op sterk verouderde hardware die vandaag de dag niet meer leverbaar is. InTraffic is er in opdracht van ProRail in geslaagd om de circa anderhalf miljoen regels code tellende applicatie te moderniseren en naar de huidige tijd te trekken. Waarom was dat nodig? Wat kwam daarbij kijken? 

PRL is het systeem dat de treindienstleiders gebruiken om seinen en wissels te bedienen en rijwegen in te stellen. Het systeem signaleert daarnaast storingen aan wissels, overwegen en andere elementen. Het is derhalve een zeer kritisch systeem dat 24/7 beschikbaarheid vereist. Net als andere organisaties met complexe maatwerk legacyapplicaties staat ook ProRail voor de uitdaging: hoe kunnen we ons landschap kostenefficiënt en zonder al te grote risico’s moderniseren? Op zo’n manier dat het mogelijk wordt om snel nieuwe functionaliteit toe te voegen en flexibel in te spelen op wat de markt vraagt. De basisfunctionaliteit van de applicaties is namelijk nog steeds relevant en er is veel tijd in gaan zitten om de applicaties op het huidige niveau te krijgen. Maar ze zijn door de gebruikte technologie te log en inflexibel voor wat de huidige tijd vraagt. Bovendien is het ingewikkeld om integraties te ontwikkelen naar andere applicaties, terwijl de behoefte aan dergelijke integraties toeneemt. Deze uitdagingen gelden voor vrijwel alle maatschappijkritische systemen, of ze nu in gebruik zijn in het OV, bij een bank of bij logistieke knooppunten zoals een (lucht)haven.

Nieuwbouw te duur en risicovol
De huidige tijd vraagt om snelle aanpasbaarheid. Misschien wil je de oude legacyapplicaties volledig opnieuw bouwen. Dat is echter veel makkelijker gezegd dan gedaan. Veel organisaties met complexe maatwerkapplicaties hebben pogingen ondernomen, slechts weinigen hebben er succes mee geboekt. Zelfs de ‘succesvolle’ trajecten duurden langer dan gedacht en waren vele malen duurder dan begroot. In de minder succesvolle trajecten is er niet eens een applicatie opgeleverd en zijn alleen maar heel veel resources verbrand. Omdat veel van dergelijke complexe maatwerkapplicaties in gebruik zijn bij de overheid, is er zelfs een parlementaire enquête geweest over dit onderwerp onder leiding van Ton Elias. Het beeld dat daaruit naar voren kwam geldt eigenlijk voor vrijwel alle maatschappijkritische systemen. Namelijk: de applicaties zijn zo groot en bevatten zoveel met elkaar samenhangende functionaliteit, dat de complexiteit haast niet is te overzien. Dat maakt het verschrikkelijk duur en kennisintensief om dergelijke applicaties, waar vaak decennialang aan is ontwikkeld, opnieuw te ontwerpen.

Oude applicatie in modern jasje
Om deze reden heeft ProRail besloten om PRL niet opnieuw te bouwen, maar te moderniseren. En ook dat is zeker geen sinecure, zegt Bob Brands, business unitmanager bij InTraffic. “Er is dertig jaar lang ontwikkeld in PRL. Het bestaat uit verschillende deelsystemen die nauw verweven zijn. Het is alleen mogelijk om de samenhang tussen architectuur, functionaliteiten en deelapplicaties te begrijpen als je zelf lange tijd nauw betrokken bent geweest bij de ontwikkeling van de applicatie. Want dan snap je welke gedachten in de loop der jaren achter bepaalde ontwikkelingen hebben gezeten. Dan weet je waarom welke keuzes zijn gemaakt. En je begrijpt wat de applicatie doet in de vele duizenden scenario’s die zich kunnen voordoen.”

“We ontwikkelen Agile volgens de Scrum methode en maken gebruik van SAFe (het Scaled Agile Framework). We kunnen daardoor veel sneller nieuwe code schrijven. Ook hebben we testautomatisering toegevoegd in een applicatie.”

Bob Brands, Business Unit Manager Rail

30 jaar oude applicatie naar DevOps-omgeving gebracht
Die kennis heb je nodig als je een legacyapplicatie van deze omvang wilt moderniseren. Brands vertelt wat InTraffic precies heeft gedaan. “We hebben PRL overgezet van de programmeertaal Pascal naar C++. Het Open VMS is vervangen door het open source OS Linux. We hebben daarnaast de hardware waar de omgeving op draaide vervangen. De basis – dus de anderhalf miljoen regels code – is weliswaar omgezet naar C++, maar is verder onveranderd gebleven. Het systeem zit nu echter wel in een modern jasje. Dat betekent dat we PRL nu gevirtualiseerd draaien in containers. We ontwikkelen Agile volgens de Scrum methode en maken gebruik van SAFe (het Scaled Agile Framework). We kunnen daardoor veel sneller nieuwe code schrijven. Ook hebben we testautomatisering toegevoegd in een applicatie die is opgezet in een tijd dat je pas in productie ging controleren of het systeem werkt. Tot slot hebben we het met onze moderne manier van werken mogelijk gemaakt om de code ook automatisch te deployen. We zijn dus op een hele moderne manier gaan werken. Met die nieuwe manier van werken hebben we een dertig jaar oude legacyapplicatie naar een moderne DevOps-omgeving gebracht. Daardoor profiteren we van alle voordelen die DevOps biedt op het gebied van sneller ontwikkelen, frequenter opleveren en meer betrouwbaar opleveren.” En daar profiteert onze klant weer van.

Voorbereid op de toekomst
Op dit moment is PRL60, zoals de nieuwe omgeving heet, geïmplementeerd op twee van de dertien seinposten. De andere posten zullen in de loop van dit jaar worden omgezet. Als PRL60 aan het eind van dit jaar op alle bedienposten functioneert, is ProRail beter voorbereid op de toekomst. Een toekomst waarin storingen beter kunnen worden voorkomen en afgehandeld, eenvoudiger integraties kunnen worden gemaakt met ERTMS en andere systemen, en de deelsystemen waaruit PRL bestaat makkelijker kunnen worden ontvlochten. “Met PRL60 kan ProRail veel sneller reageren op alles wat er gebeurt, of het nu storingen zijn of nieuwe ontwikkelingen waar ProRail bij wil aanhaken”, besluit Brands.

“Met die nieuwe manier van werken hebben we een dertig jaar oude legacyapplicatie naar een moderne DevOps-omgeving gebracht. Daardoor profiteren we van alle voordelen die DevOps biedt op het gebied van sneller ontwikkelen, frequenter opleveren en meer betrouwbaar opleveren. En daar profiteert onze klant weer van.”

– Bob Brands, Business Unit Manager Rail

Succesvolle modernisering Procesleiding

Case study

InTraffic Case Transitie PRL

Meer informatie?

Neem contact op met Bob Brands

Stuur een mail Maak een connectie
Bob Brands