Wat is een API?

Wat is een API en wat kun je ermee?

Een Application Programming Interface (API) is een software-interface die verschillende applicaties met elkaar laat communiceren. Via een API-koppeling wordt data uitgewisseld tussen twee softwaresystemen, wat allerlei handelingen door mensen overbodig maakt en dus veel tijd bespaart.

Wat doet een API?

API’s zorgen voor alle interacties tussen applicaties, data & apparaten en maken dataoverdracht van systeem naar systeem mogelijk. Met een API creëer je een gestandaardiseerde toegang tot applicaties in de cloud, zoals bijvoorbeeld Ctrack's fleetmanagement software.

API's bestaan al lang

API’s zijn niet nieuw. Ze zijn er al sinds het prille begin van de computer. Als gebruiker hoeft je niet te weten hoe het werkt, als de uitkomst maar klopt. Neem bijvoorbeeld de integratie van Ctrack's ritten- en tijdregistratie in uw ERP systeem. U moet erop kunnen vertrouwen dat wat u 'aan de voorkant' ziet, correct is. Hoe wij dat precies regelen met onze API doet er niet toe.

API’s worden populairder en belangrijker

API's worden steeds vaker gebruikt voor het ontsluiten van business functionaliteiten. Vaak zonder dat we er erg in hebben. Wat logisch is omdat ze, als het goed is, systemen naadloos op elkaar laten aansluiten. Het maakt de integratie van allerlei systemen zoveel eenvoudiger, of het nu gaat om een bestelling plaatsen bij thuisbezorgd.nl of het exporteren van live gegevens uit onze systemen naar de backoffice software waar u mee werkt.

Hoe werkt een API-koppeling?

Eenvoudig gezegd werkt een API met een input en een output. Je vertelt aan de API wat er nodig is (input), vervolgens verwerkt de API deze informatie, waarna je krijgt waar je om gevraagd hebt (output).

Een API is als het ware een toegangspoort. Deze poort zorgt ervoor dat een applicatie van buitenaf specifieke vragen kan stellen aan het programma. Die vragen worden door de API vertaald, zodat de vraag-ontvangende applicatie deze kan verwerken. Vervolgens stuurt de API het antwoord terug naar de vragende applicatie.

Welke vragen ondersteund worden bepaal je zelf. Je kunt ook bepaalde vragen afschermen voor gebruikers door middel van authenticatie, wat het gebruiken van dezelfde API voor verschillende doeleinden mogelijk maakt.

Welke API's zijn er?

Er zijn verschillende soorten API’s, maar de twee meest bekende zijn:

1. Representational State Transfer (REST)

REST werkt op basis van HTTP. Met behulp van de standaard HTTP aanvraag methoden en de URL, die nodig is om de locatie van de data op een andere webserver te identificeren, kun je eenvoudig gegevens overbrengen tussen clients, servers en externe webapplicaties.

REST API’s zijn heel flexibel:

  • gegevens zijn bron of methode ongebonden, waardoor REST meerdere soorten oproepen kan verwerken en verschillende gegevensformaten terugsturen
  • in tegenstelling tot SOAP beperkt REST zich niet tot XML, het kan XML, JSON, CSV, HTML of een ander formaat terugsturen, afhankelijk van wat de klant wil
  • het is eenvoudig in gebruik, je kunt het snel opzetten en de documentatie is eenvoudig aan te maken en te onderhouden

2. Simple Object Access Protocol (SOAP)

Een op SOAP gebaseerde API verzendt gegevens in pakketten van XML bestanden en verplaatst ze met behulp van het HTTP protocol.

De voordelen van SOAP zijn:

  • het is transport layer onafhankelijk - REST vereist gebruik van HTTP(S), SOAP kan HTTP(S), SNMP, TCP, UDP, JMS en XMP verwerken
  • het werkt goed in een gedistribueerde bedrijfsomgeving - REST gaat uit van directe point-to-point-communicatie
  • werkt met Web Services Description Language (WDSL), waarmee de aanroepende partij direct kan valideren of de berichten die gestuurd worden kloppen

Snel en flexibel dankzij API’s

Een belangrijk voordeel van API’s is dat ze de functionaliteit van het ene systeem beschikbaar maken voor andere systemen. Via een API-koppeling wordt de applicatie die de data nodig heeft, gekoppeld aan de infrastructuur die deze levert.

Al verandert de infrastructuur achter die koppeling, als de specificatie van wat aangeleverd wordt hetzelfde blijft, dan heeft dat geen effect op de applicatie die van de API afhankelijk is.

Dat dit zo werkt, maakt je flexibel. Stel bijvoorbeeld dat de infrastructuur achter een API-koppeling op een eigen, fysieke server staat, dan kun je ongemerkt en probleemloos overstappen naar een cloud server van een hostingbedrijf.

API-gestuurde connectiviteit zou van systeem veranderen net zo makkelijk moeten maken als een stekker in een stopcontact steken. Iets wat iedere moderne IT-afdeling graag ziet, want niemand wil terug naar de onoverzichtelijke en tijdrovende point-to-point integraties (lees: steeds op maat gemaakte code nodig hebben om twee applicaties met elkaar te verbinden).

Share LinkedInFacebookTwitter