Logius-standaarden / Digikoppeling-Koppelvlakstandaard-REST-API

https://logius-standaarden.github.io/Digikoppeling-Koppelvlakstandaard-REST-API/
4 stars 4 forks source link

Design time versus runtime #5

Closed mrtn78 closed 2 years ago

mrtn78 commented 3 years ago

Het Digikoppeling Restful API Profiel verwijst naar de API Design rules wat ik begrijp en onderschrijf. Voor toepassing van het profiel in een API gateway is het echter onduidelijk of en hoe deze design rules runtime moeten of kunnen worden afgevangen en/of gecontroleerd.

Het zijn immers design rules en ik verwacht dat de meesten design time tot bepaalde keuzes en oplossingen leiden. Het zou onverstandig gebruik van resources zijn en een enorme impact hebben op bijvoorbeeld latency wanneer iedere gateway die dit profiel ondersteunt alle genoemde api design rules runtime zou moeten controleren. Kan in het profiel onderscheid worden gemaakt welke rules runtime moeten worden afgedwongen door de gateway die het profiel ondersteund?

logius-standaardenbeheer commented 3 years ago

De API Design Rules zijn afspraken die de interoperabiliteit voor de gegevensuitwisseling bevorderen. Het is daarom noodzakelijk dat iedere provider (indien van toepassing) van een RESTful API zich aan de ADR houdt. Dan is het voor elke gebruiker (developer) veel gemakkelijker om de aangeboden service of resource te gebruiken.

Het is niet gebruikelijk - en ik denk ook niet nodig- dat de API Design Rules tijdens het gebruik door een gateway worden gevalideerd.

We zijn wel aan het onderzoeken hoe we de afzonderlijke regels van de ADR zo goed mogelijk raadpleegbaar, en testbaar en verifieerbaar (versionering) kunnen maken zodat online verificatie van een REST API tegen de ADR mogelijk wordt met een testtool.