API is het acroniem voor Application Programming Interface, dat is een software tussenpersoon die het mogelijk maakt dat twee applicaties met elkaar kunnen praten. Elke keer dat je een app als Facebook gebruikt, een instant message verstuurt of het weer op je telefoon checkt, maak je gebruik van een API.
Wat is een API precies? Leer het eindelijk zelf in deze handige video van MuleSoft, de API-experts.
Wat is een voorbeeld van een API?
Wanneer u een applicatie op uw mobiele telefoon gebruikt, maakt de applicatie verbinding met het internet en stuurt gegevens naar een server. De server haalt die gegevens vervolgens op, interpreteert ze, voert de nodige acties uit en stuurt ze terug naar uw telefoon. De applicatie interpreteert die gegevens vervolgens en presenteert u de gewenste informatie op een leesbare manier. Dit is wat een API is – dit alles gebeurt via een API.
Om dit beter uit te leggen, nemen we een bekend voorbeeld.
Stel je voor dat je in een restaurant aan tafel zit met een menu met keuzes om uit te bestellen. De keuken is het deel van het “systeem” dat uw bestelling klaarmaakt. Wat ontbreekt is de kritische link om uw bestelling door te geven aan de keuken en uw eten terug te brengen naar uw tafel. Dat is waar de ober of API om de hoek komt kijken. De kelner is de boodschapper – of API – die uw verzoek of bestelling aanneemt en de keuken – het systeem – vertelt wat te doen. Vervolgens levert de ober het antwoord weer bij u af; in dit geval is dat het eten.
Hier volgt een voorbeeld van een API uit het echte leven. Je bent misschien bekend met het proces van het online zoeken van vluchten. Net als het restaurant, heb je een verscheidenheid aan opties om uit te kiezen, met inbegrip van verschillende steden, vertrek-en retourdata, en nog veel meer. Laten we ons voorstellen dat u uw vlucht boekt op een website van een luchtvaartmaatschappij. U kiest een stad en datum van vertrek, een stad en datum van terugkeer, cabine klasse, evenals andere variabelen. Om uw vlucht te boeken, gaat u naar de website van de luchtvaartmaatschappij om toegang te krijgen tot hun database en te zien of er stoelen beschikbaar zijn op die data en wat de kosten zouden kunnen zijn.
Maar wat als u niet de website van de luchtvaartmaatschappij gebruikt – een kanaal dat directe toegang tot de informatie heeft? Wat als je gebruik maakt van een online reisdienst, zoals Kayak of Expedia, die informatie verzamelt uit een aantal databases van luchtvaartmaatschappijen?
De reisdienst, in dit geval, interageert met de API van de luchtvaartmaatschappij. De API is de interface die, net als uw behulpzame ober, door die online reisdienst kan worden gevraagd om informatie uit de database van de luchtvaartmaatschappij te halen om stoelen te boeken, bagage opties, enz. De API neemt dan het antwoord van de luchtvaartmaatschappij op uw verzoek en levert het direct terug aan de online reisdienst, die u dan de meest bijgewerkte, relevante informatie toont.
Wat een API ook biedt is een laag van beveiliging
De gegevens van uw telefoon worden nooit volledig blootgesteld aan de server, en evenzo wordt de server nooit volledig blootgesteld aan uw telefoon. In plaats daarvan communiceert elk met kleine datapakketjes, waarbij alleen de noodzakelijke gegevens worden gedeeld, zoals bij het bestellen van een afhaalmaaltijd. Je vertelt het restaurant wat je wilt eten, zij vertellen je wat ze in ruil daarvoor nodig hebben en uiteindelijk krijg je je maaltijd.
API’s zijn zo waardevol geworden dat ze een groot deel van de inkomsten van veel bedrijven uitmaken. Grote bedrijven als Google, eBay, Salesforce.com, Amazon en Expedia zijn maar een paar van de bedrijven die geld verdienen aan hun API’s. De “API-economie” verwijst naar deze marktplaats van API’s.
De moderne API
In de loop der jaren is wat een “API” is, vaak beschreven als een soort generieke verbindingsinterface met een toepassing. Meer recentelijk heeft de moderne API echter een aantal kenmerken gekregen die ze buitengewoon waardevol en nuttig maken:
- Moderne API’s houden zich aan standaarden (meestal HTTP en REST), die ontwikkelaar-vriendelijk, gemakkelijk toegankelijk en breed te begrijpen zijn
- Ze worden meer behandeld als producten dan als code. Ze zijn ontworpen voor gebruik door specifieke doelgroepen (bijv, mobiele ontwikkelaars), ze zijn gedocumenteerd, en ze zijn geversioneerd op een manier dat gebruikers bepaalde verwachtingen kunnen hebben van het onderhoud en de lifecycle.
- Omdat ze veel meer gestandaardiseerd zijn, hebben ze een veel sterkere discipline voor beveiliging en governance, en ook gemonitord en beheerd voor prestaties en schaal
- Zoals elk ander stuk van gestandaardiseerde software, heeft de moderne API zijn eigen software development lifecycle (SDLC) van ontwerpen, testen, bouwen, beheren, en versioneren. Ook zijn moderne API’s goed gedocumenteerd voor gebruik en versiebeheer.
Om meer te leren over API’s en hoe je een geweldige API ontwerpt, download je het eBook Undisturbed REST: Een gids voor het ontwerpen van de perfecte API.