"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 "API gateway"?
Ik ben zo blij dat je het vraagt! Je herinnert je misschien dat de term API al lang voor het World Wide Web bestond en je weet hopelijk dat API staat voor "Application Programming Interface".
Maar meer recent verscheen een nieuwe term: "API gateway". Het klinkt in eerste instantie een beetje vreemd, omdat het API-concept op zichzelf al een gateway suggereert. Het zou je kunnen doen afvragen "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 een enkele API zijn.
Een Microservices-visie
De term "API gateway" wordt vaak gebruikt in een microservices-context. 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-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 gateway uitzicht, hoewel het is wat je zou kunnen noemen de "klassieke weergave van een API gateway".
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 gevelEen API-gateway kapselt de interne architectuur van een toepassing in en biedt een API aan zijn cliënten.
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 in meer praktische aspecten duiken en zien hoe we resultaten kunnen boeken.
Hiervoor zullen wij een specifieke API gateway gebruiken, onze eigen integratie gateway genaamd Connect Bridge. Denk aan Connect Bridge als een single-entry point dat SQL "praat". Dit betekent dat welke code ook gebruikt wordt (en je kunt voor elke programmeertaal gaan) het zal communiceren met deze API gateway 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 toepassing die we via de API willen bereiken. Deze connector vertaalt in feite SQL-statements in API-aanroepen.
Door Connect Bridge te gebruiken, zult u minder code nodig hebben (veel minder - de vermindering kan oplopen tot 90%, afhankelijk van het project), de code zal gemakkelijker te begrijpen en te testen zijn, en u zult het aantal bugs aanzienlijk verminderen.
Het grappige is dat wanneer je werkt met Connect Bridge, het feit dat het SQL gebruikt je zal doen denken dat je werkt met de systeemdatabase van het doel, bijvoorbeeld de database van Microsoft Exchange. Maar maak je geen zorgen, dat is niet zo, en de database integriteit is veilig - het is een gateway en heeft altijd toegang tot het doelsysteem via zijn API.
Stap voor stap met Connect Bridge als API-gateway
- Code van uw nieuwe of oude applicatie
- CRUD-statements in standaard SQL die het doelsysteem benaderen alsof het een database is
- Connect Bridge vertaalt SQL in API-oproepen
- 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.
Bijvoorbeeld, laten we zeggen dat je Java wilt gebruiken. Prima, dan kun je een JDBC Connection String genereren, en daar heb je een Java API gateway.
Wil je Node.js gebruiken? Dat is ook goed, je kunt een Web Services Connection String genereren en je hebt je 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 API Gateway Prijzen
Connect Bridge is een betaalde tool, met prijzen die variëren in termen van het aantal en het type van de gebruikte connectoren en het aantal gebruikers. Voor u om een algemeen idee van deze API gateway kosten te hebben, kunnen we u vertellen de prijzen beginnen bij 150€/maand. Voor meer details over de prijzen ga 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.
- Vraag een gratis proefversie.
- Installeer Connect Bridge.
- 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). U heeft uw 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.
- 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.
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.
- Zoek de SharePoint Connector en open tot u de optie Tables ziet. U zult kunnen zien dat het schema een "tabel" bevat met de naam Site_Pages.
- We kunnen de query gebruiken SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
Dit selecteert de eerste 10 items uit de SharePoint's Site Pages lijst.
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.