API-standaarden: verschil tussen versies

Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
 
(23 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
{{Cocreatie
Het wordt steeds belangrijker voor (applicatie)componenten om onderling goed samen te werken. Om dit mogelijk te maken kennen componenten (applicatie)services die voor andere componenten toegankelijk zijn via zogenaamde 'Application Programming Interfaces' (API's). Zo kunnen componenten op een gestructureerde manier functionaliteit van andere componenten gebruiken. Bijvoorbeeld door een API aan te bieden die voor andere componenten bruikbaar is om gegevens uit een achterliggende bronregistratie te gebruiken.
|Cocreatiepublicatie=Cocreatie
|Redactiestatus=Actueel
|GEMMAOnlinebeheerder=Beheerder Standaarden,
}}
[[Categorie:Berichtenstandaarden]]
__NOTOC__
VNG Realisatie beheert een groot deel van de gemeentelijke standaarden voor gegevens- en berichtenverkeer. Ontwikkelingen, als het digitaliseren van zaakgerichte processen, de Omgevingswet, het sociaal domein en het vernieuwen van de ontsluiting van basisregistraties maken het vernieuwen van standaarden noodzakelijk. Sinds 2019 werken gemeenten, ketenpartners, VNG en marktpartijen aan het realiseren van API-standaarden.


Voor de ontwikkeling van uitwisselingsstandaarden is een standaardisatieproces vormgegeven. Dit proces geeft de leidraad van te volgen stappen om onder regie van VNG Realisatie van ‘idee’ tot ‘vastgestelde VNG uitwisselstandaard’ te komen.  
Om doelmatig en efficiënt met API's te werken is het belangrijk om de manier waarop API's worden ontwikkeld, gedocumenteerd, getest en werken te standaardiseren. Er zijn een aantal manieren om dit te realiseren. Een daarvan is het kiezen voor een bepaalde architectuurstijl. Net als in de rest van de wereld geldt ook voor de Nederlandse overheid dat de voorkeur momenteel uitgaat naar API's die werken volgens de [https://en.wikipedia.org/wiki/Representational_state_transfer REST-architectuurstijl]. Maar dan nog geldt dat er aanvullende ontwerpkeuzes moeten worden gemaakt. Daarom is afgesproken om overheidsbrede afspraken te maken over hoe de REST-stijl wordt toegepast bij het ontwerpen van API's. Deze afspraken zijn vastgelegd in de [https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules REST-API Design Rules] standaard.


Dit proces ondersteunt in de wijze om samen met gemeenten en betrokken partijen te komen tot gedragen, kwalitatieve en samenhangende specificaties van uitwisselstandaarden gericht op interoperabiliteit en uitwisseling van gegevens in de gemeentelijke informatievoorziening. Bij het volgen van dit proces wordt geborgd dat gemeentelijke meerwaarde en belangen goed aan de orde komen.  
Op de website [https://developer.overheid.nl developer.overheid.nl] is te zien dat er steeds meer overheids-API's beschikbaar komen die allerlei soorten functionaliteit aanbieden. Op [https://data.overheid.nl/ data.overheid.nl] worden (ook) API-specificaties gepubliceerd waarmee open data is op te vragen. Voor gemeenten zijn met name API's interessant waarmee elders vastgelegde brongegevens toegankelijk worden gemaakt. Gebruik daarvan kan bijvoorbeeld leiden tot hogere actualiteit en betrouwbaarheid van data en het onderhouden van lokale kopieën overbodig maken.  


Het wordt aanbevolen dit proces bij ieder voorstel voor een uitwisselstandaard in het gemeentelijk domein te volgen, ook wanneer een derde partij hiertoe het initiatief neemt.
De [[Architectuurvisie|GEMMA Architectuurvisie]] beschrijft hoe standaardisatie via het gebruik van API's cruciaal is om toe te kunnen werken naar een fundamenteel betere informatievoorziening voor gemeenten. Iets dat verder wordt uitgewerkt binnen de [[thema-architectuur Common Ground]] die de architectuur uitwerkt die nodig is om de doelen van Common Ground te realiseren.  
===Standaardisatieproces voor uitwisselstandaarden===
Het standaardisatieproces vindt plaats onder begeleiding van het VNG Realisatie Kenniscentrum Architectuur en Standaarden. Het standaardisatieproces voor uitwisselstandaarden bestaat uit vier stappen, waarna de standaard kan worden vastgesteld per het VNG governance proces Standaardverklaring. <br/>
<imagemap>
Bestand:Raamwerk_standaardisatie_v2.jpg
</imagemap>


===Intake===
Vanuit de VNG wordt op verschillende manieren gewerkt aan de ontwikkeling van gestandaardiseerde API's:
Initiatiefnemers bieden een intakeformulier met voorstel tot standaardisatie van een gegevensuitwisseling aan, welke beschrijft wat het toepassingsgebied, de visie, noodzaak en meerwaarde van standaardisatie is. Het voorstel wordt gepubliceerd in de ontwikkelagenda API-standaarden. <br/>


Het  voorstel wordt beoordeeld op passendheid door toetsing aan diverse basis criteria, waaronder passendheid binnen de visie Common Ground, de positie in de GEMMA, noodzaak en meerwaarde. De intake wordt door het VNG Realisatie Kenniscentrum Architectuur en Standaarden uitgevoerd, in afstemming met VNG Portfolio Management, VNG Beleid (beleidsdomeinen) en VNG Markt en Overheid (gemeenten, ketenpartners en leveranciers). <br/>
* Via het programma HaalCentraal is gewerkt aan het ontwikkelen van de [https://vng-realisatie.github.io/Haal-Centraal/ HaalCentraal API's] zodat gemeenten beter data kunnen opvragen uit de basisregistraties.
* Het project Notificatieservices heeft een concept-standaard ontwikkeld voor het notificeren van plaatsgevonden gebeurtenissen, zoals het wijzigen van brongegevens, aan daarop geabonneerde afnemers. Deze [https://logius.nl/domeinen/gegevensuitwisseling/nl-gov-profile-cloudevents NL GOV for CloudEvents standaard] is nu in beheer bij Logius.
* Voor ondersteuning van zaakgericht werken binnen gemeenten zijn [https://vng.nl/projecten/zaakgericht-werken-api API-standaarden voor zaakgericht werken] ontwikkeld.


Een adviesnotitie wordt samengesteld welke ondersteunt in de opvolgende besluitvorming.
{{Landingspagina
===Besluit tot start standaardisatie===
|titel1  = Producten
Een voorstel met adviesnotitie wordt ter advisering / besluitvorming aangeboden aan de API-regiegroep. De Taskforce en het College van Dienstverleningszaken worden middels de reguliere voortgangsrapportage geïnformeerd over aan welke standaarden wordt gewerkt.
|inhoud1 =  
Architectuurproducten en API's
* [[Project API referentiearchitectuur]]
* [[Thema-architectuur Common Ground]]
* [[Beveiligingsrichtlijnen voor API's en webservices]]


===Vormen expertgroep===
GEMMA standaardenlijst
De expertgroep vormt die de kern van het project om te komen tot de gewenste uitwisselstandaard. Bij de samenstelling van de expertgroep kijken we ook naar een bredere groep betrokkenen die in de ontwikkelfase geconsulteerd moet worden voor draagvlak en toetsing van de standaard op kwaliteit en bruikbaarheid. Via de diverse kanalen beschreven binnen de architectuur van de samenwerking benaderen wij belanghebbenden om deel te nemen.  
* [[GEMMA API-standaardenlijst|API-standaardenlijst]]
|titel2  = Meer informatie
|inhoud2 =  
Vastgestelde standaarden op vng.nl
* [https://vng.nl/artikelen/overzicht-gemeentelijke-standaarden Overzicht gemeentelijke standaarden]


===Ontwikkelen standaard===
Aan de slag met API-standaarden
De expertgroep ontwerpt, ontwikkelt, beschrijft en neemt tezamen beslissingen over de in ontwikkeling zijnde standaard. Met de doelgroep worden regelmatig consultaties gevoerd door deze actief te betrekken middels community interacties over vraagstukken, community bijeenkomsten, demo’s, API-labs en hackatons. Hierdoor wordt draagvlak en bruikbaarheid van het werkproduct doorlopend getoetst. <br/>
* [https://vng-realisatie.github.io/Standaarden/API-standaarden API-specificaties (github pages)]
De expertgroep kan haar werkproduct tussentijds of definitief vaststellen en publiceren. De expertgroep besluit daar zelfstandig toe. Werkproducten moeten daarbij voldoen aan diverse kwaliteitscriteria, zoals de landelijke API-strategie. <br/>
Tussentijdse en definitieve werkproducten worden ter openbare consultatie uitgezet aan een brede groep van belanghebbenden en geïnteresseerden, waaronder Groeipact Common Ground deelnemers en leveranciers. <br/>
Het definitieve product van de expertgroep is een Implementeerbare versie 1.0 van de standaard, welke alsdan volwassen genoeg is om te gebruiken in implementaties. Hierbij baseert de expertgroep zich op de bredere consultaties en de toets aan de hand van de beschikbare kwaliteitscriteria.


===Beheer, doorontwikkeling en implementatieondersteuning===
Nederlandse API-strategie
Het wordt gestimuleerd om een Implementeerbare versie 1.0 van een standaard te gebruiken in implementaties. Het is daarom noodzakelijk dat gelijk met het beschikbaar komen van een Implementeerbare versie 1.0 ook voorzien wordt in beheer, doorontwikkeling en implementatieondersteuning.
* [https://docs.geostandaarden.nl/api/API-Strategie/ Nederlanse API-strategie]
* [https://www.geonovum.nl/themas/kennisplatform-apis Kennisplatform API's]
* [https://www.geonovum.nl/themas/kennisplatform-apis/intentie-overeenkomst Intentieovereenkomst API Strategie en Beleid]


===Proces Standaardverklaring===
Het proces van standaardverklaring binnen de governance van de VNG is vastgesteld door het College van Dienstverleningszaken (CvD) op 12 oktober 2018.<br/>
Ter vaststelling van de standaard wordt met Implementeerbare versie 1.0 de procedure tot standaardverklaring doorlopen. Hiervoor wordt een voorstel voor formele standaardverklaring opgesteld, waarin wordt toegelicht de passendheid, motivatie tot, gewenste mate van verbindendheid, draagvlak, uitvoeringsconsequenties en termijn en tempo van invoering. Bij uitwisselstandaarden is het daarnaast van belang dat het werkingsgebied duidelijk wordt aangegeven. <br/>
Bij de vaststelling van specificaties van uitwisselstandaarden wordt geadviseerd te kiezen voor de mate van verbindendheid ‘aanbevolen’ of ‘pas-toe-of-leg-uit’ in aansluiting op de gangbare werkwijze met uitwisselstandaarden bij het Forum Standaardisatie. <br/>
In de vaststellingsprocedure wordt de Taskforce gevraagd met haar achterban onder andere te toetsen op draagvlak.
Het resultaat van de vaststellingsprocedure is een uitwisselstandaard met aanduiding ‘aanbevolen’ of ‘pas-toe-of-leg-uit’.


===Standaard API-specificaties===
|hoogte = 350px
Een verbindend verklaarde API-standaard is na een advies van het College van Dienstverleningszaken door het VNG-bestuur of de Algemene Ledenvergadering van de VNG als standaard vastgesteld. Een vaststelling kan verschillende gradaties van verbindendheid tot gevolg hebben: van 'aanbevolen deze standaard te gebruiken' tot 'verplicht deze standaard toe te passen'. In de tabel wordt per vastgestelde API-standaard aangegeven welke mate van verbindendheid geldt.
}}
 
{{Publicatie
Een API-standaard met de status realisatie' zal op een gegevens moment vrijwel altijd de status ‘implementeerbaar' bereiken. Deze statussen zijn opeenvolgend. Voor een verbindendverklaring geldt iets anders: die is aanvullend is bij de status ‘implementeerbaar'. Een verbindendverklaring bepaalt alléén de mate waarin gemeenten verplicht zijn een (API-)standaard toe te passen, en beïnvloedt dus niet de geschiktheid van die API-standaard voor gebruik in productiesystemen of het releasebeleid van de standaard.  
|Paginastatus=publiceren
De volgende standaard API-specificaties zijn inmiddels vastgesteld:
|Redactiestatus=Actueel
 
|Wikibeheerder=GEMMA Beheer
==Welke standaarden zijn in gebruik?==
}}
{| class="wikitable"
[[Category:Standaarden paginas]]
! API-standaard !! In beheer bij !! In ontwikkeling <small>- 1.0-versie verwacht in</small> !! In gebruik (versie ≥ 1.0 ) <small>vanaf datum</small> !! Mate van verbindendheid
|-
|- bgcolor="#f4c8d5"
|colspan="5" |''Onderdeel van API-standaarden voor Zaakgericht Werken''
|-
| bgcolor="#f6e9fe" | [https://zaken-api.vng.cloud/ Zaken API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
| bgcolor="#f6e9fe" | [https://catalogi-api.vng.cloud/ Catalogi API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
| bgcolor="#f6e9fe" |  [https://documenten-api.vng.cloud/ Documenten API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
| bgcolor="#f6e9fe" | [https://besluiten-api.vng.cloud/ Besluiten API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
| bgcolor="#f6e9fe" | [https://autorisaties-api.vng.cloud/ Autorisaties API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
| bgcolor="#f6e9fe" | [https://notificaties-api.vng.cloud/ Notificaties API] || VNG Realisatie || || 27-11-2019 || pas toe leg uit
|-
|- bgcolor="#c4e5d6"
|colspan="5" | ''Onderdeel van Haal Centraal''
|-
| bgcolor="#effafe" | [https://github.com/VNG-Realisatie/Haal-Centraal-BAG-bevragen/ BAG Bevragen API] || || || 13-8-2020 || nader te bepalen
|-
| bgcolor="#effafe" | [https://github.com/VNG-Realisatie/Haal-Centraal-BRK-bevragen/ BRK Bevragen API] || || || 3-6-2020 || nader te bepalen
|-
| bgcolor="#effafe" | [https://github.com/VNG-Realisatie/Haal-Centraal-BRP-bevragen/ BRP Bevragen API] || || || 01-10-2020 || nader te bepalen
|-
 
|}
 
==API-standaarden in ontwikkeling==
Een complete overzicht van alle in ontwikkeling zijnde API-standaarden is te vinden op [https://gemmaonline.nl/index.php/Ontwikkelagenda_API-standaarden de API-ontwikkelagenda]. Voorheen werd er toegewerkt naar één openbare consultatie waarmee een standaard eenmalig werd getoetst bij stakeholders. Bij de nieuwe werkwijze is er sprake van een voortdurende afstemming met partijen waarbij meerdere instrumenten worden ingezet, te weten:
*Repositories op Github: te allen tijde kunnen partijen de stand van zaken raadplegen en de planning raadplegen. Ook kunnen zij bugs inschieten en wensen aanmelden in de vorm van user stories.
*Referentiecomponenten en API testvoorziening in de cloud waartegen getest kan worden.
*Presentaties op de Leveranciersdag van VNG-Realisatie.
*Fieldlabs waar in sessies de toekomstige behoeften in kaart gebracht worden.
Deze instrumenten tezamen zijn onderdeel van de openbare consultatie. Er zal dus sprake zijn van een voortdurende consultatie van de stakeholders, waarmee ook de kans ontstaat om de standaard voortdurend te verbeteren op aangeven van de gebruikers.
 
‘Issues’ en ‘Pull Requests’ zijn dus meer dan welkom.
 
==Problemen, suggesties en vragen==
 
Het is niet nodig om software of documentatie te schrijven om toch bij te dragen. De ontwikkeling is ook gebaat bij gerapporteerde problemen, suggesties voor wijzigingen en vragen over dingen die (nog) onduidelijk zijn. Om dit te doen kan een [https://github.com/VNG-Realisatie/gemma-zaken/issues issue worden gemaakt]. Op de supportpagina’s van GitHub staat [https://help.github.com/en/articles/creating-an-issue uitleg over het maken van issues].
 
===Status vernieuwde informatiemodellen===
De informatiemodellen RSGB3, RGBZ2 en ImZTC2.02 zijn goedgekeurd. Toch hebben de nieuwe versies van deze standaarden de status ‘in ontwikkeling’. Zij krijgen de status ‘in gebruik’ nadat ze zijn geïmplementeerd in één of meer standaarden.
 
==Wat betekent de ontwikkeling van API-standaarden voor de bestaande StUF-standaarden?==
De ontwikkeling van StUF 03.02 en de daarmee samenhangende sectormodellen StUF BG 03.20 en StUF ZKN 03.20 is stopgezet. VNG Realisatie blijft support leveren bij de huidige generatie StUF-standaarden. Dat betekent dat we bugs, fouten en problemen herstellen.
In 2021 werken we aan de transitieplan om tot uitfasering van StUF te komen.

Huidige versie van 30 apr 2024 om 15:24

Het wordt steeds belangrijker voor (applicatie)componenten om onderling goed samen te werken. Om dit mogelijk te maken kennen componenten (applicatie)services die voor andere componenten toegankelijk zijn via zogenaamde 'Application Programming Interfaces' (API's). Zo kunnen componenten op een gestructureerde manier functionaliteit van andere componenten gebruiken. Bijvoorbeeld door een API aan te bieden die voor andere componenten bruikbaar is om gegevens uit een achterliggende bronregistratie te gebruiken.

Om doelmatig en efficiënt met API's te werken is het belangrijk om de manier waarop API's worden ontwikkeld, gedocumenteerd, getest en werken te standaardiseren. Er zijn een aantal manieren om dit te realiseren. Een daarvan is het kiezen voor een bepaalde architectuurstijl. Net als in de rest van de wereld geldt ook voor de Nederlandse overheid dat de voorkeur momenteel uitgaat naar API's die werken volgens de REST-architectuurstijl. Maar dan nog geldt dat er aanvullende ontwerpkeuzes moeten worden gemaakt. Daarom is afgesproken om overheidsbrede afspraken te maken over hoe de REST-stijl wordt toegepast bij het ontwerpen van API's. Deze afspraken zijn vastgelegd in de REST-API Design Rules standaard.

Op de website developer.overheid.nl is te zien dat er steeds meer overheids-API's beschikbaar komen die allerlei soorten functionaliteit aanbieden. Op data.overheid.nl worden (ook) API-specificaties gepubliceerd waarmee open data is op te vragen. Voor gemeenten zijn met name API's interessant waarmee elders vastgelegde brongegevens toegankelijk worden gemaakt. Gebruik daarvan kan bijvoorbeeld leiden tot hogere actualiteit en betrouwbaarheid van data en het onderhouden van lokale kopieën overbodig maken.

De GEMMA Architectuurvisie beschrijft hoe standaardisatie via het gebruik van API's cruciaal is om toe te kunnen werken naar een fundamenteel betere informatievoorziening voor gemeenten. Iets dat verder wordt uitgewerkt binnen de thema-architectuur Common Ground die de architectuur uitwerkt die nodig is om de doelen van Common Ground te realiseren.

Vanuit de VNG wordt op verschillende manieren gewerkt aan de ontwikkeling van gestandaardiseerde API's:

  • Via het programma HaalCentraal is gewerkt aan het ontwikkelen van de HaalCentraal API's zodat gemeenten beter data kunnen opvragen uit de basisregistraties.
  • Het project Notificatieservices heeft een concept-standaard ontwikkeld voor het notificeren van plaatsgevonden gebeurtenissen, zoals het wijzigen van brongegevens, aan daarop geabonneerde afnemers. Deze NL GOV for CloudEvents standaard is nu in beheer bij Logius.
  • Voor ondersteuning van zaakgericht werken binnen gemeenten zijn API-standaarden voor zaakgericht werken ontwikkeld.
Deze pagina is het laatst bewerkt op 30 apr 2024 om 15:24.