API strategie is de sleutel naar business innovatie

Het is niet ingewikkeld om een API te ontwikkelen en te lanceren. Desalniettemin is het succes van een API afhankelijk van de manier waarop je dit aanpakt. Er is geen silver bullet als het gaat om de juiste API strategie. Het is daarom noodzakelijk vooraf uitvoerig na te denken over de beste strategie die past bij je product. In dit artikel geven we een aantal tips en beschrijven we de belangrijkste aspecten die hierbij een rol spelen.

#Business doelstellingen

Business assets creëren de waarde voor je bedrijf, of dit nu gaat om een productcatalogus, een database met profielen of een vraag- en aanboddienst die je levert via een online platform. Het openstellen van deze assets via een API dient daarom met beleid te gebeuren. Maak jezelf bewust van de behoeftes van de (eind)gebruiker alvorens je bepaalde assets openstelt naar buiten toe. Wees kritisch in de keuzes die je maakt en leg de focus op de meerwaarde die je creëert. Voorwaarde hierbij is wel dat deze waarde uiteindelijk voortvloeit naar waarde of nieuwe kansen voor de eigen business. Ben daarom dus ook zuinig op je assets, oftewel: geef ook niets weg wat nadelig kan zijn voor je eigen waardepositie!

Stel je nu eens voor dat een dagblad haar volledige artikelen via een open API ter beschikking zou stellen. Aan de ene kant wordt hiermee het bereik via nieuwe kanalen vergroot. Echter, niemand heeft nu meer een reden om de site van het dagblad te bezoeken (en advertentie-inkomsten te genereren) of een papieren editie aan te schaffen. Maar wat zou er gebeuren als alleen de titels en URL's van artikelen zouden worden ontsloten?

#Doelgroep en use-cases

Voor een passende API strategie is het van belang te weten wie de (toekomstige) gebruiker is en voor welke use-case(s) de API wordt geconsumeerd. Vraag je hierbij af of hetgeen je faciliteert voldoende is om een oplossing voor de gebruiker te bieden. Probeer hierbij rekening te houden met de consumer patterns van de gebruiker en niet te strict vast te houden aan protocollen en standaarden.

Voorbeeld: wanneer een API wordt ontsloten om een mobiele app te voorzien van data, is het belangrijker dat de app middels één API call alle informatie voor een venster kan opvragen (wat de snelheid van de app bevordert), dan dat alles conform REST standaarden is opgesplitst in resources en er tientallen API calls benodigd zijn voor dezelfde informatie. In dit geval spreek je van de zogenaamde small set of known developers. Lever je echter een open (data) dienst, waarbij je niet weet wie je gebruiker is en welke use-cases daar onder liggen? Dan spreek je over een large set of unknown developers en wordt het natuurlijk een ander verhaal.

Verder geldt hier hetzelfde als hierboven: wees niet te vrijgevig! Als de gebruiker geen baat heeft bij de informatie, hou deze dan voor jezelf. Dat scheelt later in onderhoud en maakt de API minder complex.

#Veiligheid en privacy

Het naar buiten openstellen van de assets van je product en haar gebruikers introduceert de nodige beveiligingsrisico’s. Waarborg de privacy van je gebruiker door selectief informatie open te stellen en de benodigde authenticatie- en autorisatiemiddelen toe te passen. Kortgezegd omvat dit laatste de methode waarmee een gebruiker wordt geïdentificeerd en het mechanisme dat bepaalt tot welke (delen van) assets de gebruiker toegang krijgt.

Een handig hulpmiddel om 100% zeker te kunnen zijn dat je API voldoet aan bovenstaande is het implementeren van tests. Tests kunnen ervoor zorgen dat alle beveiligingslagen worden gevalideerd aan de hand van de actuele policies. Dit geeft zekerheid en voorkomt regressie die kan ontstaan bij het uitrollen van nieuwe releases. Laat je tests ontwikkelen (of op zijn minst reviewen) door je collega-ontwikkelaar of door derden, zodat je zeker weet dat je niets over het hoofd ziet.

De (hosting) infrastructuur waarop een API wordt ondergebracht is een onmisbaar aandachtspunt. Maak jezelf (of je ontwikkelaars) bewust van de risico’s en zorg ervoor dat data op een veilige manier wordt uitgewisseld door middel van versleuteling en andere methodes. Op het gebied van veiligheid wil je immers geen flater slaan!

#Toegankelijkheid

Wanneer je een API lanceert bereik je de ontwikkelaar het snelst door de API op een presenteerblaadje aan te reiken. Een onmisbaar ingredient dat hieraan bijdraagt is heldere documentatie met duidelijke code-voorbeelden. Richt je hierbij niet alleen op het platform waar je zelf mee bekend bent, maar op alle meest gebruikte platformen in de community. Bonuspunten zijn te behalen door kant- en klare client libraries/SDK’s aan te bieden, waardoor de developer helemáál snel up & running is.

Een API die te complex is zal nooit door ontwikkelaars worden omarmd. Probeer je daarom te verplaatsen in de ontwikkelaar en de API structuur en de standaarden die je hanteert zorgvuldig te selecteren aan de hand van bewezen concepten en standaarden die een hoge populariteit kennen in de ontwikkelaarscommunity. Als een ontwikkelaar kennis en ervaring kan toepassen die hij reeds bezit, zal hij sneller geneigd zijn met je product aan de slag te gaan. Uiteindelijk resulteert dit in hogere adoptie en implementaties van hogere kwaliteit.

#Beheersbaarheid

Een state-of-the-art API wegzetten waar alle betrokkenen gelukkig van worden is nog maar het begin. Het faciliteren van een API is namelijk een continu proces. Net als het gebruik van je website monitoren via Google Analytics, wil je ook weten hoe je API ervoor staat. Die kennis is enorm waardevol en kan leiden tot nieuwe inzichten en optimalisatie van bestaande data-stromen.

Hoe weet je bijvoorbeeld in welke mate je API wordt gebruikt en welke hinder ontwikkelaars ondervinden? Welke API calls zijn het populairst en wie is je actiefste API gebruiker? Hoeveel (en welke) API calls zijn (te) traag of resulteren in een foutmelding? Als je hier hier pro-actief op kan anticiperen kun je een hoogwaardige API leveren, waarbij kwaliteit en beschikbaarheid voorop staan!

#Hulp nodig?

Apiwise kan organisaties helpen met het uitkristalliseren van een optimale API strategie. In nauwe samenwerking met de opdrachtgever en alle betrokken partijen brengen wij alle requirements en risico’s in kaart en brengen we een advies uit met concrete aanbevelingen en do’s & don'ts.