Handreiking
De handreiking beschrijft hoe overheidsregisters zo ontworpen en gebouwd kunnen worden dat ze betrouwbaar, transparant en herstelbaar zijn. Ze is bedoeld voor ontwikkelaars en ontwerpers die werken aan capabele registers bij de overheid.
Twee vormen
De handreiking is beschikbaar in twee vormen:
Formele specificatie (ReSpec) – een doorlopend referentiedocument met formele documentstatus, bedoeld om naar te verwijzen of als standaard te implementeren.
Leesversie (deze site) – dezelfde inhoud, opgedeeld in navigeerbare hoofdstukken, voor wie de inhoud wil verkennen en begrijpen.
Deze handreiking gaat hand in hand met een scala aan voorbeelden uit verschillende domeinen. Deze voorbeelden helpen om de handreiking beter te ervaren, te begrijpen en dieper inzicht te verkrijgen. Daarnaast zijn deze voorbeelden daadwerkelijk gebouwd in code en dienen ze als inspiratie voor daadwerkelijke implementatie van betrouwbare registers gebouwd volgens de handreiking.
Breng je een bestaand referentiekader mee – bijvoorbeeld uit relationele databases of event sourcing? Dan is het de moeite waard om eerst een instapverhaal te lezen: die benoemen de aannames die dat referentiekader meebrengt en wijzen de weg naar de relevante hoofdstukken hieronder.
Hoofdstukken
De handreiking bestaat uit drie delen. Het vertrekpunt beschrijft het probleem en de omgeving waarin registers werken. Het conceptueel registermodel beschrijft het antwoord daarop: een register dat bijhouding en verstrekking scheidt. De betrouwbaarheidsaspecten volgen dat model van begin tot eind, en laten zien hoe het register betrouwbaar wordt.
Samenvatting – De kern van de handreiking op één pagina: wat een register betrouwbaar maakt, hoe je van techniek naar betekenis komt en wat de handreiking oplevert. Een goed startpunt voor bestuurders, managers en iedereen die snel de hoofdlijn wil kennen.
Vertrekpunt
Waarom betrouwbare registers nodig zijn, wat we onder een register verstaan en in welke overheid ze moeten functioneren.
Aanleiding en doel – Waarom de overheid registers nodig heeft die niet alleen de 'happy flow', maar ook de 'crappy flow' van fouten en herstel ondersteunen, vanuit epistemische nederigheid.
Wat is een register? – Wat we in deze handreiking onder een register verstaan, en op welke architectuurlagen de handreiking zich richt.
De overheid verkaveld – Hoe de overheid uiteenvalt in domeinen en bounded contexten, en wat er gebeurt wanneer informatie de grens tussen twee contexten oversteekt.
Uitvoeringscontext van registers – Hoe overheidshandelen via signaal en taak tot gevolgen leidt, en hoe verstrekkingen over die gevolgen weer het begin vormen van handelen elders.
De 'datalaag' van de overheid – Waar bestaande registers tekortschieten, en welke uitgangspunten deze handreiking daartegenover stelt.
Conceptueel registermodel
Het model dat uit dit vertrekpunt volgt: een register dat gevolgen in één journaal vastlegt en daaruit projecties afleidt voor verstrekking. Na een overzicht volgt een hoofdstuk per onderdeel van het model, in de volgorde waarin informatie door het register stroomt.
Overzicht – Het model op hoofdlijnen: de onderdelen, de bewering als bouwsteen en de betrouwbaarheidsaspecten die dwars door het register lopen.
Bounded contextmodel – Welke soorten beweringen het register over welke soorten entiteiten kan doen, en hoe die beweringen doorwerken in vastleggen en projecteren.
Commando's – Hoe externe bevindingen uit andere contexten worden vertaald naar commando's in de taal van het register.
Gevolgen – Hoe het register gevolgen optekent in een onveranderlijk gevolgenjournaal, en daarin ook corrigeert, twijfelt en onttrekt.
Projecties – Hoe uit het gevolgenjournaal projecties worden afgeleid die aansluiten bij de informatiebehoefte van afnemers, en welke ontwerp- en implementatiekeuzes daarbij horen.
Verstrekken – Hoe het register projectie-elementen verstrekt als notificatiebericht of antwoordbericht, en die verstrekkingen later kan herleveren en attesteren.
Betwisten – Hoe afnemers kunnen terugmelden dat een verstrekt projectie-element vermoedelijk onjuist is, en hoe het onderzoek daarnaar weer tot een gevolg leidt.
Vernietigen – Hoe het register een bewering blijvend ontoegankelijk maakt wanneer die niet langer mag bestaan, en waarin dat verschilt van onttrekken.
Begrippenoverzicht – Alle begrippen uit het model op een rij, per cluster en met hun Engelse naam.
Betrouwbaarheidsaspecten
Waar het conceptueel registermodel per onderdeel beschrijft wat het register doet, volgen deze hoofdstukken één voor betrouwbare registers cruciaal aspect door alle onderdelen van het register heen: van externe bevinding via gevolg en projectie-element tot verstrekking en verder.
Herkomst – Hoe elke bewering via bron, verantwoordelijke, legitimering en werkwijze te herleiden is, van gevolg tot voortgaand gevolg in een volgende context.
Tijd – Hoe domeintijd en systeemtijd een bewering in de tijd plaatsen, en hoe hun tijdstippen van gevolg naar verstrekking doorwerken.
Zekerheid – Hoe twijfel aan de juistheid van een bewering het register binnenkomt, zich verspreidt en bij afnemers zichtbaar wordt.
Betekenis – Hoe het register betekenis vastlegt en behoudt op elke plek waar een bewering van vorm verandert.