Architectuurvisie

Category:Basisarchitectuur
De GEMMA Architectuurvisie is een hoog-over beschrijving die de fundamentele keuzes voor ontwikkeling van de GEMMA toelicht. Wat voor architectuurstijl wordt gehanteerd? Waarop ligt de focus van de GEMMA? Hoe ziet de gemeentelijke informatievoorziening er nu uit en waar werken we naar toe? De architectuurvisie is het kader voor verdere ontwikkeling van de GEMMA Bedrijfsarchitectuur en en de GEMMA Informatiearchitectuur.
==== Generiek karakter ====
De GEMMA is de referentiearchitectuur voor informatievoorziening voor alle Nederlandse gemeenten. Door gebruik van de GEMMA als referentiearchitectuur werken gemeenten toe naar een op hoofdlijnen vergelijkbare architectuur. Waar gemeenten niet verschillen van andere overheidsorganisaties hergebruikt de GEMMA zoveel mogelijk producten uit de Nederlandse Overheidsarchitectuur (NORA). 
De precieze informatievoorziening die nodig is om de honderden soorten gemeentelijke producten en diensten te kunnen leveren kan per gemeente verschillen. De GEMMA heeft daarom een generiek ('breed toepasbaar') karakter en kent slechts beperkt domein- en implementatiespecifieke uitwerkingen. Dit biedt domeinspecialisten de gelegenheid tot specialistische uitwerking en gemeenten en leveranciers om bij hun situatie passende implementatiekeuzes te maken. 
==== Streven naar standaardisatie ====
Hanteren van standaarden kan vele voordelen bieden: interoperabiliteit, leveranciersonafhankelijkheid, veiligheid, datakwaliteit, Inclusie en openbaarheid. Voor gemeenten geldt dat zowel de interne informatievoorziening als de uitwisseling met derden gebaat is bij standaardisatie. De GEMMA streeft dan ook naar standaardisatie waar het meerwaarde voor gemeenten kan bieden. Een voorbeeld is de standaardisatie van vastlegging en gebruik van brondata. Van oudsher gold het Standaard Uitwisselformaat (StUF) als belangrijkste standaard voor gegevensuitwisseling tussen applicaties. Tegenwoordig wordt gekoerst op het gebruik van moderne API-standaarden voor het uitwisselen van data die binnen- als buitengemeentelijk kan zijn vastgelegd.
==== Meerdere doelgroepen ====
De GEMMA is primair bedoeld voor gebruik door gemeenten en leveranciers van gemeentelijke softwareapplicaties. Beide kennen medewerkers die vanuit rollen de GEMMA kunnen gebruiken. Een gemeentelijke architect kan de GEMMA bijvoorbeeld gebruiken voor het ontwikkelen van de gemeentelijke enterprise architectuur. Een architect die bij een leverancier werkt kan de GEMMA gebruiken bij het ontwikkelen van nieuwe softwareproducten. Op de pagina Doelgroepen wordt per rol beschreven welke GEMMA-producten het meest relevant zijn.
==== Service-oriëntatie als architectuurstijl ====
Net als de NORA hanteert de GEMMA als leidende architectuurstijl service-oriëntatie: 'het denken in termen van diensten'. Het begrip 'dienst' is binnen verschillende contexten bruikbaar. Gemeenten leveren bijvoorbeeld diensten aan burgers, bedrijven en andere overheidsorganisaties. Maar ook applicaties leveren diensten aan organisaties, personen of aan andere applicaties. Binnen de GEMMA noemen we diensten die door applicaties worden geleverd '(applicatie)services'. Een belangrijk kenmerk van de service-oriëntatie stijl is het streven naar 'hoge samenhang binnen en losse koppeling van onderdelen'. Doel daarvan is om wendbaarheid en herbruikbaarheid te bevorderen. Een algemene beschrijving wat onder service-georiënteerde architectuur wordt verstaan is te vinden in het NORA 3.0 dossier Service-Gerichte Architectuur. 
Opmerking: de GEMMA beschouwt 'microservices' als een bijzondere vorm van 'services' waarvoor, afhankelijk van de context, enkele aanvullende eisen kunnen gelden. De GEMMA is dus (ook) bruikbaar binnen een zogenaamde 'microservice-architectuur'.
==== Focus informatiearchitectuur ====
De GEMMA kent verschillende soorten architectuur. Aansluitend bij een veelgebruikte driedeling binnen 'architectuur' onderscheidt de GEMMA 'bedrijfsarchitectuur', 'informatiearchitectuur' en 'technische architectuur'. De 'bedrijfsarchitectuur' beschrijft die diensten en producten die gemeenten leveren en de aanwezige bedrijfsfuncties en bedrijfsprocessen. De 'informatiearchitectuur' beschrijft hoe gemeenten gegevens en applicaties gebruiken. De 'technische architectuur' beschrijft de onderliggende technologische voorzieningen. De GEMMA richt zich met name op het beschrijven van de informatiearchitectuur. Bedrijfsarchitectuur wordt in algemene termen beschreven, met name daar waar een relatie met de informatiearchitectuur bestaat. Technische architectuur wordt binnen de GEMMA niet als zelfstandig product beschreven. Waar nodig worden technische aspecten en elementen beschreven binnen GEMMA-producten waar dit relevant is.
==== Huidige en gewenste architectuur ====
De huidige architectuur van de gemeentelijke informatievoorziening kenmerkt zich door gebruik van een groot aantal, meestal door leveranciers ontwikkelde, applicaties. Deze applicaties hebben vaak het karakter van een 'silo' met daarbinnen alle presentatie-, proces- en autorisatielogica en alle data. Voor data-uitwisseling wordt gebruik gemaakt van maatwerkkoppelingen of van het Standaard Uitwisselformaat (StUF). Een dergelijke inrichting van de informatievoorziening is te weinig flexibel, kwetsbaar en duur en voldoet niet meer aan de eisen die moderne dienstverlening en wetgeving stellen. Gemeenten hebben ook slechts beperkt invloed op de ontwikkeling van nieuwe registraties en applicaties.
Eerdere versies van de GEMMA waren vooral bedoeld voor inrichting van de interne informatievoorziening bij gemeenten. Omdat gemeenten met steeds meer organisaties samenwerken is er steeds meer aandacht voor grensoverschrijdende informatievoorziening. Binnen de gewenste architectuur moet het minder uitmaken of gegevens en voorzieningen zich fysiek binnen of buiten de eigen organisatie bevinden. Gemeenten moeten bijvoorbeeld gebruik kunnen maken van betrouwbare gegevens die elders zijn opgeslagen en van voorzieningen die buiten de eigen organisatie worden aangeboden. 
De in 2017 gestarte beweging van gemeenten onder de naam 'Common Ground' wil de informatievoorziening voor gemeenten fundamenteel veranderen. Binnen de GEMMA is hiervoor de thema-architectuur Common Ground ontwikkeld. Onderdeel daarvan is de 'Informatiekundige Visie Common Ground' die een informatievoorziening beschrijft met autonome samenwerkende applicaties ('componenten') in plaats van geïsoleerde silo-applicaties. Gegevens uitwisselen gebeurt via gestandaardiseerde API's waarmee (ook) is te voldoen aan geldende informatiebeveiligings- en privacy-eisen. Het Common Ground vijflaagsmodel visualiseert de verschillende soorten benodigde functionaliteit in onderlinge samenhang.
In termen van het Common Ground vijflaagsmodel richt de GEMMA zich met name op de onderste twee lagen van dat model: 'Bronnen' en 'Diensten'. Gestandaardiseerde vastlegging en ontsluiting van gegevens via moderne interfaces is randvoorwaardelijk om richting gewenste architectuur te groeien. De GEMMA beschrijft onder andere patronen en standaarden die daarbij nodig zijn en hoe aan geldende beveiligings- en privacy-eisen kan worden voldaan. Voor invulling van de middelste laag in het model, functionaliteiten om applicaties die brongegeven aanbieden en afnemen met elkaar te verbinden, ziet de GEMMA een belangrijke rol voor (deels nog te ontwikkelen) landelijke standaarden. Voor de twee bovenste lagen, 'Procesinrichting' en 'Interactie', geldt dat de GEMMA deze nu slechts globaal beschrijft. De daar te realiseren functionaliteit is heel verschillend van karakter. Gemeenten en leveranciers hebben daar nu de vrijheid om in onderling overleg passende keuzes te maken.
De gewenste architectuur verschilt op een aantal punten fundamenteel van de huidige architectuur. Het borgen van zaken zoals gegevensconsistentie, beschikbaarheid, performance en het kunnen voldoen aan steeds verdergaande beveiligings- en privacy-eisen vereisen verdere uitwerking binnen de GEMMA. De behoeften van gemeenten en leveranciers zijn daarbij leidend. Nieuwe applicaties moeten ‘by-design’ geschikt zijn om binnen de gewenste architectuur te kunnen functioneren. Bijvoorbeeld door informatie over plaatsgevonden verwerkingen van (persoons)gegevens altijd gestandaardiseerd vast te leggen om zo aan geldende privacy-eisen te kunnen voldoen.
==== Transitie ====
De GEMMA heeft de functie van 'kompas' om gemeenten en leveranciers de nodig richting te geven. Daarbij passend beschrijft de GEMMA op een generieke manier via welke stappen vanuit de huidige architectuur richting wenselijke architectuur is te groeien. De handreiking "Globaal programma van eisen voor pakketsoftware" beschrijft een vijftal stappen op weg naar een landschap waarin applicaties via gestandaardiseerde API's met elkaar communiceren. 
De GEMMA is geen 'navigatiesysteem' dat precies zegt wanneer welke actie moet worden uitgevoerd. In de praktijk kiezen gemeenten en leveranciers het moment en de manier waarop zij bepaalde veranderingen gaan doorvoeren. Gemeenten kunnen bijvoorbeeld standaarden vroegtijdig of pas na formele vaststelling in gebruik nemen, wel of niet principieel kiezen voor gebruik van open source applicaties en kiezen voor gebruik van cloud- of lokale voorzieningen. Iets waarbij de Samen Organiseren gedachte kan helpen om vaker als collectief samen op te trekken. 
Met de GEMMA als gemeenschappelijk kompas kunnen alle partijen zo dezelfde kant opgaan en daarbij keuzes maken die het beste bij hen passen.