De overheid gaf ProRail en de NS de opdracht tot het verder ontvlechten van het reisinformatiesysteem; de bron van de informatie op de borden van treinstations. Een operatie met een directe dagelijkse impact op een miljoen reizigers. Twintos stond de NS en ProRail bij met advies en oplossingen om het complete systeem bij de NS onder te brengen.

Elke trein in Nederland die een station binnenrijdt, activeert een aantal sensoren op het spoor. Die sturen een signaal naar een systeem dat ook weer direct verbonden is met de blauwe borden waarop je als reiziger ziet welke trein er aankomt. Deze applicatie draaide in het rekencentrum van ProRail en is cruciaal voor de automatische verwerking van op- en afrij informatie van de treinen. Die informatie verschijnt op de borden die je op alle NS-stations in Nederland op de perrons ziet.

ProRail had het in beheer, totdat de overheid de opdracht gaf tot het verder ontvlechten van dit systeem.

Analytisch

John Paul van Helvoort, adviseur in databasebeheer en Oracle-expert bij Twintos: “Er was sprake van een technologisch en politiek complex landschap met grote, tegenovergestelde belangen. In zo’n geval hebben klanten niet alleen onze IT-expertise nodig. Wij worden dan gevraagd om ons analytische vermogen en menselijk inzicht in te zetten om een oplossingsrichting te formuleren die werkt voor alle partijen.”

John: “De ontvlechting van de systemen had zo’n grote landelijke impact dat de betrokken partijen moeite hadden om het commitment aan te gaan. Ik zag dit als uitdaging en een mooie manier om onze kennis en kunde in de praktijk te brengen.”

Latencygevoeligheid

Een van de hete hangijzers in dit proces was het verplaatsen van de servers die elk uur honderdduizenden cruciale berichten voor het reisinformatiesysteem verwerkten. In Utrecht stonden de servers van de applicatie en die van de data pal naast elkaar en was er dan ook nauwelijks sprake van impact door latency.

John: “Latency is de vertraging waarmee berichten aankomen. Die ontstaat door bijvoorbeeld de snelheid waarmee informatie door de glasvezelkabel gaat en door andere tussenliggende componenten in het systeem, die de berichten bijvoorbeeld controleren op echtheid en juistheid.”

Honderduizenden berichten per uur

Om de ontvlechting te realiseren, moesten de servers die deze reisinformatie verwerken naar een datacenter in Amsterdam, 30 kilometer verderop. Daarmee zou de latency zomaar kunnen toenemen van 0,1 naar 1 milliseconde.

De latency zou kunnen toenemen van 0,1 naar 1 milliseconde. Een factor 10 verhoging! In complexe samenwerkende omgevingen kunnen kleine details een gigantische impact hebben.

John Paul van Helvoort, Lead engineer bij Twintos

Gigantische impact

John: “Op het oog lijkt dit een klein verschil, maar het is feitelijk een factor 10 verhoging! In complexe samenwerkende omgevingen kunnen kleine details dan ook een gigantische impact hebben. Zeker wanneer het systeem honderdduizenden berichten per uur moet kunnen verwerken.”

Het was daarom zaak om de latencygevoeligheid omlaag te brengen. John: “We vonden een manier om in elk van die honderdduizenden pakketten met informatie niet één bericht te versturen, maar wel 100 tegelijk. Dat maakte het systeem ontzettend veel sneller. Het maakte het bovendien veel schaalbaarder en dus voorbereid op de toekomst.”

Deadline van de overheid

Zo hebben we verder gewerkt om het project in beweging te krijgen. De deadline die de overheid had gesteld, kwam intussen rap dichterbij. Er moest een werkbaar plan komen om de ontvlechting in werking te stellen, waar alle partijen overeenstemming over konden bereiken.

John: “Wij kunnen putten uit jaren ervaring met het voorbereiden en implementeren van databaseprojecten met grote impact. We hebben een route naar livegang voorgesteld waarin we alle stakeholders meekregen.”

Testdata van alle treinbewegingen

We hebben de testcase voorbereid door te simuleren welke berichten er op een normale dag door het bestaande systeem kwamen. Tijd om iets creatiefs te verzinnen om aan goede testdata te komen. John: “Daarvoor hebben we een methode ontwikkeld om letterlijk de productiestromen van het systeem af te luisteren en op te slaan. Zo kregen we een enorme dataset met alle treinbewegingen in de dienstregeling. Die data konden we als een repeterende set inzetten om onze code te testen. Zo hebben we meerdere iteraties gedaan.”

Op scherp

Toen was het zover; tijd voor de livegang. John: “Een heel spannend moment. De NS heeft 12 verkeersleidingsposten in het land die het spoor in de gaten houden. Ook die stonden op scherp om te signaleren of er foutieve aan- en afrijdtijden van treinen binnenkwamen. Heel Twintos stond klaar om direct bij te springen.”

De maatschappelijke impact was groot als dit fout ging. Dit mocht niet falen.

John Paul van Helvoort, Lead engineer bij Twintos

Livegang

We lanceerden op een drukke werkdag. Alle normale spitsdrukte zou voorbij komen. We wisten dat we veel hadden voorbereid, maar de druk om alle reizigers van heel Nederland zonder vertraging op hun bestemming te krijgen was enorm. John: “De maatschappelijke impact was groot als dit fout ging. Dit mocht niet falen.”

Toen we de nieuwe code live zetten en het ontvlochten systeem in werking ging, zaten we als team met ingehouden adem klaar. En toen gebeurde er… Niets. Alles ging goed.

‘Inleving in ieders behoeften’

Zo’n project behelst veel meer dan alleen technologische expertise. John: “Het klinkt misschien gek, maar ik zie dit werk als een kwestie van een bepaald gevoel ontwikkelen voor een applicatie. Leren denken als het systeem: een trein komt binnen, het passeert spoorvensters a, b en c en activeert zo drie sensoren achter elkaar. Wat gebeurt er dan in het systeem? En wat heeft het nodig om foutloos te werken? Dat gevoel ontwikkel je door jarenlange ervaring.”

John: “Voor het werken met verschillende stakeholders is dat eigenlijk niet anders. Het is weliswaar technisch werk, maar het komt neer op het ontwikkelen van een gevoel. Het gaat om inleving in de behoeften van iedereen en een weg vinden die werkt voor alle partijen. Dat maakt Twintos bijzonder; oog voor het menselijke aspect.”

Volgende NS-case

Voor de NS hebben we vervolgens nog heel veel databaseprojecten gedaan. We vertellen binnenkort meer over het systeem waarmee de NS al het materieel en alle diensten beheert, dat werd overgezet naar PostgreSQL. Open source, inderdaad. Het is live sinds de zomer van 2023, in een hoogbeschikbaar ontwerp. Maar dat is voor een volgende case.

Informatie ontvlechten die voor miljoenen mensen cruciaal is?

Neem contact op met Twintos. We denken graag met je mee.
Mail Edward Dortland, managing director Twintos