Your web browser is out of date. Update your browser for more security, speed and the best experience on this site.

Hoe WebSockets ervoor zorgen dat jij sneller kan vliegen

Wanneer je vliegtuig op tijd vertrekt en landt, is de kans groot dat dat dankzij Belgische software gebeurt. Axxes-consultant Nick Castermans en zijn collega’s werken bij AvioBook aan een chatapplicatie die de luchtvaartsector vleugels geeft.

Deel dit artikel
Front End Software & Services
Aviobook1

Als je in een vliegtuig zit en voor het vertrek even rondkijkt, zie je heel wat mensen heen en weer lopen. De stewards doen een laatste controle in de cabine, de bagage wordt in het ruim geladen, seingevers laten aan piloten weten dat alles oké is… Iedereen is druk bezig om ervoor te zorgen dat jij zonder problemen op reis kan gaan.

‘De communicatie tussen die mensen verloopt bij heel wat luchtvaartmaatschappijen nog zeer klassiek. In sommige gevallen moet men letterlijk naar elkaar lopen om boodschappen door te geven, anderen gebruiken applicaties zoals WhatsApp om berichten naar elkaar te sturen. Dat is zeer omslachtig, al was het maar omdat men niet van iedereen het telefoonnummer heeft’, zegt Nick Castermans. Sinds mei 2024 werkt de Axxes-consultant bij AvioBook aan een oplossing die daar verandering in moet brengen.

Aviobook2

AvioBook Connect

AvioBook is een Belgische scaleup die innovatieve applicaties voor de luchtvaartsector maakt. Onder andere KLM, Wizzair en Finnair gebruiken de systemen van AvioBook om hun vluchten te plannen en zo vlot mogelijk te laten verlopen. Nick werkt, samen met twee andere Axxes-consultants, binnen een team van tien personen aan AvioBook Connect.

‘Onze applicatie verbetert de communicatie tussen verschillende partijen, zodat vliegtuigen sneller kunnen opstijgen na een landing. Een grote Amerikaanse klant heeft berekend dat zij dankzij een vlottere turnaround twee vliegtuigen per dag minder nodig hebben’, zegt Nick.

Wanneer in de software van AvioBook een nieuwe vlucht wordt aangemaakt, creëert Connect automatisch een chatgroep waarin alle betrokkenen – zoals gate agents, grondpersoneel, piloten en cabin crew – met elkaar kunnen communiceren. Die chatberichten kunnen uit tekst, foto's of PDF's bestaan. Daarnaast komt ook heel wat informatie, over bijvoorbeeld vertragingen of problemen, automatisch in de chat via de API van AvioBook.

Aviobook3

Real-time communicatie via WebSockets

Snelheid is cruciaal, want wanneer iets misgaat, wil je uiteraard meteen op de hoogte zijn. ‘Omdat de applicatie real-time communicatie vereist, hebben we verschillende opties bekeken om dat aan te pakken’, zegt Nick. ‘Omdat Connect een webapplicatie is, kwam WebSockets snel naar boven als de slimste oplossing. Bij andere systemen zou je als client elke seconde data moeten pollen om na te gaan of er een update is, wat voor een te zware load op je server zorgt. Bij WebSockets laat je server aan de applicatie weten als er nieuwe informatie beschikbaar is.’

‘WebSockets is een standaard die je zelf kan onderhouden, maar wij kozen ervoor om dat met Socket.IO te doen. Zo leggen we een laag erboven, wat het systeem op sommige momenten ontlast. Onze server weet nu wanneer een client offline gaat doordat een vliegtuig in de lucht zit en geen bereik heeft, en kan anderen in de chat ook informeren wanneer dat het geval is’, zegt Nick.

Aviobook4

Ook offline beschikbaar

Dat deze event-driven architectuur blijft werken wanneer een van de deelnemers in de chat offline is, is cruciaal voor deze software. ‘De meeste vliegtuigen hebben tegenwoordig een internetverbinding voor het personeel, maar die is niet altijd stabiel. Omdat we willen dat berichten niet verloren gaan, werken we met optimistic updates’, klinkt het.

Door dat systeem zijn je eerder ontvangen berichten ook offline beschikbaar, en kan je berichten toevoegen die verstuurd worden zodra het systeem terug synchroniseert. ‘Je krijgt de berichten ook meteen in de juiste volgorde te zien, en daar komt technisch een pak meer bij kijken dan je zou denken’, zegt Nick.

De software van AvioBook is zodanig populair dat het meer dan 100.000 gebruikers telt. Dat zorgt voor de nodige load op de applicatie, waardoor Nick en zijn collega’s ervoor moeten zorgen dat alles netjes kan opschalen. ‘Het is belangrijk om een server te ontlasten wanneer hij al veel WebSocket-connecties heeft. Ook bij het aanmaken van chatrooms werken we event-driven in plaats van via polling. We werken met wachtrijen: berichten hebben een gegarandeerde volgorde en we verwijderen het pas uit de wachtrij wanneer iedereen heeft gezegd dat het bericht gelezen is. Zo hebben we een duidelijk overzicht van welke data wel of niet verwerkt zijn. Bij WhatsApp is er een team van honderden ontwikkelaars nodig om te doen wat wij doen, ik bewonder hoe zo’n klein Belgisch bedrijf uit Hasselt dit ook weet te realiseren.’

Nog niet uitgelezen?

Klik hier voor andere Insights!

Insights
Axxes