Tijdens de minor Digital Marketing moesten we een onderwerp met betrekking tot ‘de basics of the web’ uitdiepen en hier een artikel over schrijven. Ik had ervoor gekozen om een artikel te schrijven onderwerp ‘API’. Het begrip API staat voor voor Application Programming Interface. Een API wordt gemaakt om een computerprogramma te laten communiceren met een ander computerprogramma.
Veel grote bedrijven als Google, Facebook & Twitter bieden een API aan om software ontwikkelaars te laten communiceren met hun systemen. Een ontwikkelaar kan hiermee bijvoorbeeld data opvragen of juist een bericht plaatsen op het medium.
Om data te versturen, zijn er een aantal standaarden ontwikkeld om data uit te wisselen. De bekendste hierin zijn:
- CSV (Comma Seperated Values): Dit is een eenvoudig en oud databaseformaat. Het bestaat uit tekstgegevens. Elke item staat op een nieuwe regel en waardes worden gescheiden met komma’s.Een voorbeeld is:
jaar,merk,type,omschrijving,prijs
1997,Ford,E350,”airco, abs, moon”,3000.00
1999,Chevy,”Type “”Extended Edition”””,,4900.00
1996,Jeep,” Grand Cherokee “,”IS VERKOCHT!
air, moon roof, loaded”,4799.00
- XML (Extensible Markup Language): Dit is een gegevensformaat om complexe gestructureerde gegevens weer te geven in platte tekst.Een voorbeeld is:
<?xml version=“1.0” encoding=“utf-8”?>
<playlist name=“mylist” xml:lang=“en”>
<song>
<title>Little Fluffy Clouds</title>
<artist>the Orb</artist>
</song>
<song>
<title>Goodbye mother Earth</title>
<artist>Underworld</artist>
</song>
</playlist>
- JSON (Javascript Object Notation): Deze notatie is oorspronkelijk ontstaan uit de programmeertaal Javascript. Inmiddels is er een grote diversiteit van programmeertalen die kan omgaan met JSON-data. Het is een gegevensformaat om data-objecten om te zetten in leesbare tekst. Het bestaat uit attributen met bijbehorende waarde. Daarbij zijn er verschillende constructies te onderscheiden.
- getallen: 3.15
- strings: “dit is een string”
- de letterlijke waardes true, false en null
- array-initialisers: [ waarde , … ]
- object-initialisers: { string : waarde , … }
Een voorbeeld is:
[ {
“Naam”: “JSON”,
“Type”: “Gegevensuitwisselingsformaat”,
“isProgrammeertaal”: false,
“Zie ook”: [ “XML”, “ASN.1” ]
},
{
“Naam”: “JavaScript”,
“Type”: “Programmeertaal”,
“isProgrammeertaal”: true,
“Jaar”: 1995
}
]
Er zijn diverse protocollen ontwikkeld voor API’s die via het World Wide Web beschikbaar zijn. Enkele voorbeelden:
- SOAP (Simple Object Access Protocol): Dit is een redelijk streng protocol (het verwacht een specifieke structuur) waardoor het soms moeilijk te implementeren is. Het wordt bijvoorbeeld veel gebruikt bij banken.
- XML/RPC (Remote Procedure Call): Dit is een protocol dat gebruik maakt van XML om webservices aan te spreken.
- RSS (Really Simple Syndication): Dit is een protocol voor het aanbieden van een webfeed. Een webfeed is een alternatieve, versimpelde manier om online inhoud te delen. Het wordt bijvoorbeeld veel gebruikt op nieuws websites. Deze sites delen dan bijvoorbeeld een titel van een nieuwsbericht en de bijbehorende URL, zodat gebruikers die zich hebben geabonneerd op de RSS-feed de nieuwste berichten binnen krijgen middels een RSS-lezer.
- REST (Representational State Transfer): Dit is een protocol welke eigenlijk een manier is om een API op te zetten waarbij performance, betrouwbaarheid en schaalbaarheid belangrijk is.
De eerste 3 protocollen gebruiken XML als gegevensformaat. Tegenwoordig zie je dat bedrijven het vaakst REST gebruiken als zij een API aanbieden. Hierbij gebruiken ze dan vaak JSON als gegevensformaat. Een reden hiervoor is dat JSON eenvoudiger is te interpreteren dan XML en daarnaast een stuk compacter is.