API

Uit NORA Online
Naar navigatie springen Naar zoeken springen


Wat is een Application Programming Interface (API)?[bewerken]

Wikipedia beschrijft: Een API is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander computerprogramma of onderdeel (meestal in de vorm van bibliotheken). Vaak vormen API's de scheiding tussen verschillende lagen van abstractie, zodat applicaties op een hoog niveau van abstractie kunnen werken en het minder abstracte werk uitbesteden aan andere programma's. Hierdoor hoeft bijvoorbeeld een tekenprogramma niet te weten hoe het de printer moet aansturen, maar roept het daarvoor een gespecialiseerd stuk software aan in een bibliotheek, via een afdruk-API.

Een goede aanvulling hierop komt van Computerworld: Het aardige van een API is dat deze niet voor een gebruiker van een softwarepakket of bezoeker van een website zichtbaar is. De API werkt op de achtergrond en doet daar geruisloos zijn werk door met andere softwareprogrammatuur of het besturingssysteem te communiceren.

Een API werkt dus als een interface tussen 2 of meer computerprogramma's (software), staat daardoor nooit op zichzelf, is dus een bijzondere bouwsteen en wordt beschouwd als deel van de applicatielaag van het NORA vijflaagsmodel.
Bekijk ook eens dit filmpje van Mulesoft van 3,5 minuut op youtube.com: What is an API?

Waarom zijn API's van belang?[bewerken]

API’s gaan ons in staat stellen om de technische kant van het uitwisselen van gegevens stukken eenvoudiger te maken, met name ook over de grenzen van (overheids)organisaties heen. Dat kan als we API’s gaan ontwerpen met open standaarden (inrichtings-onafhankelijk), zodat ze te gebruiken zijn in verschillende processen of ketens. En als we die API’s publiekelijk gaan publiceren, zodat ze eenvoudig te hergebruiken zijn.

Door het bundelen van onze ontwerp- en ontwikkelkennis kunnen we processen en ketens ontlasten doordat die API’s kunnen hergebruiken en ze niet zelf hoeven te ontwikkelen en bouwen.

Een belangrijke voorwaarde voor deze technische gegevensuitwisseling is, dat vanuit het bestuur en management draagvlak moet bestaan voor verdergaande samenwerking tussen de betrokken (overheids)organisaties: de eigen "interne" processen zullen aangepast moeten worden aan overkoepelende keten-processen, waarbij de afhankelijkheden tussen die organisaties toenemen en de (formele) verantwoordelijkheidsverdeling opnieuw in balans moet worden gebracht. Overigens kunnen API's ook goed worden toegepast binnen een organisatie.

Traditionele applicaties bestaan meestal uit grote brokken functionaliteit, die alleen beschikbaar zijn binnen de beveiligde grenzen van een organisatie. Deze applicaties zijn voorheen vooral gemaakt om een geheel proces te ondersteunen. Ze zijn vaak niet ontworpen met generieke software-componenten die door verschillende applicaties kunnen worden hergebruikt. Daardoor bevatten ze vaak functionaliteit die ook in andere applicaties voorkomen, zoals voor Identity & Access Management, Beveiliging en Privacy.

Door nu achteraf generieke software-componenten te ontwikkelen -bijvoorbeeld in de vorm van API’s- kunnen we die traditionele applicaties verbouwen en mede samenstellen uit diverse kleinere software-componenten: daardoor ontstaat een meer flexibele applicatie.

Direct aan de slag

Wat is op Nationaal niveau geregeld om het gebruik van API's door (overheids)organisaties optimaal te benutten?
Denk hierbij aan:

Wat moet daarnaast nog meer worden geregeld? Welke behoefte bestaat bij de voorlopers? En bij de volgers?
Denk aan voorzieningen zoals API-platform RWS, API-platform van Common Ground, investeringsgelden enz.

Wat kunnen we her-gebruiken van Internationale afspraken en voorzieningen?
Denk aan wat Europa aan het doen is met API’s (verkenningen, voorzieningen e.d.)

Wat doe je als Enterprise Architect om de architectuur van jouw organisatie aan te passen opdat ook met API’s kan worden gewerkt?

Wat doe je als Business- of Solution-architect om API’s te verwerken in het ontwerp van een (overheids)dienst?

Puzzelstuk.png
Samen leren & zoeken

Er zijn diverse (overheids)organisaties die zelf API’s ontwikkelen en publiceren voor gebruik door derden. We hebben een overzicht gemaakt van bij ons bekende overheidsorganisaties met contact-informatie. Bij hen kan je vragen hoe zij e.e.a. hebben aangepakt om hun dienstverlening te verbeteren door het werken met API’s.
Zie API-contactpersonen

Frank Terpstra (Geonovum) is trekker van het Kennisplatform APIs

Het Forum Standaardisatie heeft bijeenkomsten gehouden over de API-economie.

Ken je nog een overleg binnen de overheid dat zich bezig houdt met API’s?
Neem dan contact op met NORA Beheer.

Gereedschap.png
Meer informatie & Contact

Nuttige linkjes:

→ Binnen de Omgevingswet is een API-strategie opgesteld: API-strategie & URI-strategie Digitaal Stelsel Omgevingswet
→ De meeste moderne API's zijn webgebaseerd (en doorgaans in JSON): daarom is het nuttig om ook over de URI's afspraken te maken. Zie daarom ook: 'Aanzet tot een nationale URI-Strategie voor Linked Data van de Nederlandse overheid' bij Pilod
→ Ondanks "de Brexit" kunnen we toch goed leren van onze buren. Zie API-strategie van Britse belastingdienst voor derden
→ Een EU-publicatie 2020 API's in Governments: Why, what and how

Dit thema wordt beheerd door experts van de overheid en marktpartijen:

Expertgroep API-architectuur

Contactpersoon is Peter Haasnoot,

peter.haasnoot@logius.nl
Contact.png