


HybrIT ontwikkelt een MVP voor het eerste klantenportaal van TAUW: een toekomstgerichte applicatie waarmee medewerkers en klanten van TAUW eenvoudig informatie kunnen inzien en onderling delen.
De afgelopen jaren is de behoefte aan een klantenportaal bij TAUW sterk gegroeid. Het doel is om de bedrijfsprocessen efficiënter te organiseren, meer waarde uit bestaande data te halen en tegelijkertijd nieuwe producten en diensten digitaal aan te bieden.
Met haar expertise op het gebied van portalontwikkeling heeft HybrIT een platform ontwikkeld dat deze behoeften samenbrengt. HybrIT begeleidt TAUW in het ontwikkelingsproces, denkt mee over de toegevoegde waarde, en ontwikkelt vanuit een multidisciplinair team. Daarnaast ondersteunen we TAUW bij de adoptie van de applicatie door zowel klanten als collega’s.
Het klantenportaal fungeert als een centrale informatiebron uit verschillende systemen die TAUW gebruikt. Klanten en medewerkers kunnen informatie raadplegen over lopende en toekomstige projecten. Klanten kunnen bijvoorbeeld de projectstatus bekijken, relevante documenten inzien, contact opnemen met TAUW, en een melding ontvangen bij projectupdates. De benodigde data wordt gehaald uit het ERP-systeem, het communicatieplatform en andere online diensten, zoals het IDP.
TAUW levert een projectleider en product owner die verantwoordelijk zijn voor het specificeren van de basisfunctionaliteiten en functionele vereisten. Een scrum master, UX-designer en drie developers (fullstack, backend en frontend) van HybrIT werken samen met de projectleider en product owner aan de realisatie van het portaal.
Omdat er een uitgebreid voortraject was, heeft de scrum master in de beginfase enkele sessies ingepland om eerder vastgestelde functionaliteiten te verdiepen en de ontwikkelcycli volgens Kanban te verduidelijken. Dit was essentieel voor het opstellen van user stories, zoals “Als {X} wil ik {X}, zodat {X}.” De product owner beschrijft daarnaast gedetailleerde achtergrondinformatie, functionele eisen (happy flow / rainy flow), benodigde resources, afhankelijkheden en acceptatiecriteria. Dit is van belang voor het inschatten van het werk, de opsplitsing van functionaliteiten, en het benaderen van (TAUW-)collega’s voor specifieke resources, zoals de afdeling operations voor het inrichten van de infrastructuur.
Omdat het portaal afhankelijk is van verschillende datastromen die deels werken met events, is gekozen voor een event-driven architectuur met connectoren om de data uit de diverse bronnen te verwerken. Gebruikers-, klant- en projectdata worden via events uit het communicatieplatform en ERP-systeem in een database opgeslagen. Deze events worden in een wachtrij geplaatst en verwerkt in cloud-gebaseerde functies die poison messages opvangen, zodat er geen data verloren gaat en het verwerkingsproces gewaarborgd blijft. De database-informatie wordt via een read-only API naar de frontend van het klantenportaal gestuurd, wat het CQRS-patroon toepast.
De cloudfuncties en API zijn .NET-applicaties die draaien als uitvoerbare bestanden op een cloud-gebaseerde virtuele machine. De cloudprovider verzorgt beveiliging, load balancing, autoscaling en beheer, waardoor de applicatie eenvoudig te deployen is en nieuwe functionaliteiten makkelijk kunnen worden uitgerold.
De frontend wordt, net als de applicaties, gehost op een virtuele machine met ondersteuning voor server-side rendering en ingebouwde API-functionaliteiten. Authenticatie via het IDP zorgt ervoor dat de frontend alleen toegankelijk is voor gebruikers met expliciete toegang. Ingelogde gebruikers ontvangen een tijdelijk geldige token om toegang te krijgen tot de frontend, waarmee de frontend vervolgens communiceert met de API. Dit token-gebaseerde authenticatiesysteem waarborgt dat alleen de juiste personen toegang hebben tot afgeschermde data.
Eddy Harskamp (Lead developer):
“Aangezien het klantportaal een pioniersproject was binnen TAUW, kregen we de vrijheid om de applicatie zonder expliciete technische eisen te ontwikkelen. Hierdoor konden we standaarden introduceren voor softwareontwikkeling. Een ontwikkelstraat met snelle releases, testresultaten en monitoring draagt bij aan de kwaliteitsbewaking, wat ons in staat stelt om snelle iteraties op te leveren binnen het development team.”