In contact Box cloud

Wat is een API?

Een API is een afkorting die staat voor Application Programming Interface. Een API maakt het mogelijk om andere systemen en software een ‘ingang’ tot het systeem te bieden. Met deze ingang kunnen verschillende systemen met elkaar communiceren en gegevens uitwisselen.

Om een api simpel uit te leggen, maken we vaak de vergelijking met een stekker en een stekkerdoos. Een stekkerdoos kan je zien als het systeem of de software. De stekker kan je in dit geval zien als de API. Als de stekker in de stekkerdoos past, dan kunnen ze met elkaar communiceren. Wereldwijd zijn er echter verschillende soorten stekkerdozen, waardoor deze niet altijd in elkaar passen. De documentatie van de API vertelt op welke stekkerdozen de stekker daadwerkelijk past.

powerplug.gif

Hoe werkt een API koppeling?
Als twee systemen met elkaar moeten communiceren, gebruikt het systeem een API om het andere systeem aan te spreken. Via de API worden dan de benodigde gegevens uitgewisseld. Een API is volledig flexibel te ontwikkelen. Dat betekent dat er praktisch geen limieten zitten aan hoe open je de deur wilt zetten. Een voorbeeld van een API is bijvoorbeeld de mogelijkheid om in Windows iets op het clipboard te plaatsen vanuit je eigen geschreven applicaties.

Webservice remote API

Als twee systemen via het internet het met elkaar moeten ‘spreken’, gebeurt dit vaak via een webservice. Webservices zijn API’s op afstand. Meestal kan deze API worden aangevraagd via een specifieke URL die dan een XML of JSON formaat terug geeft. Een voorbeeld van een webservice is http://xml.buienradar.nl/. Via de link vind je een XML beschrijving van het weer in Nederland. Je kunt op basis hiervan dus een applicatie ontwikkelen die het weer uitleest via deze API en het grafisch weergeeft in je eigen applicatie.

Verschil tussen SOAP en REST API’s

Standaarden in webservices zijn er in alle soorten en maten, maar tegenwoordig zijn de meest gebruikte soorten, SOAP en REST koppelingen.

SOAP API

SOAP is een koppeling, waarin je strak vastlegt hoe je koppeling eruit ziet. Dat geeft structuur en controle. Nadeel hiervan is dat de koppeling zwaarder is dan REST koppeling. Je stelt een soort contract op over hoe de koppeling gebruikt moet worden. Als je een SOAP koppeling wilt uitlezen dan kan dat technisch gezien best een uitdaging zijn. Gelukkig zijn er wel veel goede hulptools.

REST API

Een REST koppeling is een stuk lichter, omdat je daar geen “contract” voor gebruikt. Nadeel van een REST koppeling is dat sommige complexe koppelingen daardoor ingewikkelder zijn om te ontwikkelen dan bij SOAP. Er is immers minder structuur.