API’s: populair, maar vaak nog slecht begrepen

Application Programming Interfaces bestaan al heel lang. Maar pas de afgelopen jaren zijn API’s serieus populair geworden. Ze zijn voor veel mensen bijna synoniem met innovatie. Dat heeft alles te maken met de opkomst van web services en mobiele apps die voor hun intelligentie gebruik maken van bestaande applicaties. API’s mogen dan populair zijn, vaak blijkt het toch ook om een nog grotendeels onbegrepen fenomeen te gaan.

Dit is een API niet

Laten we eens beginnen met vast te stellen wat een Application Programmering Interface nu eigenlijk niet is. Dan wordt ook beter duidelijk wat een API wél is.Allereerst is een API niet hetzelfde als een willekeurig stuk software. Of beter gezegd: software is niet hetzelfde als een API. Een API kan echter wel gebruikt worden om de functionaliteit die een stuk software biedt gemakkelijker - zeg maar - consumeerbaar of bruikbaar te maken.Een API is ook niet een user interface. Daar staat tegenover dat een gebruikersinterface wel bovenop een Application Programmering Interface kan worden gebouwd.Bovendien geldt: een server is niet hetzelfde als een API. Maar een server kan wel een of meer API’s hosten die de data of de functionaliteit die door deze server wordt geboden beschikbaar stelt.

Soorten en typen

Een API biedt op een eenvoudige en goed gestructureerde manier toegang tot data of functionaliteit. Maar de ene API is de andere niet. Er bestaan meerdere soorten en typen:
  • Detection API’s - Deze helpen om kansen te ontdekken, bijvoorbeeld nieuwe mogelijkheden voor het omgaan met klanten, werknemers, partners of apparaten. Concreet: denk aan mechanismen om mobiele locaties van mensen of devices vast te stellen, het monitoren van sensoren, predictive analysis of het observeren van mensen.
  • Enrichment API’s - Dit zijn API’s die bedoeld zijn om gebeurtenissen of situaties beter te leren begrijpen. Bijvoorbeeld door het toepassen van historische gegevens uit een CRM-systeem, een verkoopadministratie of uit patiëntendossiers.
  • Perception API’s - Deze bieden een wat wel genoemd wordt dynamisch perspectief op de huidige situatie. Daarmee kan een bedrijf bijvoorbeeld een beter beeld krijgen van de mensen met wie een bedrijf wil samenwerken. Denk aan social API’s (mensen die interesses of plannen met elkaar delen) of sensordata die een beeld schetst van een verkeerssituatie of de consumptie van bepaalde goederen. Voorbeeld: iemand die komende week met vakantie naar Ibiza gaat, is geïnteresseerd in andere producten of diensten dan iemand die met Kerst naar de sneeuw wil.
  • Action API’s - Deze maken het mogelijk om in wat we wel noemen ‘near realtime’ actie te ondernemen. Hiermee kunnen bijvoorbeeld push notificaties naar mobiele gebruikers worden gestuurd.

De zakelijke kant

Vaak wordt gedacht dat API’s een puur technisch onderwerp zijn. Leuk voor de IT-afdeling, maar val - bij wijze van spreken - de business er niet meer lastig. Dat is een foute conclusie. Bij iedere Application Programming Interface zijn namelijk drie rollen van cruciaal belang. En zo mogelijk nog belangrijker: deze drie functionarissen dienen maximaal samen te werken, wil een organisatie ten volle kunnen profiteren van een API.
Die rollen zijn:
  • de zakelijk eigenaar
  • IT operations
  • de API-ontwerper

Rolverdeling    

Laten we deze rollen even kort langs gaan. Allereerst de business owner. Deze bepaalt onder welke condities van de API gebruik gemaakt mag worden. En door wie. Bovendien is dit de functionaris die vaststelt in hoeverre een Application Programmering Interface aan de verwachtingen voldoet. Deze persoon kijkt dus vooral naar de zakelijke kant van de API en bemoeit zich verder nauwelijks met de techniek.
De IT-afdeling is ervoor verantwoordelijk dat de API operationeel gezien doet wat deze moet doen. Met andere woorden: de API dient op een veilige en robuuste manier beschikbaar te worden gesteld, de toegang tot de API (authenticatie) is goed geregeld en iedereen die gerechtigd is om van de API gebruik te maken dit op basis van een autorisatie ook daadwerkelijk kan. Een derde taak voor IT operations is ervoor te zorgen dat het verkeer van en naar de API is geoptimaliseerd en conform de zakelijke doelstelling voldoende prioriteit heeft.
De API designer is de persoon die technisch gesproken de API definieert, die vaststelt welke koppelingen er aan de achterkant van de interface moeten worden geregeld en die zorgt dat de mapping tussen de door de API geboden data of functionaliteit wordt gemaakt met de backend-systemen. Hierbij geldt dat het maken van een API niet al te veel programmeren met zich mee mag brengen. Gebeurt dat wel dan kost het beschikbaar stellen van een API te veel tijd en neemt het tempo van innovatie beduidend af (zie verderop).

Niet-beheerde API’s

Tenslotte nog dit: unmanaged API’s. Er kunnen goede zakelijke redenen zijn om wél een API te creëren, maar deze verder niet te beheren. Waarom? Omdat de doelgroep die een organisatie met een API wil aanspreken bijvoorbeeld niet duidelijk te definiëren is. In dat soort gevallen kan het nuttig zijn dat iedereen die de API heeft gevonden deze ook daadwerkelijk mag gebruiken. In dat soort gevallen ontbreken vaak duidelijke control-mechanismen. Dat is geen probleem, zolang dit maar een bewuste keuze is.
Wat zouden die goede zakelijke redenen kunnen zijn om een onbeheerde API te creëren? Daar kunnen tal van aanleidingen toe zijn. Denk eens aan dit soort scenario’s:
  • Een apparaat of sensor als een huisthermostaat kan af-fabriek een goed gedefinieerde interface meekrijgen die vervolgens echter door talloze consumenten benaderd moet kunnen worden om gegevens te kunnen uitlezen
  • Een bestaande applicatie - bijvoorbeeld een legacy-toepassing - wordt voorzien van een REST-interface die als API dient zodat andere gebruikers toegang kunnen krijgen tot een stukje van de functionaliteit van deze toepassing
  • Een API die binnen het eigen domein van de organisatie ‘leeft’. Het enige dat een eigen medewerker nodig heeft is connectiviteit en het adres van de API

eBook

api-management-dummies-700x450-300x193 Op deze manier kunnen snel en eenvoudig interne of op de buitenwereld gerichte ecosystemen worden ontwikkeld. Er wordt wel eens gezegd dat zoveel mogelijk beschikbaar maken van functionaliteit in de vorm van een API een van de snelste manieren is om tot innovatie te komen. Daar zou wel eens een duidelijke kern van waarheid in kunnen zitten. Met andere woorden: we moeten leren denken in API’s. Niet alleen hippe mobiele startups, maar ook enterprise-organisaties. Meer weten over API’s en hoe we hier snel mee aan de slag kunnen? Hier vindt u een eBook over dit onderwerp.
Van de redactie