Spoiler alert: het kan heel moeilijk zijn....
Het bouwen van een datagedreven oplossing begint met het ontsluiten van data uit uw systemen. Voor veel cloudapplicaties vereist dit het gebruik van API’s. In deze blog leggen we de basisprincipes van API's uit, hoe API's ontsluiten werkt, en hun uitdagingen en delen we eenvoudig te gebruiken tools om je op weg te helpen en jouw datagedreven reis een vliegende start te geven.
In de kern is een API (Application Programming Interface) een set regels die communicatie tussen verschillende softwareapplicaties mogelijk maakt. Het fungeert als een brug waardoor applicaties gegevens kunnen uitwisselen. Een API werkt als een messenger; het neemt verzoeken aan, vertelt een systeem wat je wilt doen en retourneert vervolgens het antwoord van het systeem. Om het in actie te zien, kopieert en plak de volgende link in je browser:
https://official-joke-api.appspot.com/jokes/programming/random
Wanneer je op ‘Enter’ drukt, wordt er een verzoek verzonden en op basis van de API-regels ontvang je als reactie een willekeurige programmeergrap, zoals deze: [{“type”programming”, “setup” “Hoeveel weegt een hipster?”,”punchline:Een Instagram.”,”id”:146}] Het antwoord is in JSON-formaat (JavaScript Object Notation), dat doorgaans door de meeste API’s wordt gebruikt. Deze JSON kan worden geformatteerd om hem leesbaarder te maken (er zijn ook opmerkingen opgenomen om de JSON-syntaxis uit te leggen)
[ <-- start table
{ <-- start row
"type": "programming", <-- kolom: value
"setup": "How much does a hipster weigh?",
"punchline": "An Instagram.",
"id": 146
} <-- end row
] <-- end table
The same data In table format:
type | setup | punchline | id |
---|---|---|---|
general | How much does a hipster weigh? | An Instagram. | 146 |
Gefeliciteerd! Je hebt je eerste stappen gezet in de wereld van API’s. Hoewel dit voorbeeld eenvoudig was, is het de moeite waard om op te merken dat niet alle API’s zo eenvoudig zijn.
Verbinding maken met een API kan een krachtige manier zijn om toegang te krijgen tot gegevens, maar brengt ook een unieke reeks uitdagingen met zich mee. Hier zijn enkele veelvoorkomende uitdagingen:
Het tot stand brengen van veilige toegang tot API’s kan lastig zijn. Veel API’s vereisen authenticatie om ervoor te zorgen dat alleen geautoriseerde gebruikers of applicaties toegang hebben tot hun gegevens. Authenticatiemethoden, waaronder API-sleutels, OAuth-tokens of andere aangepaste authenticatiemechanismen, kunnen variëren. Het kan een uitdaging zijn om de specifieke authenticatiemethode te begrijpen en deze correct te implementeren. Onjuiste implementatie leidt tot de beruchte fout “401 Unauthorized”.
Om prestatieredenen beperken API’s vaak de gegevens die in elk antwoord worden geretourneerd. Daarom wordt een significant antwoord opgesplitst in kleinere pagina’s. Het bouwen van logica om door de pagina’s te bladeren totdat alle gegevens zijn opgehaald, kan lastig zijn. Een veel voorkomende fout, ‘404 Not Found’, kan optreden bij het openen van een niet-bestaande pagina.
API’s leggen vaak gebruikslimieten op binnen specifieke termijnen om zichzelf en de onderliggende systemen te beschermen. Als deze limieten worden overschreden, wordt de foutcode ‘429 Too Many Requests’ geactiveerd als beschermende maatregel.
API-documentatie fungeert als je bondgenoot tijdens het API-integratietraject. In de documentatie kan je de verzoeken, authenticatiemethoden, pagineringsrichtlijnen en eventuele beperkingen van de API ontdekken.
Hoewel deze uitdagingen misschien overweldigend lijken, zijn er tools beschikbaar om de verbindingsconfiguratie te vereenvoudigen en de meeste hindernissen te overwinnen.
Talloze tools kunnen hetzelfde trucje uitvoeren: gegevens verbinden en extraheren uit een API en deze op een veilige plek opslaan, vaak een database. We zullen de tools onder de aandacht brengen die vaak bij Rockfeather worden gebruikt, elk met zijn eigen unieke sterke punten en mogelijkheden; het is het vermelden waard dat er veel alternatieven bestaan.
Postman is een veelzijdige API-testtool die voornamelijk gericht is op het debuggen en maken van API’s. Het is gebruiksvriendelijk en heeft veel functies om je op weg te helpen met een verbinding met een API. Hoewel de sterke punten liggen in onderzoek en begrip, is het belangrijk om te weten dat Postman gegevens niet automatisch in een database kan opslaan
Airbyte is een open-sourceplatform voor data-integratie. Het biedt een interface zonder code. Met meer dan 350 vooraf gebouwde dataconnectoren biedt het een eenvoudig maar robuust startpunt dat naadloos meegroeit met je groeiende databehoefte.
Een opvallend kenmerk van Airbyte is de ondersteuning voor aangepaste connectoren. Airbyte bied een unieke low-code interface als je een aangepaste connector moet bouwen. Deze interface wordt geleverd met ingebouwde functies voor authenticatie en paginering – functies die Airbyte onderscheiden, aangezien veel andere tools dergelijke functionaliteiten niet hebben.
Azure Logic Apps is een cloudgebaseerde service voor het bouwen van geautomatiseerde workflows via een gebruiksvriendelijke visuele ontwerpinterface, waardoor deze zelfs toegankelijk is voor mensen zonder uitgebreide kennis van coderen. Met 450 vooraf gebouwde dataconnectoren en een uitgebreide toolkit voor aangepaste connectoren onderscheidt Azure Logic Apps zich als een flexibele en universele tool. De goede plek wordt waargenomen bij het omgaan met complexere API’s met lagere datavolumes.
Naast gegevensintegratie blinkt Azure Logic Apps uit in taakautomatisering voor het verzenden van e-mails, waarschuwingen, enquêtes, goedkeuringen en systeemintegraties om gegevens tussen systemen te verplaatsen. Bijvoorbeeld om klantinformatie te synchroniseren tussen een ERP- en CRM-systeem.
Azure Data Factory is een cloudgebaseerde dienst voor het aanleggen van pijpleidingen. Het heeft een Low-code-interface met vooraf gedefinieerde bouwstenen. Presteert het beste bij het verplaatsen van grote hoeveelheden gegevens uit een database of een van de andere 80+ connectoren. Voor aangepaste verbindingen is het echter minder ideaal.
Databricks is een cloudgebaseerd platform voor het verwerken van big data en machine learning-workloads. Het platform biedt de flexibiliteit om notebooks te maken en uit te voeren. Door Python-code te schrijven, kan je verbinding maken met elke beschikbare gegevensbron en bestaande Python-pakketten benutten. Het is echter belangrijk op te merken dat Databricks, hoewel krachtig, een diepere codeerkennis vereist om de uitgebreide platformmogelijkheden volledig te ontsluiten.
Kortom, deze tools bieden diverse benaderingen voor het extraheren van gegevens uit API’s, waarbij rekening wordt gehouden met verschillende voorkeuren, vaardigheidsniveaus, zakelijke vereisten en gegevensbronnen. Het is vermeldenswaard dat een combinatie van hulpmiddelen effectiever kan zijn voor jouw specifieke behoeften. Azure Logic Apps en Azure Data Factory zijn een veel voorkomende en krachtige combinatie die vaak wordt gebruikt.
Het starten van jouw datatraject en het verbinden met API’s is een uitdaging, vooral voor beginners. Ondanks de hindernissen zijn er hulpmiddelen om je te helpen. De sleutel is om die eerste stap te zetten.
Wil je meer weten over de tools die we gebruiken bij Rockfeather? Sluit aan bij de Data & Automation Line Up op 16 mei. Laten we het proces vereenvoudigen en samen de wereld van data verkennen.
ADO Den Haag is als voetbalclub bekend om haar groen/gele kleuren en de kenmerkende ooievaar. Wat veel mensen echter niet weten, is dat ADO Den Haag achter de schermen een heuse datatransformatie ondergaat. De club krijgt door middel van data nog meer inzicht in haar performance, zodat zij beter kan anticiperen en sturen. De eerste stap is het automatiseren van handmatige overzichten en het creëren van dashboards in Power BI.
In 2030 wil ProRail 30% meer capaciteit hebben voor het laten rijden van treinen. Dat vraagt nogal wat van de organisatie, en van de besturing. Datagedreven inzichten zijn dan ook onontbeerlijk. Dashboards in Microsoft Power BI geven realtime informatie over de prestaties, de trends en de gevolgen voor de planning van spoorwerkzaamheden. Dit verbetert de procesgerichte en datagedreven besluitvorming, zodat ProRail invulling kan geven aan de forse groeiambitie.