Wat is een API Gateway

Wat is een API Gateway? | Hoe het daadwerkelijk praktische resultaten kan opleveren

Ana NetoTechnical Leave a Comment

"De term API verscheen al lang voor het World Wide Web. Meer recent verscheen een nieuwe term: API gateway. Het klinkt in eerste instantie een beetje vreemd, aangezien het API-concept op zichzelf al een toegangspoort suggereert."

Definitie: Wat is een “API-gateway”?

Ik ben zo blij dat je dat vraagt! Je herinnert je misschien nog wel dat de term API al lang voor het World Wide Web verscheen en hopelijk weet je ook dat API staat voor “Application Programming Interface”.

Maar recentelijk is er een nieuwe term opgedoken: “API-gateway”. Dat klinkt in eerste instantie een beetje vreemd, aangezien het API-concept op zich al een gateway suggereert. Je vraagt je misschien af: “Wat is een API-gateway?”.

In een notendop, een API-gateway is een beheersinstrument dat tussen een client en een verzameling van backend-diensten zitelk met zijn eigen API.

Daarom fungeert de API-gateway als een één punt van binnenkomst voor een gedefinieerde groep van API's. De cliënt zal in dit geval normaliter een eindgebruikertoepassing zijn.

Vanuit een meer technisch oogpunt kun je een API-gateway ook zien als een gespecialiseerde reverse proxy die verschillende API's kan laten lijken alsof ze één enkele API zijn.

Een Microservices-visie

De term “API-gateway” wordt vaak gebruikt in de context van microservices. De granulariteit van API's die door microservices worden aangeboden, verschilt vaak van wat nodig is. Dit vloeit gewoon voort uit het microservices-concept: er zijn verschillende kleine stukjes die kleine verschillende dingen doen.

Microservices bieden meestal fijnkorrelige API's, wat betekent dat klanten met meerdere services moeten interageren. Bijvoorbeeld, een client die de details van een product nodig heeft, moet gegevens ophalen van verschillende services. Dat is waarom een API gateway zinvol is in de microservices wereld.

In deze context en binnen een microservices architectuur, nogmaals het doel van de API gateway is om een enkel toegangspunt te presenteren voor alle klantenmaar in dit geval, wordt dit gedaan vooral door de API voor de klanten te vereenvoudigen.

API-Gateway-Diagram

API gateway-architectuur

In dit diagram kunt u zien een API gateway zit aan de rand van systemen. Het fungeert als een beheersinstrument of middleware dat bemiddelt tussen een cliënt en een verzameling achterliggende diensten.

Deze backend diensten kunnen veranderen locatie, architectuur en implementatie (taal, kader, en andere) met minimale impact.

Een architectonische kijk

Je hoeft je niet te beperken tot een microservices API-gatewayweergave, hoewel dit wel de zogenaamde “klassieke weergave van een API-gateway” is.

U kunt ook kijk naar een API gateway op een meer architecturale manier en zie het als een ontwerppatroon. We kunnen zeggen dat het API gateway patroon tweeledig is, omdat het in feite overeenkomt met twee klassieke Bende van Vier ontwerp patronende adapter en de gevel.

Als een adapterHet maakt communicatie en samenwerking mogelijk, zelfs als de interfaces incompatibel zijn.

Als een gevel, Een API-gateway omvat de interne architectuur van de applicatie en biedt een API aan zijn klanten.

Zowel in de microservices-opvatting als in de architectuur-opvatting heeft de API-gateway altijd een orkestratierol en moeten er uiteindelijk voor zorgen dat de dingen soepel verlopen. Maar hoe kunt u van concepten en definities naar resultaten gaan?

Hoe een API Gateway praktische resultaten kan opleveren

Laten we ons verdiepen in meer praktische aspecten en kijken hoe we resultaten kunnen boeken.

Hiervoor zullen wij een specifieke API gateway gebruiken, onze eigen integratie gateway genaamd Connect Bridge. Beschouw Connect Bridge als een enkel toegangspunt dat SQL “spreekt”. Dit betekent dat ongeacht welke code wordt gebruikt (en u kunt elke programmeertaal kiezen), deze met deze API-gateway zal communiceren alsof het een database is, via de normale CRUD-statements: SELECT, INSERT, UPDATE, DELETE.

Connect Bridge heeft een “vertaler” (die we eigenlijk “connector” noemen) voor elke applicatie die we via de API willen bereiken. Deze connector vertaalt SQL-statements effectief naar API-aanroepen.

Door Connect Bridge te gebruiken, heb je minder code nodig (veel minder – de vermindering kan oplopen tot wel 90%, afhankelijk van het project), wordt de code gemakkelijker te begrijpen en te testen en verminder je het aantal bugs aanzienlijk.

Het grappige is dat wanneer je met Connect Bridge werkt, het feit dat het SQL gebruikt je doet denken dat je met de systeemdabase van het doel werkt, bijvoorbeeld de database van Microsoft Exchange. Maar maak je geen zorgen, dat is niet het geval en de integriteit van de database is veilig – het is een gateway en heeft altijd toegang tot het doelsysteem via de API ervan.

Connect Bridge - hoe het werkt infographic

Stap voor stap met Connect Bridge als API-gateway

  1. Code van uw nieuwe of oude applicatie
  2. CRUD-statements in standaard SQL die het doelsysteem benaderen alsof het een database is
  3. Connect Bridge vertaalt SQL in API-oproepen
  4. Voor elk doelsysteem worden deze vertalingen in feite afgehandeld door een connector

Welke programmeertalen kan ik gebruiken?

Een opmerking over welke programmeertaal je kunt gebruiken met Connect Bridge. Zoals ik al zei, kun je praktisch elke programmeertaal.

Je moet er alleen voor zorgen dat het ODBC, JDBCof Webdiensten. Zolang het dat doet, ben je goed om te gaan.

Stel dat u Java wilt gebruiken. Prima, dan kunt u een JDBC-verbindingsstring genereren en dan hebt u een Java API-gateway.

Wilt u Node.js gebruiken? Dat is ook prima, u kunt een Web Services Connection String genereren en u hebt uw Node.js API-gateway.

Ik zou nog wel even door kunnen gaan, maar ik denk dat u het nu wel begrepen hebt: u kunt uw gang gaan en uw favoriete programmeertaal gebruiken.

Connect Bridge Verbindingsdraden

Connect Bridge Verbindingsdraden

Connect Bridge API Gateway Prijzen

Connect Bridge is een betaalde tool, waarbij de prijzen variëren naargelang het aantal en het type connectoren dat wordt gebruikt en het aantal gebruikers. Om u een algemeen idee te geven van de kosten van deze API-gateway, kunnen we u vertellen dat de prijzen beginnen bij 150 € per maand. Voor meer details over de prijzen, ga naar hier. Wij raden u aan het zelf uit te proberen met de gratis proefversie en op die manier kunt u zich een idee vormen van wat de productiviteitswinst zal zijn.

In termen van ROI, moet u ook overwegen dat de gateway zorgt voor de uiteindelijke oplossing blijft werken, zelfs wanneer het doelsysteem wordt geüpgraded zonder ook maar iets te veranderen aan de code die je schreef. Alle problemen worden door de gateway afgehandeld.

Eerste stappen met de Connect Bridge

Om u door de eerste stappen met Connect Bridge te leiden, hebben we een voorbeeld doelsysteem nodig. We zullen daarvoor Microsoft SharePoint kiezen, maar het zouden vele andere kunnen zijn.

  1. Vraag een gratis proefversie.
  2. Installeer Connect Bridge.
  3. Voer de configuratie uit met Connect Bridge Management Studio:
    • De API gateway authenticatie bestaat uit twee stappen. Om verbinding te maken met SharePoint, moeten gebruikers verbinding maken met Connect Bridgeen dan Connect Bridge moet worden verbonden met SharePoint.
      • Voeg een account toe voor SharePoint (Accounts – Account toevoegen). Je hebt je SharePoint-inloggegevens nodig.
      • Ofwel staat u toe dat de standaard Administrator gebruiker die account gebruikt, ofwel maakt u een nieuwe gebruiker aan en staat u toe dat die gebruiker de SharePoint account gebruikt.
    • o Klik op de optie New Query en vervolgens op de Connection Browser. Zoek de SharePoint Connector en open tot u bij de DefaultConnection komt. Klik er met de rechtermuisknop op en selecteer Get Connection string. Kopieer vervolgens de juiste connectiestring. U zult deze nodig hebben voor uw code.

Uitproberen van Connect Bridge

Gebruik de optie Nieuwe query om een query uit te proberen waarmee u de gegevens uit SharePoint kunt halen die u nodig hebt. We zullen hier een voorbeeld query gebruiken, maar toch, de query moet aangepast worden aan wat u van SharePoint wilt hebben.

Nadat u de optie Nieuwe query hebt geselecteerd, opent u de Verbindingsbrowser.

  1. Zoek de connector SharePoint en open deze totdat u de optie Tables ziet. U zult zien dat het schema een “tabel” bevat met de naam Site_Pages.
  2. We kunnen de query gebruiken SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
    Hiermee worden de eerste 10 vermeldingen uit de lijst Site Pages van de SharePoint geselecteerd.

Merk op dat hoewel het lijkt alsof we direct gebruik maken van een database, dat helemaal niet het geval is. Connect Bridge gebruikt alleen de API en presenteert de gegevens alsof ze uit een database komen. Voel je vrij om hier wat te verkennen. Je kunt ook de beschikbare stored procedures verkennen. Als je je query hebt, kopieer hem dan, want je zult hem nodig hebben in je code.

Het is ook belangrijk om te weten dat u op dit moment alleen nog maar aan het uitproberen bent. Je kunt de Connect Bridge Management Studio zien als je speeltuin. Als je tevreden bent met de query die je hebt gekregen, gebruik je die gewoon in je code, alsof je toegang hebt tot een database. Het is heel eenvoudig.

Voor meer gedetailleerde informatie kunt u de API gateway documentatie raadplegen die u zult ontvangen wanneer u uw gratis proefversie. U kunt ook de API gateway logs controleren, wat in Connect Bridge gemakkelijk gedaan kan worden met Connect Bridge Beheerstudio via de optie Administratiecentrum - Systeem - Logboeken op de navigatiebalk.

Conclusie en lessen

Het API gateway concept klinkt in eerste instantie misschien te theoretisch, maar het is niet moeilijk om de voordelen te visualiseren als je je eenmaal richt op een specifieke tool als Connect Bridge.

  • De toegang is gecentraliseerd op de API-gateway, onafhankelijk van het aantal doelsystemen
  • Doordat u geen nieuwe API of programmeertaal hoeft te leren, kunnen fouten worden beperkt en de productiviteit worden verbeterd
  • Het onderhoud is ook gecentraliseerd en geïsoleerd - het is allemaal aan de API-gateway kant en niet op uw code, met voorwaartse compatibiliteit gegarandeerd voor elk doelsysteem door Connect Bridge zelf (en eigenlijk ook achterwaartse compatibiliteit mocht je het ooit nodig hebben)

Als u opmerkingen of suggesties heeft, schrijf ze dan in het formulier hieronder en we zullen zo snel mogelijk reageren.


Over de auteur

Ana Neto

Door Ana Neto, technisch adviseur op Connecting Software.

"Ik ben software engineer sinds 1997, met een recentere liefde voor schrijven en spreken in het openbaar. Heb je vragen of opmerkingen over dit artikel? Ik zou graag je feedback horen, laat hieronder een reactie achter!"

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.