Hinweis:

APIs von Oracle API Gateway zu Oracle Cloud Infrastructure API Gateway migrieren

Einführung

Oracle API Gateway ist eine weit verbreitete On-Premises-Plattform, die von Unternehmen verwendet wird, die in der Vergangenheit ihre Legacy-Systeme über APIs für die Integration mit Web-, Mobil- oder sogar Clientserveranwendungen bereitstellen wollten.

In diesem Tutorial erläutern wir eine Möglichkeit, die in Oracle API Gateway implementierten APIs in eine modernere, skalierbare Technologie innerhalb von Cloud-nativen Standards zu migrieren, die in hybriden Umgebungen (Cloud oder On Premise) verwendet werden kann. Es wird vorgeschlagen, diese Migration zum Oracle Cloud Infrastructure API Gateway (OCI API Gateway) zu beschleunigen.

Mit dem OCI-API-Gateway-Service können Sie APIs mit zugänglichen privaten Endpunkten in Ihrem Netzwerk veröffentlichen, die Sie mit öffentlichen IP-Adressen bereitstellen können, wenn Internettraffic akzeptiert werden soll. Endpunkte unterstützen API-Validierung, Anforderungs- und Antworttransformation, CORS, Authentifizierung und Autorisierung sowie Anforderungsbeschränkung.

Mit dem OCI-API-Gateway-Service erstellen Sie API-Gateways in einem regionalen Subnetz, um API-Clienttraffic zu verarbeiten und an Backend-Services weiterzuleiten. Sie können ein einzelnes API-Gateway verwenden, um mehrere Backend-Services (wie OCI Load Balancer, OCI Compute-Instanzen und OCI Functions) mit einem einzigen konsolidierten API-Endpunkt zu verknüpfen. Sie können auf den OCI-API-Gateway-Service zugreifen, um API-Gateways und API-Deployments mit der OCI-Konsole und der REST-API zu definieren.

Der OCI API Gateway-Service ist in Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) integriert, was eine einfache Authentifizierung mit nativer OCI-Identitätsfunktionalität ermöglicht.

In diesem Tutorial können Sie Artefakte für die Migration zum OCI-API-Gateway vorbereiten. Es sollte in Verbindung mit diesem anderen Tutorial verwendet werden: Automatisierung implementieren, um eine OpenAPI-Spezifikation in OCI API Gateway bereitzustellen.

Hinweis:

Strategie für die Migration von Oracle API Gateway zu OCI API Gateway

Diese Strategie lässt eine direkte Migration zum OCI-API-Gateway nicht zu, da es sich um etwas andere Technologien handelt. Während Oracle API Gateway über Mechanismen verfügt, um Zuordnungen zwischen Pfaden und ihren Policys zu erstellen, um komplexe Behandlungsregeln für Autorisierung/Authentifizierung, HEADERs, Aufruforchestrierungen mit Geschäftsregeln und anderen Komplexitäten einer API zu generieren. Das OCI-API-Gateway funktioniert nur als API-Gateway, sodass einige HEADER-Prozesse verarbeitet werden können, wobei einige Timeout- und Throttling-Prinzipien festgelegt werden, jedoch ohne größere Komplexität. Das Tool zielt darauf ab, einfacher zu sein und begrenzt seine Funktionalitäten genau, weil es Teil einer Reihe von Dienstleistungen ist, die die anderen Funktionen ergänzen, die ausgelassen wurden.

Ziele

Aufgabe 1: Oracle API Gateway-APIs exportieren

Oracle API Gateway kann alle Definitionen in einer XML-Datei exportieren. Wir werden dieses Artefakt verwenden, um den Migrationsprozess zu beschleunigen. Weitere Informationen zum Exportieren von APIs-Definitionen in Oracle API Gateway finden Sie unter API-Gateway-Konfiguration exportieren.

Sie erhalten eine XML-Datei, die alle API-Definitionen enthält.

img_1.png

img.png

img_2.png

Aufgabe 2: Oracle API Gateway-XML in eine Swagger-Spezifikation konvertieren

Wir verwenden die XML-Datei von Oracle API Gateway, um sie in eine YAML Swagger-Datei zu konvertieren.

  1. Ändern Sie den Variablendateinamen in die exportierte XML-Oracle API Gateway-Datei, und führen Sie die folgende Python-Datei aus: generate_swagger.py.

    img_3.png

    img_4.png

    img_5.png

    Sie erhalten Dateien mit der Erweiterung YAML. Jede Datei ist eine Swagger-Definition für eine in Oracle API Gateway definierte API.

    Einige Zeilen werden in der Swagger-Definition kommentiert. Diese Zeilen stellen die Oracle API Gateway-Orchestrierung in jeder API dar. Dadurch können Sie die Orchestrierung in Oracle Integration planen und erstellen.

  2. Ändern Sie die Python-Datei map_details.py so, dass sie die XML-Definitionsdatei von Oracle API Gateway und einen Dateinamen für die Ausgabezuordnungsdefinitionen enthält.

    img_6.png

    Nachdem Sie diesen Python-Code ausgeführt haben, erhalten Sie detailliertere Definitionen für die einzelnen in Swagger genannten Orchestrierungsschritte.

    img_7.png

Aufgabe 3: Swagger in OCI-API-Gateway bereitstellen

Mit der Swagger-Datei können wir über einen Automatisierungsprozess in OCI API Gateway importieren. Alle vom Python-Code generierten YAML-Dateien können mit diesem Projekt im OCI-API-Gateway bereitgestellt werden. Weitere Informationen finden Sie unter Automatisierung zum Bereitstellen einer OpenAPI-Spezifikation in OCI API Gateway implementieren.

Dieses Projekt importiert die hier generierte Swagger-Spezifikation und stellt die zu verwendenden APIs bereit. Im Rahmen dieser Dokumentation müssen Sie die Backends manuell anpassen.

Aufgabe 4: Orchestrierung in Oracle Integration implementieren

In dieser Aufgabe müssen wir Fall für Fall analysieren und die Orchestrierung, Geschäftsregeln und Validierungen implementieren.

Zunächst müssen wir jeden Schritt der APIs in Oracle API Gateway analysieren. Einige Schritte sind Geschäftsregeln und Orchestrierungen, die Teil einer Implementierung in Oracle Integration sein sollten. Diese Implementierung kann im OCI-API-Gateway bereitgestellt werden und folgt somit denselben Prozessen, die in Oracle API Gateway ausgeführt werden.

Es gibt jedoch mehrere Schritte, die in Oracle Integration nicht implementiert werden müssten. Einige davon sind:

Authentifizierungs- und Autorisierungsprozesse können und sollten in der OCI API Gateway-Schicht implementiert werden. Es gibt verschiedene Möglichkeiten, dies unter anderem über JWT, OAuth2 zu implementieren. Informationen dazu, wie Sie Anpassungen zulassen, finden Sie unter Token an Autorisiererfunktionen übergeben, um Authentifizierung und Autorisierung zu API-Deployments hinzuzufügen.

Die Verarbeitung von HEADER (sowie QUERY-Parameter und BODY) kann im OCI API Gateway selbst erfolgen. Die Verarbeitung kann sowohl in REQUEST als auch in RESPONSE erfolgen.

Logs können auch im OCI-API-Gateway verarbeitet werden. Es ist jedoch immer gut, den gesamten Circuit protokolliert zu haben. Wenn also Implementierungen in Oracle Integration vorhanden sind, versuchen Sie auch, die Logs dort zu implementieren.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.