Onderwerpen
 

API

Een application programming interface (API) is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel.
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 API definieert de toegang tot de functionaliteit die er achter schuil gaat. De buitenwereld kent geen details van de functionaliteit of implementatie, maar kan dankzij de API die functionaliteit wel gebruiken. Een voordeel hiervan is dat met een API meerdere implementaties benaderbaar kunnen zijn, zolang deze maar voldoen aan de API.

Een voorbeeld van een generieke API is de WIN32-API van Windows. De onderliggende implementatie kan per machine verschillen, zonder dat de applicatie dit eigenlijk merkt: zowel Windows 98 als XP werkten met de Win32-API.

Een API kan worden beschreven in een interface description language. Dit wordt vooral gebruikt als meerdere programmeertalen van dezelfde API gebruik moeten maken of als er wordt gewerkt met een componentensysteem, zoals COM of XPCOM.

Soms wordt als synoniem voor API de benaming bibliotheek gebruikt, maar dit is niet helemaal juist: een API vormt de toegang tot de bibliotheek. De API is daarbij de definitie van functies en andere objecten die in de bibliotheek beschikbaar zijn voor de applicatie.

Het is steeds gebruikelijker dat ook websites over een publieke open API beschikken. Deze kan dan benaderbaar zijn via een methode als SOAP, RSS of XML/RPC. Het formaat dat wordt teruggestuurd kan dan bijvoorbeeld XML of JSON zijn. Door een dergelijke API beschikbaar te stellen is het mogelijk om een mashup te maken, zoals een combinatie van de kaarten van Google Maps met de foto's van Panoramio. Dergelijke toepassingen zijn typisch voor de zogenaamde Web 2.0-gedachte. Open data worden doorgaans via een API ter beschikking gesteld.

API

Application Programming Interface

API Blueprint

API Blueprint is een krachtige high-level API-taal voor web-API's. API Blueprint is eenvoudig en toegankelijk voor iedereen die betrokken is bij de API-levenscyclus. De syntaxis ervan is beknopt maar toch expressief. Met API Blueprint kan je snel nieuwe API's ontwerpen en prototypen en geïmplementeerde missiekritieke API's documenteren en testen.

RAML

RESTful API Modeling Language (RAML) is een op YAML gebaseerde taal voor het beschrijven van RESTful API's.

REST

RESTentational State Transfer (REST) of RESTful webservices bieden interoperabiliteit tussen computersystemen op internet. REST-compatibele webservices stellen de aanvragende systemen in staat om tekstuele representaties van webresources te benaderen en manipuleren door een uniforme en vooraf gedefinieerde reeks statusloze operaties te gebruiken. Andere soorten webservices, zoals WSDL en SOAP, stellen hun eigen willekeurige sets van bewerkingen bloot.

SOAP

Simple Object Access Protocol

Swagger

Swagger is een open-source softwareframework ondersteund door een groot ecosysteem aan tools waarmee ontwikkelaars RESTful Web-services kunnen ontwerpen, bouwen, documenteren en consumeren. Hoewel de meeste gebruikers Swagger identificeren door de Swagger UI-tool, bevat de Swagger-toolset ondersteuning voor geautomatiseerde documentatie, het genereren van codes en het genereren van testcases.

WSDL

De Web Services Description Language (WSDL) is een XML-gebaseerde taal voor interfacedefinitie die wordt gebruikt om de functionaliteit te beschrijven die een webservice biedt. Het acroniem wordt ook gebruikt voor elke specifieke WSDL-beschrijving van een webservice (ook wel een WSDL-bestand genoemd), die een machine leesbare beschrijving biedt van hoe de service kan worden aangeroepen, welke parameters hij verwacht en welke gegevensstructuren worden geretourneerd . Daarom is het doel ervan ongeveer gelijk aan dat van een methodehandtekening in een programmeertaal.

Op zoek naar meer achtergrond informatie? Kijk dan ook eens bij opinie.