
Een Application Programming Interface (oftewel “API”) is een uitbreiding op een bestaand systeem of software. Een API creëert een “ingang” (of uitgang) in het systeem, waardoor andere systemen en software toegang kunnen krijgen. Deze ingang maakt het mogelijk dat verschillende systemen met elkaar kunnen communiceren en gegevens uitwisselen.
Als simpel voorbeeld nemen we Google Maps. De API van Google Maps stelt website-eigenaren in staat om Google Maps op hun website te tonen. Uiteindelijk gaat Google met de Google Maps API dusdanig ver, dat het kaartje op de website ook interactief is; een bezoeker kan bijvoorbeeld een actuele route naar een adres inplannen. Er is in dit voorbeeld een verbinding gelegd tussen twee systemen, namelijk de website en Google Maps. De functionaliteiten van Google Maps gaan niet verloren, terwijl deze door een andere partij worden aangeboden.
Het bovenstaande voorbeeld is slechts een eenvoudig voorbeeld van een API. API’s kunnen bijzonder complex zijn en maken het o.a. mogelijk dat handmatige handelingen, tussen verschillende systemen of software, vrijwel in zijn geheel kunnen worden voorkomen.
Een API-koppeling kan enorm veel voordelen opleveren. Uiteraard is dit afhankelijk van het type API-koppeling en de toepassing hiervan. In het voorbeeld van de Google Maps API zal het voordeel voor een organisatie beperkt zijn: bezoekers van de website zullen het kaartje voornamelijk gebruiken als navigatie naar jouw bedrijf.
Wanneer we echter kijken naar API-koppelingen tussen een ERP-systeem en een softwarepakket, dan zijn de mogelijkheden vele malen groter. Zo zorgt een API-koppeling ervoor dat de systemen samenwerken en elkaars data uitlezen. Dit betekent dat de data in het systeem altijd up-to-date is.
De API-koppeling zorgt ervoor dat data slechts één keer ingevoerd hoeft te worden. Dubbele invoer, vaak met frustratie en fouten, wordt op deze manier voorkomen. Naast het voorkomen van fouten, wordt er hierdoor ook een enorme tijdswinst behaald. Tijd die goed geïnvesteerd kan worden in andere werkzaamheden.
Met een API-koppeling zorg je er als bedrijf voor dat er slimmer en efficiënter gewerkt kan worden. Heb jij te maken met dubbele invoer, foutieve gegevens, niet-actuele data en wil jij jouw bedrijfsprocessen optimaliseren? Informeer wat wij voor jouw organisatie kunnen betekenen.
Een API communiceert met een programma door gebruik te maken van een klein deel van de originele code van het oorspronkelijke programma. Hierdoor kan de API contact leggen met het programma en requests (verzoeken) versturen. Vragen van buitenaf worden door de API vertaald en omgezet naar code die het programma begrijpt. De API verstuurt vervolgens het antwoord (respons) weer terug naar de client.
Een veelgebruikte manier om de werken van een API uit te leggen is die van de stekker en het stopcontact. Het stopcontact is hierbij de software of het systeem, de stekker is de API. Als de stekker in het stopcontact past, kan alles met elkaar communiceren. Over de hele wereld worden echter verschillende stopcontacten gebruikt, waardoor niet alles in elkaar past. Daarom moet het een op het ander worden afgestemd.
Zoals bij vrijwel elk product of elke dienst zijn er, ook in het geval van API-koppelingen, verschillende soorten aanwezig in de markt. De meest voorkomende API-koppelingen zijn echter webservice remote API-koppelingen. De twee grootste typen onder deze categorie zijn de SOAP API en REST API.
Communicatie tussen twee systemen via het internet gebeurt vaak door middel van een webservice. Hiermee is een webservice als het ware een API op afstand; dit in tegenstelling tot andere typen API’s, welke bijvoorbeeld lokaal draaien (bijvoorbeeld binnen een bedrijf).
Vaak kan een webservice API via een specifieke URL (link) worden aangevraagd/bezocht. Deze link geeft vervolgens een XML of JSON formaat terug. De informatie uit een van deze bestanden kan gebruikt worden voor het ontwikkelen van een API, die vervolgens getoond kan worden in jouw eigen applicatie.
Nu we een beter beeld hebben van de webservice API’s en ook het voordeel kennen van een API die communiceert via het internet, kunnen we de twee meest gebruikte typen webservice API’s bespreken: SOAP en REST.
SOAP (Simple Object Access Protocol) is een koppeling, waarbij je alle regels voor de koppeling strikt definieert. Hierdoor wordt er structuur aangebracht in de koppeling, waardoor het overzicht en de controle bewaard blijft. Door al deze regels is een SOAP koppeling zwaarder dan een REST koppeling en kan het technisch gezien een uitdaging zijn om de koppeling uit te lezen en tot stand te brengen.
Bij een REST (Representational State Transfer) koppeling wordt er minder structuur en regels in de koppeling aangebracht. De REST koppeling is om deze reden een stuk lichter dan de SOAP koppeling. Dit zorgt er over het algemeen voor dat deze koppeling sneller is.
SOAP en REST API’s komen beide veel voor. Er kan niet gezegd worden dat één type koppeling de beste is. Wel kan er, afhankelijk van het project, een voorkeur zijn voor een bepaalde koppeling. Overleg daarom goed met jouw developer of webbureau welk type koppeling geschikt is voor jouw toepassing.
Een API kan enorm veel voordeel opleveren voor je onderneming. Door het optimaliseren van de interne processen kan er enorm veel winst behaald worden; goed werkende koppelingen leveren efficiëntie op en maken het werk leuker. Dit resulteert in meer tijd, geld en overzicht. Deze voordelen kunnen geïnvesteerd worden in nieuwe ontwikkelingen en groei van jouw onderneming.
Wanneer je de interne processen binnen jouw organisatie wilt verbeteren, is het verstandig om op zoek te gaan naar een webdevelopmentbureau dat jou begrijpt en met je meedenkt. Een API / koppeling ontwikkelen is immers een technische aangelegenheid waar, om tot het beste resultaat te komen, vaak een specialist voor wordt ingeschakeld. Deze specialist moet naast het technische aspect, ook complexe bedrijfsprocessen kunnen begrijpen.
Bij webbureau Safira werken we sinds 2002 aan bedrijfssoftware (business software). Door onze ervaring binnen software-ontwikkeling en softwarekoppelingen kennen de meeste systemen geen geheimen meer voor ons. Is dit toch het geval, dan zien wij dat graag. Bij Safira gaan wij geen uitdaging uit de weg!
Heb je vragen over API’s, softwarekoppelingen of ben je benieuwd naar de mogelijkheden?
Neem gerust contact met ons op, we staan je graag te woord.