Een kortere time-to-market van nieuwe diensten. Data delen in de keten. Data-driven beslissingen nemen. En soms zelfs het ontwikkelen van volledig nieuwe businessmodellen op basis van data. Het zijn redenen om bewust na te denken over een api-strategie. Een strategie die duidelijk onderscheid maakt tussen verschillende typen api’s en die voor alle betrokkenen helder is
Bij de term api denken velen primair aan een ‘stopcontact’ waar externe partijen hun stekker in kunnen steken om data op te halen uit een applicatie. Deze business-api’s voor het exposen van data richting klanten en ketenpartners zijn vaak relatief simpele interfaces die zijn ontwikkeld met de eindgebruiker in gedachten. Ze kunnen ontwikkeld worden door de businessgebruikers die data willen delen of door de devops-teams die verantwoordelijk zijn voor de bewuste applicatie waar data uit wordt opgehaald.
Er is echter nog een ander type api waar veel minder aandacht voor is: het ontsluiten van functionaliteit die zich in de backbone van je organisatie bevindt naar processen die meer aan de voorkant draaien. Deze api’s worden vaak alleen intern gebruikt en zijn in de regel veel complexer dan de business api’s. Het zijn herbruikbare, generieke services om functionaliteit of data uit backend-systemen naar een veelheid van andere applicaties te ontsluiten. Het ontwikkelen van dergelijke api’s is specialistenwerk.
Geef api-ontwikkeling vorm
Veel organisaties worstelen met hoe ze dit specialistenwerk moeten organiseren zonder de vrijheden van de devops-teams of businessmensen in te perken. Wij pleiten voor een ‘centre of excellence’ voor integratie waarin we drie persona’s onderscheiden die alle drie een ander perspectief en kennisniveau hebben:
- De citizen developer, vaak de gebruiker van een applicatie of een businessanalist;
- De developer in een devops-team, die verantwoordelijk is voor de ontwikkeling en het beheer van een specifiek product;
- De integratiespecialist, die de complexe herbruikbare enterprise-integraties bouwt.
Deze werkwijze wordt meer en meer ondersteund door integratie-tooling. Er komen steeds meer tools op de markt die enerzijds mogelijkheden bieden voor ‘citizen development’, terwijl ze tegelijkertijd ook over diepgaande functionaliteit beschikken voor integratie-experts. Businessgebruikers komen terecht in een simpel ogende omgeving met relatief weinig complexiteit. Als ze vastlopen en de hulp willen inschakelen van een integratie-expert, kan deze voortbouwen op datgene dat al is ontwikkeld in een veel complexere omgeving met diepgaande functionaliteit.
Een laatste aspect waar je aandacht aan moet besteden, is governance. Vragen api’s altijd op dezelfde manier informatie op? Is de authenticatie en autorisatie goed geregeld? Hoe is de api verder beveiligd? Kan de api het aantal verzoeken limiteren zodat de achterkant niet overbelast raakt? Dit alles regel je met api-management. Hiermee zorg je ervoor dat de makers op een eenduidige, veilige en gecontroleerde manier api’s beschikbaar kunnen stellen aan verschillende gebruikers, zowel intern als extern.
Ga je aan de slag met een api-strategie, realiseer je dan dat het een breed onderwerp is dat meerdere onderdelen omvat: organisatiestructuur, tooling én governance.
Jos Smits, cto en Jan Fluitsma, integratiespecialist bij Virtual Sciences Conclusion