Was ist ein API-Gateway?

Was ist ein API-Gateway? | Wie es tatsächlich praktische Ergebnisse liefern kann

Ana NetoTechnical Leave a Comment

"Der Begriff API tauchte lange vor dem World Wide Web auf. In jüngerer Zeit erschien ein neuer Begriff: API-Gateway. Das klingt zunächst etwas seltsam, da das API-Konzept an sich schon ein Gateway suggeriert."

Definition: Was ist ein "API-Gateway"?

Ich bin so froh, dass Sie gefragt haben! Sie erinnern sich vielleicht daran, dass der Begriff API lange vor dem World Wide Web auftauchte und Sie wissen hoffentlich, dass API für "Application Programming Interface" steht.

Aber in letzter Zeit ist ein neuer Begriff aufgetaucht: "API-Gateway". Er klingt zunächst etwas seltsam, da der API-Begriff an sich bereits ein Gateway nahelegt. Sie fragen sich vielleicht: "Was ist ein API-Gateway?".

Kurz und bündig, ein API-Gateway ist ein Verwaltungswerkzeug, das zwischen einem Client und einer Sammlung von Backend-Diensten sitzt, jede mit ihrer eigenen API.

Daher fungiert das API-Gateway als einzelner Einstiegspunkt für eine definierte Gruppe von APIs. Der Client wird in diesem Fall normalerweise eine Endbenutzeranwendung sein.

Aus technischer Sicht können Sie ein API-Gateway auch als einen spezialisierten Reverse-Proxy betrachten, der verschiedene APIs so erscheinen lassen kann, als ob sie eine einzige API wären.

Eine Microservices-Sicht

Der Begriff "API-Gateway" wird häufig im Kontext von Microservices verwendet. Die Granularität der von Microservices bereitgestellten APIs unterscheidet sich oft von dem, was benötigt wird. Das ergibt sich einfach aus dem Konzept der Microservices: Es gibt mehrere kleine Teile, die kleine unterschiedliche Dinge tun.

Microservices bieten typischerweise feinkörnige APIs, was bedeutet, dass Clients mit mehreren Diensten interagieren müssen. Ein Client, der z. B. auf einfache Weise die Details für ein Produkt benötigt, muss möglicherweise Daten von zahlreichen Diensten abrufen. Deshalb ist ein API-Gateway in der Microservices-Welt sinnvoll.

In diesem Zusammenhang und innerhalb einer Microservices-Architektur, wiederum das Ziel des API-Gateways ist es, einen einzigen Einstiegspunkt für alle Clients zu bieten, aber in diesem Fall wird dies getan hauptsächlich durch Vereinfachung der API, die den Clients präsentiert wird.

API-Gateway-Diagramm

API-Gateway-Architektur

In diesem Diagramm können Sie sehen ein API-Gateway sitzt am Rande von Systemen. Es fungiert als Management-Tool oder Middleware, die vermittelt zwischen einem Client und einer Sammlung von Backend-Diensten.

Diese Backend-Dienste können sich ändern Standort, Architektur und Implementierung (Sprache, Framework und andere) mit minimalen Auswirkungen.

Eine architektonische Ansicht

Sie müssen sich nicht auf eine Microservices-API-Gateway-Sicht beschränken, auch wenn man dies als "klassische Sicht eines API-Gateways" bezeichnen könnte.

Sie können auch ein API-Gateway eher architektonisch zu betrachten und als Entwurfsmuster zu sehen. Wir können sagen, das API-Gateway-Muster ist zweifach, denn es entspricht eigentlich zwei klassische Gang-of-Four-Entwurfsmuster: der Adapter und die Fassade.

Wie ein Adapterermöglicht es die Kommunikation und Zusammenarbeit, auch wenn die Schnittstellen nicht kompatibel sind.

Wie ein FassadeEin API-Gateway kapselt die interne Architektur der Anwendung und stellt den Clients eine API zur Verfügung.

Sowohl in der Microservices-Sicht als auch in der Architektur-Sicht hat das API-Gateway immer eine Orchestrierungsrolle und sollte am Ende dafür sorgen, dass die Dinge reibungslos funktionieren. Aber wie kann man von Konzepten und Definitionen zu Ergebnissen kommen?

Wie ein API-Gateway praktische Ergebnisse liefern kann

Lassen Sie uns in mehr praktische Aspekte eintauchen und sehen, wie wir Ergebnisse erzielen können.

Hierfür wird ein spezielles API-Gateway verwendet, unser eigenes Integrationsgateway namens Connect Bridge. Stellen Sie sich Connect Bridge als einen Single-Entry-Point vor, der SQL "spricht". Das bedeutet, dass welcher Code auch immer verwendet wird (und Sie können jede beliebige Programmiersprache verwenden), er wird mit diesem API-Gateway kommunizieren, als wäre es eine Datenbank, und zwar über die normalen CRUD-Anweisungen: SELECT, INSERT, UPDATE, DELETE.

Connect Bridge hat einen "Übersetzer" (den wir eigentlich "Konnektor" nennen) für jede Anwendung, die wir über die API erreichen wollen. Dieser Konnektor übersetzt effektiv SQL-Anweisungen in API-Aufrufe.

Durch die Verwendung von Connect Bridge benötigen Sie weniger Code (viel weniger - die Reduzierung kann je nach Projekt bis zu 90% betragen), der Code ist leichter zu verstehen und zu testen, und Sie reduzieren die Anzahl der Bugs erheblich.

Das Lustige daran ist, dass Sie bei der Arbeit mit Connect Bridge aufgrund der Tatsache, dass es SQL verwendet, denken werden, dass Sie mit der Systemdatenbank des Ziels arbeiten, z. B. mit der Datenbank von Microsoft Exchange. Aber keine Sorge, das tun Sie nicht, und die Integrität der Datenbank ist sicher - sie ist ein Gateway und greift immer über ihre API auf das Zielsystem zu.

Connect Bridge - wie es funktioniert infographisch

Schritt für Schritt mit Connect Bridge als API-Gateway

  1. Code Ihrer neuen oder bestehenden Anwendung
  2. CRUD-Anweisungen in Standard-SQL, die auf das Zielsystem zugreifen, als ob es eine Datenbank wäre
  3. Connect Bridge übersetzt SQL in API-Aufrufe
  4. Für jedes Zielsystem werden diese Übersetzungen tatsächlich von einem Konnektor übernommen

Welche Programmiersprachen kann ich verwenden?

Ein Hinweis darauf, welche Programmiersprache Sie mit Connect Bridge verwenden können. Wie ich bereits erwähnt habe, können Sie praktisch eine beliebige Programmiersprache.

Sie müssen nur sicherstellen, dass es Folgendes unterstützt ODBC, JDBCoder Webdienste. Solange das der Fall ist, sind Sie startklar.

Sagen wir zum Beispiel, Sie wollen Java verwenden. Gut, dann können Sie einen JDBC Connection String generieren, und schon haben Sie ein Java-API-Gateway.

Wollen Sie Node.js verwenden? Das ist auch gut, Sie können einen Web Services Connection String generieren und Sie haben Ihr Node.js API-Gateway.

Ich könnte noch mehr sagen, aber ich denke, Sie haben es inzwischen verstanden: Sie können Ihre bevorzugte Programmiersprache verwenden.

Connect Bridge Anschlussschnüre

Connect Bridge Anschlussschnüre

Connect Bridge API-Gateway Preisgestaltung

Connect Bridge ist ein kostenpflichtiges Tool, wobei die Preise je nach Anzahl und Art der verwendeten Konnektoren und der Anzahl der Benutzer variieren. Damit Sie eine allgemeine Vorstellung von den Kosten für dieses API-Gateway haben, können wir Ihnen sagen, dass die Preise bei 150 €/Monat beginnen. Für weitere Details zur Preisgestaltung gehen Sie zu hier. Wir empfehlen, es selbst auszuprobieren mit dem kostenloser Test und so können Sie eine Vorstellung davon bekommen, wie hoch der Produktivitätsgewinn sein wird.

In Bezug auf den ROI sollten Sie auch berücksichtigen, dass das Gateway Folgendes gewährleistet die endgültige Lösung funktioniert auch dann noch, wenn das Zielsystem aufgerüstet wird ohne jegliche Änderung des von Ihnen geschriebenen Codes. Die ganze Mühe wird vom Gateway übernommen.

Erste Schritte mit dem Connect Bridge

Um Ihnen die ersten Schritte mit Connect Bridge zu zeigen, benötigen wir ein Beispiel-Zielsystem. Wir werden dafür Microsoft SharePoint wählen, aber es könnten auch viele andere sein.

  1. Anfordern einer kostenloser Test.
  2. Installieren Sie Connect Bridge.
  3. Führen Sie die Konfiguration mit dem Connect Bridge Management Studio durch:
    • Die Authentifizierung am API-Gateway erfolgt in zwei Schritten. Um eine Verbindung zum SharePoint herzustellen, müssen sich Benutzer mit Connect Bridge, und dann Connect Bridge muss an SharePoint angeschlossen werden.
      • Fügen Sie ein Konto für SharePoint hinzu (Konten - Konto hinzufügen). Sie benötigen Ihre SharePoint-Anmeldedaten.
      • Erlauben Sie entweder dem Standard-Administrator-Benutzer, dieses Konto zu verwenden, oder erstellen Sie einen neuen Benutzer und erlauben Sie diesem Benutzer, das SharePoint-Konto zu verwenden.
    • o Klicken Sie auf die Option Neue Abfrage und dann auf den Verbindungsbrowser. Suchen Sie den SharePoint Connector und öffnen Sie ihn, bis Sie zur DefaultConnection gelangen. Klicken Sie mit der rechten Maustaste darauf und wählen Sie "Get Connection string". Kopieren Sie dann die entsprechende Verbindungszeichenfolge. Sie benötigen sie für Ihren Code.

Ausprobieren Connect Bridge

Verwenden Sie die Option "Neue Abfrage", um eine Abfrage zu testen, die die benötigten Daten von SharePoint abruft. Wir gehen hier mit einer Beispielabfrage vor, dennoch sollte die Abfrage an das angepasst werden, was Sie von SharePoint wollen.

Wenn Sie die Option Neue Abfrage ausgewählt haben, öffnen Sie den Verbindungsbrowser.

  1. Suchen Sie den SharePoint Connector und öffnen Sie ihn, bis Sie die Option "Tabellen" sehen. Sie können sehen, dass das Schema eine "Tabelle" namens Site_Pages enthält.
  2. Wir können die Abfrage verwenden SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
    Damit werden die ersten 10 Einträge aus der Liste der Seiten des SharePoint ausgewählt.

Bitte beachten Sie, dass, obwohl es so aussieht, als würden wir eine Datenbank direkt verwenden, dies überhaupt nicht der Fall ist. Connect Bridge greift nur auf die API zu und stellt die Daten dann so dar, als kämen sie aus einer Datenbank. Sie können hier gerne ein wenig experimentieren. Sie können auch die verfügbaren Stored Procedures erkunden. Sobald Sie Ihre Abfrage haben, kopieren Sie sie, denn Sie werden sie in Ihrem Code benötigen.

Es ist auch wichtig zu beachten, dass Sie zu diesem Zeitpunkt nur Dinge ausprobieren. Sie können sich das Connect Bridge Management Studio als Ihre Spielwiese vorstellen. Sobald Sie mit der erhaltenen Abfrage zufrieden sind, verwenden Sie sie einfach in Ihrem Code, als ob Sie auf eine Datenbank zugreifen würden. Es ist ganz einfach.

Ausführlichere Informationen finden Sie in der API-Gateway-Dokumentation, die Sie bei Erhalt Ihres kostenloser Test. Sie können auch die Protokolle des API-Gateways überprüfen, was bei Connect Bridge einfach mit Connect Bridge Management Studio über die Option Administrationszentrum - System - Protokolle in der Navigationsleiste.

Fazit und Schlussfolgerungen

Das Konzept des API-Gateways mag auf den ersten Blick zu theoretisch klingen, es ist jedoch nicht schwer, sich die Vorteile vorzustellen, wenn man sich auf ein spezifisches Tool wie Connect Bridge konzentriert.

  • Der Zugriff erfolgt zentral auf dem API-Gateway, unabhängig von der Anzahl der Zielsysteme
  • Da keine neue API oder Programmiersprache erlernt werden muss, können Fehler reduziert und die Produktivität gesteigert werden
  • Die Wartung ist ebenfalls zentralisiert und isoliert - sie findet auf der Seite des API-Gateways statt und nicht in Ihrem Code, wobei die Vorwärtskompatibilität für jedes Zielsystem von Connect Bridge selbst garantiert wird (und eigentlich auch die Abwärtskompatibilität, falls Sie sie jemals benötigen)

Wenn Sie Kommentare oder Vorschläge haben, schreiben Sie sie in das untenstehende Formular und wir werden Ihnen so schnell wie möglich antworten.

Ana Neto - Technische Beraterin, Autorin

Ana Neto
technical Berater bei Connecting Software

Autor:

Ich bin seit 1997 als Software-Ingenieur tätig, mit einer neueren Liebe zum Schreiben und öffentlichen Reden.  Haben Sie Fragen oder Anmerkungen zu diesem Beitrag oder zu Connect Bridge? Ich würde mich über Ihr Feedback freuen!

 ana@connecting-software.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

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