Neem een snelle start met API's
Begrijp in 5 minuten hoe dit platform u kan helpen
Een API (Application Programming Interface) is een specificatie over hoe softwarecomponenten met elkaar communiceren.
Klassiek kennen we bijv. de API’s van het onderliggende operating system of andere systeemsoftware. Maar ook applicatie-componenten kunnen API’s toepassen om hun functionaliteit aanroepbaar te maken. Applicaties kunnen bijvoorbeeld opgebouwd zijn in verschillende lagen, waarbij de onderliggende softwarelaag (bijv. businesslaag) zijn functionaliteit via API’s aanroepbaar stelt aan de bovenliggende laag (bijv. presentatie laag).
Of applicaties kunnen services aanroepen die geleverd worden door een andere applicatie, bijv. “geef gezinssamenstelling”. Of applicaties kunnen opgebouwd zijn in verschillende (micro-)services, waarbij de ene service zijn functionaliteit aanroepbaar stelt aan andere services via API’s.
Een API is dus een specificatie die bepaalt welke gegevenselementen (of objecten) bij de aanroep en bij het antwoord, uitgewisseld worden en hoe deze gestructureerd zijn. Deze specificatie steunt meestal op een internationale standaard die betrekking heeft op formaat (bijv. XML, SOAP) en semantiek. Ook bepaalt de API het technische communicatieprotocol dat gehanteerd wordt.
Een WEBAPI is een API die via webstandaarden (http, https) aangeroepen wordt.
De API bepaalt de modaliteiten van de service aanroep, dus hoe een service wordt opgeroepen. De service zelf is een elektronische “dienst” die geleverd wordt, bijv. een bancaire transactie, het ophalen van klantengegevens, het aanmaken van een contract, enz…
In de huidige software architectuur probeert men de interne details van de verwerking, die nodig is om de service te leveren, verborgen te houden voor diegene die de service gebruikt om op die manier een zeker isolatie te realiseren. De service gebruiker moet enkel rekening te houden met de API (specificatie van de service aanroep) en niet met de interne implementatie. Men spreekt daarbij over “information hiding” en “encapsulatie”, begrippen die eigen zijn aan een “service georiënteerde architectuur”. Het werken met API’s refereert dus ook aan het gebruik van een service georiënteerde architectuur. In een service georiënteerde architectuur streeft men ernaar om de software services zeer nauw te laten aansluiten op de eigenlijke “business” services.
In de voorbeelden van services in vorige paragraaf, erkent men meteen de business service die geleverd wordt: de software dienst “aanmaak contract” mapt 1-op-1 met de business dienst “aanmaak contract”.
Om de isolatie verder door te voeren, heeft de API vaak betrekking op een “service proxy”. De service proxy is een service die zichtbaar is voor de buitenwereld. De API naar de service proxy evolueert niet, of heel traag. De service proxy zelf roept de eigenlijke “back end” service aan, eventueel na het uitvoeren van conversies. De back-end dienst en de API van deze back-end dienst mag in de loop van de tijd veranderen, maar de proxy, die zichtbaar is naar de buitenwereld, blijft onveranderd. Ook dat is een vorm van encapsulatie die men nastreeft in een modern software ontwerp.
De API Management diensten van Het Facilitair Bedrijf bieden een antwoord voor een aantal actuele IT vraagstukken (die we terugvinden in o.a. mobiele toepassingen, applicatie integratie en het hergebruik van informatie binnen de overheid, open data, partnerships tussen overheid en bedrijven, IoT):
API’s zijn een de-facto standaard geworden voor het beschikbaar maken van data en business logica (transacties). API’s nemen hierbij de rol van (SOAP) web services over en gaan veel verder.
De samenwerking tussen applicaties binnen de organisatie, maar ook met applicaties van andere organisaties, steunt meer en meer op API’s. Ook de integratie met SAAS-diensten, denk bijvoorbeeld aan SalesForce, steunt in grote mate op API’s. Via de API worden de services van andere organisaties aangeroepen, die informatie leveren, of die bepaalde transacties uitvoeren in realtime.
Het aanbieden van services via API's stelt andere organisatie in staat om de services van één of meer organisaties te combineren in zogenaamde composite applicaties.
Een voorbeeld:
Een tweede voorbeeld:
Deze voorbeelden illustreren ook dat de diensten van de overheid niet (enkel) aangeboden worden via de website van de overheid, maar via API’s, zodat zij kunnen opgenomen worden, in een bedrijfsproces en bedrijfsdiensten van andere organisaties die op die manier zelf diensten met toegevoegde waarde kunnen creëren.
Vandaag zijn er in de wereld 2,7 miljard gebruikers van een smartphone. Ruim 60% van deze populatie raadpleegt het internet via de smartphone. Daarnaast zijn er 1,3 miljard PC's, een aantal dat daalt. Uit deze cijfers blijkt duidelijk de noodzaak om informatie en applicaties te ontsluiten via mobiele toestellen, ‘mobile first’ dus.
Mobiele toestellen hanteren een user interface die steunt op 'mobile Apps': kleine, handige mini-applicaties die gericht zijn op één gespecialiseerd doel, bijvoorbeeld bancaire transacties, sociale media, mail, media, reisinformatie, navigatie, enz… API’s zijn de lingua franca voor de communicatie vanuit deze mobile Apps naar de achterliggende (“back-end”) systemen.
Bij de ontwikkeling van mobile Apps, hoort dus ook de ontwikkeling van de services (API’s) waarmee de apps zullen communiceren met de back-end;
Belangrijk vertrekpunt bij API-ontwerp is dat meerdere varianten van API’s ondersteund kunnen worden. API’s komen in verschillende maten en gewichten. En één zo’n variant kan zich specifiek richten op mobiele toepassingen. Het specifieke karakter van API’s die gericht zijn op mobile apps, is dat ze een snelle interactie en opbouw van de schermen toelaten.
Om specifieke mogelijkheden en data van een mobiel apparaat – bvb. camera of GPS – te gebruiken, dient een 'native' mobile App ontwikkeld te worden, bijvoorbeeld om barcodes te scannen, of de actuele geografische positie te kennen. Indien dit niet nodig is, kan een hybride mobiele toepassing volstaan. Zo’n hybride mobiele toepassingen gebruikt veel web technologie (HTML5, CSS, Javascript), waarna ze wel verpakt wordt tot een mobiele toepassing. Dergelijke hybride toepassing is veelal eenvoudiger en goedkoper.
Organisaties en bedrijven staan niet alleen in de wereld. Voor sommige maatschappelijke en commerciële uitdagingen wenst men samen te werken met andere organisaties of bedrijven, die dan partners worden. Alleen is het niet altijd gemakkelijk om die organisaties of bedrijven te identificeren en om de samenwerking op te zetten. IT kan daarbij helpen.
Door het aanbieden van bepaalde elektronische services (API’s) naar externe partijen, worden andere organisaties en bedrijven uitgenodigd om van die services gebruik te maken.
API's zijn daar bij uitstek voor geschikt, omdat zij laagdrempelige ontwerprincipes hanteren zoals: eenvoud, snel te begrijpen en aan te roepen, weinig ontwikkeling nodig, aansluiting die geautomatiseerd kan gebeuren 24/7, enz …
Enkele voorbeelden
Het gaat bijvoorbeeld om services van een verdeler waarbij die services betrekking hebben op de verkoop en distributie van consumentenproducten, denk aan Amazon.com. Die services laten toe dat de andere organisaties hun producten of diensten via de verdeler kunnen commercialiseren naar consumenten;
Of het gaat bijvoorbeeld om services (API's) van een bedrijf die betrekking hebben op een elektronische geldbeurs voor consumenten, waarbij commerciële ketens kunnen aansluiten zodat zij betalingen aanvaarden via de geldbeurs, denk aan Google Pay. Vaak zijn er bijkomende services op vlak van productpromoties, klantenbinding (getrouwheidskaart), enz…
In beide voorbeelden ontstaat het ecosysteem van partners, op basis van een set van elektronische diensten die via API’s aangeboden worden aan de wijde wereld en waarbij partners snel en eenvoudig kunnen instappen op de elektronische diensten. API’s zijn eenvoudig en gemakkelijk te implementeren, ook door kleinere bedrijven of organisaties en bieden een open en laagdrempelige manier om deze organisaties of bedrijven te laten instappen in een ecosysteem. Het bedrijf of de organisatie die de API’s aanbiedt, bouwt op die manier een volledig ecosysteem van partner organisaties die samen een toegevoegde waarde leveren naar de eindklant.
Sociale media zoals Twitter, Facebook, Instagram, Youtube, Snapchat vormen vandaag het meest populaire, het meest aangewezen kanaal om vanuit de overheid boodschappen naar het grote publiek te brengen, en ook om met het publiek te interageren over allerlei thema’s.
Hierdoor wordt het mogelijk om trends op sociale media waar te nemen, opinies en feedback te bekomen over bepaalde dienstverlening door de overheid. En ook actief informatie te publiceren en delen m.b.v. geautomatiseerde processen.
De manier waarop dit gebeurt, is via API's. Er is een brede waaier aan integratie API’s voor het consulteren, analyseren maar ook voor het geautomatiseerd publiceren.
Er zijn ook diverse spelers die zich als tussenstation opwerpen: er zijn diensten voor het beheer en analyse van sociale media. Ook deze beheer en analyse services worden weerom ontsloten door …. jawel API’s.
In de wereld van 'Internet of Things' wordt het Internet doorgetrokken naar fysieke apparaten (van graafmachine tot fontein), publieke infrastructuur (verkeerslichten, ANPR-camera’s, meters van waterstanden, water- en luchtkwaliteit, …) en alledaagse gebruiksvoorwerpen (wagen, domotica, alarmsystemen, verlichting, huishoudelijke toestellen, wearables, het weegtoestel in de badkamer, slimme camera’s, Alexa, Siri, de slimme energiemeter, enz.).
De consequenties van deze IoT-wereld kunnen moeilijk onderschat worden. Heel wat bestaande bedrijfsprocessen zullen erdoor geïmpacteerd worden en er zullen heel wat nieuwe diensten ontstaan.
IoT steunt volop op API’s. API’s worden gebruikt om het apparaat te laten communiceren met back-end systemen of omgekeerd, om de apparaten aan te sturen.
IoT-systemen leveren een schat aan (nieuwe) informatie op, denken we aan de ANPR camera’s, de slimme wagens, de slimme energiemeter, op basis waarvan nieuwe diensten kunnen gebouwd worden, zoals op vlak van mobiliteit, veiligheid, energiebeheer enz… .
Via API’s wordt deze informatie ter beschikking gesteld, soms ook in realtime, zodat er interactieve systemen kunnen gebouwd worden, zoals op vlak van verkeersgeleiding, beveiliging, aansturing van huishoudtoestellen, enz… . De verzamelde informatie vormt uiteraard ook een nieuwe en belangrijke informatiebron voor statistisch onderzoek in het kader van beleidsbepaling.
Open data worden in allerlei formaten aangeboden. Het ontsluiten van open data mbv. API’s biedt een aantal voordelen:
Bij API’s kan de applicatie ontwikkelaar worden geregistreerd en een API key toegekend worden aan elke client toepassing. Hierdoor kunnen meetgegevens omtrent het gebruik van de API’s door de diverse client toepassingen worden verzameld door het API Management platform. Meetgegevens die inzage geven naar de aanbieder van de Open Data omtrent het gebruik van de Open API’s.
Tip: doe een frequente check welke informatie als open data een toegevoegde waarde kan bieden naar partners, lokale besturen, bedrijven, burgers of anderen. Overweeg zeker het gebruik van API’s om de open data vervolgens ter beschikking te stellen.
Schematische voorstelling van het API managementplatform.
Het Facilitair Bedrijf levert API management diensten:
De API Management platformdiensten staan in voor de beveiliging en het beheer van de API’s. Ze kunnen toegepast worden in volgende gevallen :
IoT: de communicatie van devices naar back-end diensten steunt ook op API’s.
Het API-gebaseerde verkeer tussen applicatielagen of tussen services in een microservice architectuur zijn ook cases waar API's toegepast worden, maar de toepassing van het API management platform is hier minder evident.
Neem eerst contact op met Het Facilitair Bedrijf voor een intake gesprek. Tijdens dit gesprek worden de doelstellingen en de technische architectuur van de klant besproken en wordt toelichting gegeven over het gebruik van de API management diensten;
Indien u een eerste realisatie wenst op te zetten, dan zijn een aantal initiële configuraties nodig die via een standaard werkaanvraag bij HB-plus worden aangevraagd. Het Facilitair Bedrijf kan helpen bij het invullen van het aanvraagformulier.
Het Facilitair Bedrijf treedt op als dienstverlener en helpt bij verdere vragen of voor begeleiding in het traject.
Het Facilitair Bedrijf biedt een API management platformdienst aan. Voor deze platformdienst worden geen kosten aangerekend. Deze platformdienst omvat ook de operationele support van het platform.
De API Service Provider treedt op als financieel beheerder voor projectmatige uitbreidingen. De API Service Provider is verantwoordelijk voor ontsluiten van zijn API’s en dus het configureren van het platform wat betreft API proxies, omgeving (environment), “producten”, client applicaties etc.
HB-plus kent een aantal standaard aanvragen waarvan de eerste 3 verplicht afgenomen worden bij nieuwe aansluitingen.
| ||||||||||||||||||||||||||
Het Facilitair Bedrijf maakt gebruik van Amazon Web Services als platform om de doelstellingen van het programma 'datadriven facilitair management' te ondersteunen. Het API Management platform maakt deel uit van de standaardoplossing voor de communicatie tussen AWS-componenten en de componenten binnen het netwerk van de Vlaamse overheid.
VITALINK van Agentschap Zorg & Gezondheid: de webapp MyHealthViewer toont de medische gegevens van een persoon en communiceert daartoe via het API Management Platform met de back-end diensten van Vitalink. Binnen deze toepassing wordt ook een mobiele sterke authenticatie toegepast. Deze webapp mikt op de doelgroep van 6 miljoen Vlamingen.