Remarques :

Migration d'API d'Oracle API Gateway vers Oracle Cloud Infrastructure API Gateway

Introduction

Oracle API Gateway est une plate-forme on-premise répandue utilisée par les entreprises qui, par le passé, voulaient présenter leurs systèmes hérités via des API pour l'intégration à des applications Web, mobiles ou même client-serveur.

Dans ce tutoriel, nous vous expliquerons comment migrer les API implémentées dans Oracle API Gateway vers une technologie plus moderne et évolutive, dans le respect des normes natives du cloud et qui peut être utilisée dans des environnements hybrides (cloud ou on-premise). La proposition consiste à accélérer cette migration vers Oracle Cloud Infrastructure API Gateway (OCI API Gateway).

Le service OCI API Gateway vous permet de publier des API avec des adresses privées accessibles sur votre réseau que vous pouvez exposer avec des adresses IP publiques si vous voulez qu'elles acceptent le trafic Internet. Les adresses prennent en charge la validation d'API, la transformation des demandes et des réponses, CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes.

A l'aide du service OCI API Gateway, vous pouvez créer des passerelles d'API sur un sous-réseau régional pour traiter le trafic client d'API et l'acheminer vers des services back-end. Vous pouvez utiliser une seule passerelle d'API pour lier plusieurs services back-end (tels qu'OCI Load Balancer, les instances OCI Compute et OCI Functions) en une seule adresse d'API consolidée. Vous pouvez accéder au service OCI API Gateway pour définir des passerelles d'API et des déploiements d'API à l'aide de la console OCI et de l'API REST.

Le service OCI API Gateway est intégré à Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), qui facilite l'authentification à l'aide de la fonctionnalité d'identité OCI native.

Ce tutoriel vous permet de préparer des artefacts pour la migration vers OCI API Gateway et doit être utilisé conjointement avec cet autre tutoriel : Implémentation d'une automatisation pour déployer une spécification OpenAPI dans OCI API Gateway.

Remarque :

Stratégie de migration d'Oracle API Gateway vers OCI API Gateway

Cette stratégie ne permet pas la migration directe vers OCI API Gateway, car il s'agit de technologies légèrement différentes. Bien qu'Oracle API Gateway dispose de mécanismes permettant de créer des mises en correspondance entre les chemins et leurs stratégies, ce qui génère des règles de traitement complexes pour l'autorisation/l'authentification, les serveurs HEADER, les orchestrations d'appels avec des règles métier et d'autres complexités d'une API. OCI API Gateway fonctionne uniquement en tant que passerelle d'API, ce qui permet de traiter les serveurs HEADER, d'établir des principes de délai d'expiration et de limitation, mais sans grande complexité. L'outil vise à être plus simple et délimite ses fonctionnalités précisément parce qu'il fait partie d'une gamme de services qui complètent les autres fonctionnalités qui ont été laissées de côté.

Objectifs

Tâche 1 : exporter les API Oracle API Gateway

Oracle API Gateway peut exporter toutes les définitions dans un fichier XML. Nous allons utiliser cet artefact pour accélérer le processus de migration. Pour plus d'informations sur l'export de définitions d'API dans Oracle API Gateway, reportez-vous à Export de la configuration d'API Gateway.

Vous obtiendrez un fichier XML qui contiendra toutes les définitions d'API.

img_1.png

img.png

img_2.png

Tâche 2 : conversion du XML Oracle API Gateway en spécification Swagger

Nous allons utiliser le fichier XML d'Oracle API Gateway pour le convertir en fichier Swagger YAML.

  1. Remplacez le nom du fichier de variable par le fichier XML Oracle API Gateway exporté et exécutez le fichier Python suivant : generate_swagger.py.

    img_3.png

    img_4.png

    img_5.png

    Vous recevrez des fichiers avec l'extension YAML. Chaque fichier est une définition Swagger pour une API définie dans Oracle API Gateway.

    Certaines lignes sont commentées dans la définition Swagger. Ces lignes représentent l'orchestration Oracle API Gateway sur chaque API. Cela vous aidera à planifier et à construire l'orchestration dans Oracle Integration.

  2. Modifiez le fichier Python map_details.py pour inclure le fichier de définition XML Oracle API Gateway et un nom de fichier pour les définitions de mise en correspondance en sortie.

    img_6.png

    Après avoir exécuté ce code Python, vous obtiendrez des définitions plus détaillées pour chaque étape d'orchestration mentionnée dans le Swagger.

    img_7.png

Tâche 3 : déploiement de Swagger vers OCI API Gateway

Avec le fichier Swagger, nous pouvons importer dans OCI API Gateway via un processus d'automatisation. Tous les fichiers YAML générés par le code Python peuvent être déployés dans OCI API Gateway avec ce projet. Pour plus d'informations, reportez-vous à Implémentation d'une automatisation pour déployer une spécification OpenAPI dans OCI API Gateway.

Ce projet importera la spécification Swagger générée ici et déploiera les API à utiliser. Vous devrez ajuster les back-ends manuellement dans le cadre de cette documentation.

Tâche 4 : implémenter l'orchestration dans Oracle Integration

Dans cette tâche, nous devons analyser au cas par cas et implémenter l'orchestration, les règles métier et les validations.

Tout d'abord, nous devons analyser chaque étape des API dans Oracle API Gateway. Certaines étapes sont des règles métier et des orchestrations, qui doivent faire partie d'une implémentation dans Oracle Integration. Cette implémentation peut être exposée dans OCI API Gateway, suivant ainsi les mêmes processus exécutés dans Oracle API Gateway.

Toutefois, plusieurs étapes n'auraient pas besoin d'être implémentées dans Oracle Integration, dont certaines :

Les processus d'authentification et d'autorisation peuvent et doivent être implémentés dans la couche OCI API Gateway. Il existe plusieurs façons de l'implémenter via JWT, OAuth2, entre autres. En plus d'autoriser la personnalisation, reportez-vous à Transmission de jetons aux fonctions d'autorisation pour ajouter l'authentification et l'autorisation aux déploiements d'API.

Le traitement HEADER (ainsi que les paramètres QUERY et BODY) peut être effectué dans OCI API Gateway lui-même. Le traitement peut être effectué à la fois dans REQUEST et RESPONSE.

Les journaux peuvent également être gérés dans OCI API Gateway, mais il est toujours bon que l'ensemble du circuit soit journalisé, c'est-à-dire que s'il existe des implémentations dans Oracle Integration, essayez également d'implémenter les journaux.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.