Publicatie:API's: sleutel tot diensten op het web
Stel: je hebt de bibliografische beschrijvingen van duizenden boeken uit je bibliotheek netjes ingevoerd. Op je website wil je die data tonen, aangevuld met biografische gegevens over de auteur en een afbeelding van de cover. Vroeger betekende dit dat je alles in je eigen database moet invoeren en beheren, maar nu is dit snel bij elkaar geprogrammeerd. Het sleutelbegrip daarbij is Application Program Interface of API.
Titel | API’s: sleutel tot data en diensten op het web (Voorkeurstitel) |
Locatie | META nummer 2014/2 |
Uitgever | |
Jaar van uitgave | 2014 |
Rechten | CC-BY-SA |
Persistent ID |
Auteur
Henk Vanstappen (PACKED vzw)
API’s: sleutel tot data en diensten op het web
Stel: je hebt de bibliografische beschrijvingen van duizenden boeken uit je bibliotheek netjes ingevoerd. Op je website wil je die data tonen, aangevuld met biografische gegevens over de auteur en een afbeelding van de cover. Vroeger betekende dit dat je alles in je eigen database moet invoeren en beheren, maar nu is dit snel bij elkaar geprogrammeerd. Het sleutelbegrip daarbij is Application Program Interface of API.
Wat is een API?
Het woord API wordt meestal gebruikt in de context van het web, maar in het algemeen is een API een geheel van afspraken die vastlegt hoe twee software componenten met elkaar communiceren. Of het nu gaat om een pc die met een webcam communiceert, of twee websites die gegevens uitwisselen: telkens worden data uitgewisseld of bepaalde taken uitgevoerd, zonder menselijke tussenkomst.
API’s werken dus als doorgeefluikjes van informatie of functionaliteit, zonder dat de ontwikkelaars moeten weten hoe de software exact werkt. Daardoor wordt het eenvoudig om een modulaire architectuur te ontwikkelen: in plaats van één softwarepakket dat in alle functies moet voorzien, worden functies à la carte toegevoegd door programma’s met elkaar te laten communiceren. Is een component verouderd of ontoereikend, dan wordt die vervangen door een andere. Zo maakt het registratiesysteem CollectiveAccess gebruik van een open source programma Imagemagick om beelden te bewerken.
Een tweede voordeel is dat derden via het web gemakkelijk gebruik kunnen maken van dezelfde data of functies. Dat is vooral het geval bij publieke, webgebaseerde API’s (webAPI’s). Een voorbeeld is de Librarything API, die op basis van een ISBN een volledige beschrijving van een boek bezorgt. Soms worden op basis van dergelijke webservices volledige websites gevuld (mashups).
Standaarden
Om het gebruik van API’s te vereenvoudigen zijn een aantal standaarden bepaald. Eenvoudige standaarden voor webAPI’s zijn RSS en OAI-PMH, waarmee gegevens uit een database kunnen worden opgehaald. Hierbij verloopt de communicatie dus in één richting. De meeste webAPI’s worden tegenwoordig ontwikkeld volgens REST (representational state transfer). REST is niet zozeer een standaard, maar een geheel van principes. Bij RESTful webservices gebeurt de uitwisseling steeds via een HTTP-request (het protocol dat gebruikt wordt op het web) en het antwoord wordt steeds bezorgd in de vorm van een XML- of JSON-bestand.
Conclusie
API’s zijn niet meer weg te denken uit het web, maar moet je nu zelf met API’s aan de slag? Niet meteen. Maar het is zeker handig om de voorkeur te geven aan software die een API ondersteunt. Zo vermijd je het gebruik van een log, duur alles-in-een systeem. Wanneer je data online publiceert, voorzie dan een RESTful webAPI, waarmee je gegevens als open data ter beschikking te stellen. Omgekeerd kan je eigen data verrijken door de (open) data van andere bronnen mee te combineren.