Dit artikel is geschreven voor de Dutch Laravel Foundation
Gemeenten in Nederland staan voor een grote digitale opgave, want inwoners verwachten een betrouwbare, snelle en toegankelijke online dienstverlening. Het IT-landschap van gemeenten bestaat vaak uit een verzameling van losstaande systemen, die niet makkelijk met elkaar communiceren. Vanuit die realiteit is de beweging Common Ground ontstaan. Wat betekent dit voor Laravel developers, als het open-source framework in aanmerking komt met deze beweging? In dit artikel vertellen wij je daar meer over.
Wat is Common Ground?
Common Ground is een gezamenlijke visie van Nederlandse gemeenten. De beweging wordt gesteund door de VNG en helpt de gemeenten hun IT architectuur fundamenteel anders in te richten om een gedeelde informatievoorziening te creëren.
Bij veel gemeenten zijn applicaties gegroeid tot gesloten systemen, waarin data, logica en presentatie zijn verweven met elkaar. Gegevens worden op meerdere plekken opgeslagen, gesynchroniseerd en gekopieerd. Het maakt de systemen duur in onderhoud, maar ook kwetsbaar en lastig aan te passen aan maatschappelijke veranderingen of een nieuwe wetgeving.
De Common Ground beweging wil deze situatie doorbreken door data los te koppelen van applicaties. De gegevens blijven bij de bron en worden via gestandaardiseerde interfaces beschikbaar gesteld aan verschillende toepassingen. Applicaties worden gebruikers van de data en geen eigenaar meer.
Het doel van de Common Ground beweging
Het doel is om gemeentelijke dienstverlening gemakkelijker, transparanter en toekomstbestendiger te maken. Door de data centraal beschikbaar te maken, kunnen gemeenten sneller nieuwe toepassingen ontwikkelen en de bestaande processen verbeteren. Gemeenten willen daarnaast minder afhankelijk zijn van individuele leveranciers en meer regie hebben over hun eigen informatievoorziening. Open standaarden en herbruikbare componenten zorgen ervoor dat een gemeente eenvoudiger kan wisselen van leveranciers, daarnaast zorgt het ervoor dat gezamenlijke oplossingen worden ontwikkeld. Dit betekent voor leveranciers dat hun oplossingen breder inzetbaar zijn binnen een gemeentelijk domein.
Common Ground in de praktijk
In praktijk betekent het dat data en applicaties van elkaar worden gescheiden. Applicaties halen gegevens op via API’s en slaan deze niet langdurig lokaal op. Hierdoor ontstaat er één waarheid per dataset en wordt de dataconsistentie eenvoudiger te waarborgen.
Verder wordt er ingezet op uniforme standaarden voor gegevensuitwisseling. Door afspraken te maken over datamodellen en API kunnen verschillende systemen zonder maatwerk met elkaar communiceren. Een applicatie hoeft bijvoorbeeld alleen te weten hoe het een standaardinterface kan aanspreken.
Tot slot is de samenwerking ook een belangrijk uitgangspunt. Gemeenten, leveranciers en ontwikkelaars werken samen aan bouwstenen die door meerdere partijen kunnen worden gebruikt.
Kansen voor Laravel developers
Voor Laravel developers liggen er kansen omdat de Common Ground filosofie goed aansluit op de moderne ontwikkelpraktijken. Laravel wordt o.a. veel gebruikt door API gedreven applicaties en biedt sterke ondersteuning voor gestructureerde data ontsluiting, authenticatie en autorisatie.
Binnen een Common Ground-context bouw je minder vaak een allesomvattende applicatie met een eigen database. In plaats daarvan worden services ontwikkeld die een specifieke functionaliteit bieden en data ophalen bij externe bronnen. Denk bijvoorbeeld aan een Laravel-applicatie die fungeert als front-end of proceslaag en via API’s gegevens ophaalt uit verschillende registraties. Dit vraagt om andere ontwerpkeuzes: modellen zullen minder gekoppeld zijn aan lokale tabellen en meer gericht op externe resources. Foutafhandeling, caching en versiebeheer van API’s worden daardoor belangrijker dan ooit.
Architectuurkeuzes voor Common Ground en Laravel
Applicaties binnen Common Ground vragen om een duidelijke scheiding van verantwoordelijkheden. Laravel leent zich goed voor een modulaire opzet waarbij logica is ondergebracht in services, clients en adapters die losstaan van de rest van de applicatie. In plaats van grote monolithen onderstaat er een landschap van kleinere, afgebakende toepassingen. Laravel kan functioneren als API provider, als orchestrator tussen verschillende databronnen of als consumer van externe services.
Herbruikbaarheid speelt ook een grote rol. Een code die geschikt is voor meerdere gemeenten heeft meer waarde dan een eenmalige oplossing. Composer packages, goed gedocumenteerde API clients en configureerbare services passen goed binnen deze gedachte.
De samenwerking tussen gemeenten en andere leveranciers
Bij Common Ground liggen keuzes niet vast, maar ontstaan deze in praktijk tijdens de samenwerking tussen gemeenten en leveranciers. Voor developers betekent dit dat alleen technische kennis niet voldoende is. Meedenken over standaarden en meewerken aan gezamenlijke oplossingen en actief deelnemen aan communicaties wordt nog belangrijker.
Voor digitale bureaus biedt het kansen om expertise op te bouwen in een niche die de komende jaren alleen maar belangrijker wordt. Wie begrijpt hoe Common Ground werkt, kan dit vertalen naar concrete software oplossingen en bouwt daarmee een voorsprong op.
Hosting is een belangrijk onderdeel. Shock Media is als leverancier betrokken bij het leveren van de infrastructuur voor gemeenten. Vanuit de Common Ground wordt de haven-standaard gehanteerd. Deze standaard stelt dat de applicaties moeten draaien op een kubernetes cluster, welke is opgebouwd volgens de gestelde richtlijnen, om flexibiliteit en onafhankelijkheid te realiseren. De samenwerking met het Open Webconcept is een goed voorbeeld van hoe de samenwerking tussen gemeenten, webbouwers en Shock Media als hosting provider in zijn werk gaat.
Aandachtspunten & uitdagingen
De visie is helder, maar de praktijk is complexer. Niet alle gemeenten zijn even ver in de transitie en het is niet eenvoudig om alle bestaande systemen los te koppelen. Als developer krijg je daardoor te maken met hybride situaties, waarin oude en nieuwe architecturen naast elkaar bestaan. Ook zijn niet alle standaarden volledig uitgekristalliseerd. Dit vraagt om flexibiliteit in ontwerp en bereidheid om applicaties aan te passen naarmate inzichten veranderen. Een robuuste en goed geteste codebase is daarbij essentieel!
