Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR:ADR_2.0.0_Release #148

Merged
merged 16 commits into from
Apr 23, 2024
2 changes: 1 addition & 1 deletion Abstract.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
This document contains a normative standard for designing APIs in the Dutch Public Sector.
[The Governance of this standard](https://publicatie.centrumvoorstandaarden.nl/api/adr-beheer/) is described in a [separate repository](https://github.com/Logius-standaarden/ADR-Beheermodel) and published by Logius.
This document is part of the *Nederlandse API Strategie*, which consists of [three distinct documents](https://www.geonovum.nl/themas/kennisplatform-apis#APIStrategie).
This document is part of the *Nederlandse API Strategie*, which consists of [a set of documents](https://www.geonovum.nl/themas/kennisplatform-apis#APIStrategie).
86 changes: 43 additions & 43 deletions DesignRules.md

Large diffs are not rendered by default.

24 changes: 15 additions & 9 deletions Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,21 @@ Despite the fact that two authors are mentioned in the list of authors, this doc

This document is part of the *Nederlandse API Strategie*.

The Nederlandse API Strategie consists of [three layers of distinct documents](https://www.geonovum.nl/themas/kennisplatform-apis#APIStrategie).

| Part | Description | Status | Link |
| ---- | -------------------------------------------- | ----------- | ----------------------------------------------------- |
| I | General description of the API Strategy | Informative | https://docs.geostandaarden.nl/api/API-Strategie/ |
| IIa | Standard for designing APIs | Normative | https://publicatie.centrumvoorstandaarden.nl/api/adr/ |
| IIb | Extension on the Standard for designing APIs | Informative | https://docs.geostandaarden.nl/api/API-Strategie-ext/ |

Before reading this document it is advised to gain knowledge of the three documents, in particular [the architecture section of part I](https://docs.geostandaarden.nl/api/API-Strategie/#architectuur).
The Nederlandse API Strategie consists of [a set of distinct documents](https://www.geonovum.nl/themas/kennisplatform-apis#APIStrategie).

| Status | Description & Link |
| ---------------- | ------------------------------------------------------------ |
| Informative | [Inleiding NL API Strategie](https://geonovum.github.io/KP-APIs/API-strategie-algemeen/Inleiding/) |
| Informative | [Architectuur NL API Strategie](https://geonovum.github.io/KP-APIs/API-strategie-algemeen/Architectuur/) |
| Informative | [Gebruikerswensen NL API Strategie](https://geonovum.github.io/KP-APIs/API-strategie-algemeen/Gebruikerswensen/) |
| Normative | [API Design Rules (ADR)](https://publicatie.centrumvoorstandaarden.nl/api/adr/) |
| Normative | [Open API Specification (OAS)](https://forumstandaardisatie.nl/open-standaarden/openapi-specification) |
| Normative | [NL GOV OAuth profiel](https://publicatie.centrumvoorstandaarden.nl/api/oauth/) |
| Normative | [Digikoppeling REST API koppelvlak specificatie](https://publicatie.centrumvoorstandaarden.nl/dk/restapi/) |
| Normative module | [GEO module](https://docs.geostandaarden.nl/api/API-Strategie-mod-geo/) |
| Normative module | [Transport Security module](https://geonovum.github.io/KP-APIs/API-strategie-modules/transport-security/) |

Before reading this document it is advised to gain knowledge of the informative documents, in particular the [Architecture](https://geonovum.github.io/KP-APIs/API-strategie-algemeen/Architectuur/).

An overview of all current documents is available in this Dutch infographic:
<figure>
Expand Down
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## API Design Rules versie 2
## API Design Rules versie

De consultatie versie 2.0.0-rc.2 is beschikbaar op: https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.2
De definitieve versie 2.0.0 is beschikbaar op: https://gitdocumentatie.logius.nl/publicatie/api/adr/

### Links

Expand All @@ -10,15 +10,9 @@ De consultatie versie 2.0.0-rc.2 is beschikbaar op: https://gitdocumentatie.logi
| 🏛️[NLGov OAuth 2.0 profile (OAuth)](https://forumstandaardisatie.nl/open-standaarden/nl-gov-assurance-profile-oauth-20) | 🍿[OAuth v1 (definitief)](https://gitdocumentatie.logius.nl/publicatie/api/oauth/) | ✍️[OAuth v1.1.0 (werkversie)](https://logius-standaarden.github.io/OAuth-NL-profiel/) | 🤓[OAuth-NL-profiel](https://github.com/Logius-standaarden/OAuth-NL-profiel) |
| 🏛️[NLGov OpenID Connect profile (OIDC)](https://forumstandaardisatie.nl/open-standaarden/nl-gov-assurance-profile-oidc) | 🍿[OIDC v1.0.1 (definitief)](https://gitdocumentatie.logius.nl/publicatie/api/oidc/) | ✍️[OIDC v1.0.1 (werkversie)](https://logius-standaarden.github.io/OIDC-NLGOV/) | 🤓[OIDC-NLGOV](https://github.com/Logius-standaarden/OIDC-NLGOV) |

Het **Beheermodel** voor deze standaard is gepubliceerd op: https://publicatie.centrumvoorstandaarden.nl/api/adr-beheer/
Het **Beheermodel** voor deze standaarden is gepubliceerd op: https://gitdocumentatie.logius.nl/publicatie/api/adr-beheer/

### Versie 2.0.0 (dec 2023)

Versie 2 van de API designrules is gereed. Onderdeel van het besluitvormingsproces om deze versie als de nieuwe standaard vast te stellen is dat we deze versie eerst met de werkgroep API-designrules is besproken. Na dit positieve advies vanuit de werkgroep is het vaststellingsproces verder in gang gezet.

De stuurgroep van het Kennisplatform heeft ingestemd met de publieke consultatie in oktober/november 2023. Inmiddels is de feedback hieruit ook verwerkt.

Vervolgstappen zijn nu het aanmelden van de standaard voor goedkeuring door het MIDO en de aanmelding bij het Forumstandaardisatie.
### Versie 2.0.0 Release notes

Een overzicht van de releasenotes is beschikbaar waarin alle wijzigingen zijn opgesomd. zie hiervoor:
- https://github.com/Geonovum/KP-APIs/blob/master/overleggen/Werkgroep%20API%20design%20rules/Verslagen/20230905/Releasenotes_ADR2.md
- https://github.com/Logius-standaarden/API-Design-Rules/blob/develop/ReleaseNotes.md
63 changes: 63 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Releasenotes API Design Rules versie 2.0.0 (ADR2)

De standaard REST API Design Rules geeft een brede verzameling functionele en technische regels voor structuur en naamgeving waarmee de overheid op een uniforme en eenduidige manier veilige REST-API's aanbiedt. Dit maakt het voor ontwikkelaars gemakkelijker om betrouwbare applicaties te ontwikkelen met API's van de overheid. Versie 2 van de standaard sluit nauw aan bij de modulaire opbouw van het Kennisplatform API's en bevat nu ook regels voor Transport Security & Geospatial API's. Naast al deze aanvullingen is ook de opmaak en structuur van de regels verbeterd voor een eenduidige gebruikservaring.

## Inleiding
Op 09-07-2020 is besloten om versie 1.0 van de API Design Rules "Verplicht" te stellen op de lijst van open standaarden van het forum standaardisatie. zie ook https://forumstandaardisatie.nl/open-standaarden/rest-api-design-rules

In samenwerking met het Kennisplatform APIs is in 2022 & 2023 gewerkt om de designrules modulair op te zetten, nauw te verbinden met de tests op developer.overheid.nl en verschillende kleine verbeteringen door te voeren. Deze werkzaamheden hebben geleid tot deze nieuwe versie 2.
Voor ADR2 heeft reeds een publieke consultatie plaatsgevonden van 06-10-2023 tot 06-11-2023.
ADR2 is door het PGDI goedgekeurd op 07-03-2024 en vastgelegd als [besluit 83](https://pgdi.nl/file/download/e3bd0ba3-a117-42f2-b4e1-d56105b88f96/20240418-pgdi-02-verslagen-voorraadagenda-actie-en-besluitenlijst.pdf).
ADR2 is op 25-01-2024 aangemeld bij het Forum Standaardisatie voor opname op de lijst als nieuwe versie.

## Samenvatting wijzigingen

De wijzigingen in versie 2.0 zijn zowel technisch als inhoudelijk. Hieronder zijn de belangrijkste wijzigingen samengevat:

- Technisch:
- het "API Design Rules" document is bijgewerkt naar Respec versie 34
- de publicatie van de standaard is verplaatst naar de uri "[https://gitdocumentatie.logius.nl/](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.1/)"
- het overzicht van rules wordt gegenereerd en is gesplitst in functionele en technische rules
- rules hebben een type (Functional/Technical), op basis hiervan wordt de implication gegenereerd
- de Semantic versioning rule is uitgebreid met pre release opties
- Functioneel:
- de algemene API Strategie Infographic is opgenomen in de bijgewerkte inleiding
- de nummering van de design rules is vervangen door logische namen
- alle rules zijn nu beschreven op basis van het Togaf template voor Principes (Name, Statement, Rationale, Implications)
- bij de technical type rules is een "how tot test" beschrijving opgenomen en een verwijzing naar het test script van developer.overheid.nl
- De module "Transport Security" is verplicht gesteld in par 3.8 voor alle APIs
- De module "Geospatial" is is verplicht gesteld in par 3.9 voor alle APIs met geospatial data of functies


## Overzicht RFC's / wijzigingen en issues

| **NR** | **Gerelateerde issues** | **RFC’s / wijzigingen ** | **Besproken op** | **Status** |
| ------ | ------------------------------------------------------------ | -------------------------------------------------------- | ---------------- | -------------------------------------- |
| 1 | [KP #420](https://github.com/Geonovum/KP-APIs/issues/420) | [PR # 120 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/120) (herstructurering API-53) | 2013-04-20 | Gesloten. Inhoud opgenomen in PR #131 |
| 2 | [KP #309](https://github.com/Geonovum/KP-APIs/issues/309)<br>[KP #288](https://github.com/Geonovum/KP-APIs/issues/288) | [PR # 121 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/121) (Statement/rationale/implicaties) | 2023-04-13 | Gereed (minor change) |
| 3 | - | [PR # 122 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/122) (public code file) | nvt | Gereed (patch) |
| 4 | [KP #529](https://github.com/Geonovum/KP-APIs/issues/529)<br>[KP #351](https://github.com/Geonovum/KP-APIs/issues/351) | [PR # 123 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/123) (release version format bijv 1.0.2-rc) | tbd | Gereed (minor change) |
| 5 | - | [PR # 124 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/124) (referentie beheermodel opgenomen) | nvt | Gereed (patch) |
| 6 | - | [PR # 125 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/125) (samenhang testen op DON) | 2023-05-03 | Gereed (minor change) |
| 7 | - | [PR # 127 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/127) (links en config file bijgewerkt) | 2023-04-13 | Gereed (patch) |
| 8 | - | [PR # 128 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/128) (omnummeren) | 2023-09-05 | Gereed (minor change) |
| 9 | [KP #132](https://github.com/Geonovum/KP-APIs/issues/132) | [PR # 129 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/129) (inleiding bijgewerkt naar modulair) | 2023-09-05 | Gereed (minor change) |
| 10 | [KP #349](https://github.com/Geonovum/KP-APIs/issues/349) | [PR # 130 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/130) (Http Methods – patch verduidelijkt) | 2023-09-05 | Gereed (minor change) |
| 11 | [KP #420](https://github.com/Geonovum/KP-APIs/issues/420) | [PR # 131 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/131) (herstructurering API-53 : hide-implementation) | 2023-09-05 | Gereed (minor change) |
| 12 | | [PR # 133 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/133) (Testen API-03 – http Methods) | 2023-07-06 | Gereed (Opgenomen in RFC #134) |
| 13 | [KP #351](https://github.com/Geonovum/KP-APIs/issues/351) | [PR # 134 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/134) (Verdieping Testen) | 2023-09-05 | Gereed (minor change) |
| 14 | [KP #468](https://github.com/Geonovum/KP-APIs/issues/468) | [PR # 135 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/135) (rules aangepast obv eDelivery) | 2023-09-05 | Afgewezen (minor change) |
| 15 | [KP #468](https://github.com/Geonovum/KP-APIs/issues/468) | [PR # 136 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/136) (2 rules aangevuld obv eDelivery) | 2023-09-05 | Afgewezen (minor change) |
| 16 | - | [PR # 137 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/137) (verwijzing GEO rule) | 2023-09-05 | Gereed (minor change) |
| 17 | - | [PR # 138 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/138) (verwijzing Transport security module) | 2023-09-05 | Gereed (minor change) |
| 18 | - | [PR # 142 ](https://github.com/Logius-standaarden/API-Design-Rules/pull/142) (diverse technische verbeteringen) | 2023-09-07 | Gereed (patch) |

## Tot slot

- de wijzigingen mbt edelivery zijn afgewezen zodat nader onderzoek kan worden gedaan naar de impact
- zie voor de actuele status van de nog te bespreken wijzigingen:
- https://github.com/Logius-standaarden/API-Design-Rules/pulls?q=is%3Aopen+is%3Apr+label%3A%22Status%3A+In+review%22
- Zie voor een overzicht van reeds besproken wijzigingen:
- https://github.com/Logius-standaarden/API-Design-Rules/pulls?q=is%3Apr+is%3Aclosed+label%3A%22Status%3A+In+review%22
- De laatste conceptversie van de API designrules 2.0.0 is te vinden op:
- https://logius-standaarden.github.io/API-Design-Rules/
14 changes: 14 additions & 0 deletions SOTD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


| Organization / Committee | Version number | Official status | Date |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ---------- |
| [Forum Standaardisatie](https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules) | [1.0]( https://gitdocumentatie.logius.nl/publicatie/api/adr/1.0) | reported | 15-10-2019 |
| [Forum Standaardisatie](https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules) | [1.0]( https://gitdocumentatie.logius.nl/publicatie/api/adr/1.0) | ['comply of explain' standard (mandatory open standard)](https://gitdocumentatie.logius.nl/publicatie/api/adr/) | 09-07-2020 |
| [Working group](https://github.com/Geonovum/KP-APIs/tree/03d7fd61b3f25eef5d3242c7beee688e0d2d9623/overleggen/Werkgroep%20API%20design%20rules/Verslagen/20230905) | [2.0.0-rc.1](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.1/) | working version / final draft by 'Working Group' | 05-09-2023 |
| [KP API Steering committee](https://github.com/Geonovum/KP-APIs/tree/master/overleggen/Stuurgroep/Verslagen) | [2.0.0-rc.1](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.1/) | approved consultation version / adopted by 'KP API' | 21-09-2024 |
| [MIDO programmeringstafel](https://pgdi.nl/groups/view/c9a77467-7118-42c4-ad27-d0da773bc7dc/programmeringstafels-en-financiele-commissie-pgdi/files/82ac7589-ce2a-4c39-aabd-99eb9a6cf43a) | [2.0.0-rc.2](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.2) | release candidate 2 / definitief concept | 14-02-2024 |
| [MIDO PGDI Committee](https://pgdi.nl/file/download/e3bd0ba3-a117-42f2-b4e1-d56105b88f96/20240418-pgdi-02-verslagen-voorraadagenda-actie-en-besluitenlijst.pdf) | [2.0.0-rc.2](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.2) | definitive version / approved by 'PGDI' | 07-03-2024 |
| [Forum Standaardisatie](https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules) | [2.0.0-rc.2](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0-rc.2) | reported | 25-01-2024 |
| [Forum Standaardisatie](https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules) | [2.0.0](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0) | intake pending | 18-04-2024 |
| [Forum Standaardisatie](https://www.forumstandaardisatie.nl/open-standaarden/rest-api-design-rules) | [2.0.0](https://gitdocumentatie.logius.nl/publicatie/api/adr/2.0.0) | definitive version / approved by Forum Standaardisatie | tbd |

21 changes: 3 additions & 18 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,16 @@
</script>
<script class="remove" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script class="remove" src="js/rules.js" defer></script>
<!-- ============================================================================================ -->
<!-- File. . . : index.html -->
<!-- Bevat . . : Template voor de index.html die verplicht is voor respec -->
<!-- Gebaseerd op https://github.com/Geonovum/respec/wiki -->
<!-- Deze file moet worden neergezet in de root-directory van de -->
<!-- betreffende standaard. -->
<!-- Door. . . : Jan van Gelder -->
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- Log . . . : 20181015 - JvG - Initiele versie -->
<!--
====================================================================================================
0 1 2 3 4 5 6 7 8 9 0
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
================================================================================================= -->

</head>
<!-- HTML-Body ================================================================================ -->
<body>
<section data-include="Abstract.md" data-include-format="markdown" id="abstract">
</section>
<section id="conformance" class="notoc">
</section>
<section id="sotd">
</section>
<div data-include="SOTD.md" data-include-format="markdown"></div>
<!-- vanaf hier per hoofdstuk een sectie of een div in het document ======================== -->
<!-- Secties komen in de inhoudsopgave div"s niet ========================================== -->
<!-- Secties hebben verplicht <h2> tags, div"s niet ======================================== -->
Expand All @@ -56,7 +43,5 @@
</section>
<section data-include="Glossary.md" data-include-format="markdown">
</section>
<section id="conformance" class="remove notoc">
</section>
</body>
</html>