Note :

Migrer des API d'Oracle API Gateway vers Oracle Cloud Infrastructure API Gateway

Présentation

Oracle API Gateway est une plateforme répandue sur place utilisée par les entreprises qui, dans le passé, voulaient exposer leurs systèmes existants au moyen d'API pour l'intégration à des applications Web, mobiles ou même client-serveur.

Dans ce tutoriel, nous expliquerons un moyen de migrer les API mises en oeuvre dans Oracle API Gateway vers une technologie plus moderne et évolutive, selon les normes en nuage natives et pouvant être utilisées dans des environnements hybrides (nuage ou sur place). Il est proposé d'accélérer cette migration vers Oracle Cloud Infrastructure API Gateway (OCI API Gateway).

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

À l'aide du service de passerelle d'API OCI, vous créez une ou plusieurs passerelles d'API sur un sous-réseau régional pour traiter le trafic de client d'API et l'acheminer vers les services dorsaux. Vous pouvez utiliser une seule passerelle d'API pour lier plusieurs services dorsaux (tels que l'équilibreur de charge OCI, les instances de calcul OCI et OCI Functions) en un seul point d'extrémité d'API consolidé. Vous pouvez accéder au service de passerelle d'API OCI pour définir des passerelles et des déploiements d'API à l'aide de la console OCI et de l'API REST.

Le service de passerelle d'API OCI est intégré à Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), qui fournit une authentification facile avec une fonctionnalité d'identité OCI native.

Ce tutoriel vous permet de préparer des artefacts pour la migration vers la passerelle d'API OCI et doit être utilisé en conjonction avec cet autre tutoriel : Mettre en oeuvre une automatisation pour déployer une spécification OpenAPI dans la passerelle d'API OCI.

Note :

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

Cette stratégie ne permet pas la migration directe vers la passerelle d'API OCI, car il s'agit de technologies légèrement différentes. Bien qu'Oracle API Gateway ait des mécanismes pour créer des mappages entre les chemins et leurs politiques, générant des règles de traitement complexes pour l'autorisation/l'authentification, des HEADER, des orchestrations d'appels avec des règles d'affaires et d'autres complexités d'une API; la passerelle d'API OCI fonctionne uniquement en tant que passerelle d'API, permettant certains traitements des HEADER, établissant des principes de temporisation et de limitation, mais sans complexités majeures. 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 utiliserons cet artefact pour accélérer le processus de migration. Pour plus d'informations sur l'exportation des définitions d'API dans Oracle API Gateway, voir Exportation de la configuration du service de passerelle d'API.

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

img_1.png

img.png

img_2.png

Tâche 2 : Convertir le XML d'Oracle API Gateway en spécification Swagger

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

  1. Remplacez le nom du fichier de variable par votre 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 d'Oracle API Gateway pour chaque API. Cela vous aidera à planifier et à construire l'orchestration dans Oracle Integration.

  2. Modifiez le fichier Python map_details.py pour inclure votre fichier de définition XML Oracle API Gateway et un nom de fichier pour vos définitions de mappage de 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 Swagger.

    img_7.png

Tâche 3 : Déployer Swagger vers la passerelle d'API OCI

Avec le fichier Swagger, nous pouvons effectuer une importation dans le service de passerelle d'API OCI au moyen d'un processus d'automatisation. Tous les fichiers YAML générés par le code Python peuvent être déployés dans la passerelle d'API OCI avec ce projet. Pour plus d'informations, voir Mettre en oeuvre une automatisation pour déployer une spécification OpenAPI dans la passerelle d'API OCI.

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

Tâche 4 : Mettre en oeuvre l'orchestration dans Oracle Integration

Dans cette tâche, nous devons analyser 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 d'Oracle API Gateway. Certaines étapes sont des règles d'affaires et des orchestrations, qui doivent faire partie d'une mise en oeuvre dans Oracle Integration. Cette mise en oeuvre peut être exposée dans la passerelle d'API OCI, en suivant ainsi les mêmes processus exécutés dans Oracle API Gateway.

Toutefois, plusieurs étapes n'auraient pas besoin d'être mises en oeuvre dans Oracle Integration, notamment :

Les processus d'authentification et d'autorisation peuvent et doivent être mis en oeuvre dans la couche de passerelle d'API OCI. Il existe plusieurs façons de le mettre en oeuvre, au moyen de JWT, OAuth2, entre autres; en plus d'autoriser la personnalisation, voir 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 la passerelle d'API OCI elle-même. Le traitement peut être effectué à la fois dans REQUEST et RESPONSE.

Les journaux peuvent également être gérés dans le service de passerelle d'API OCI, mais il est toujours bon que l'ensemble du circuit soit journalisé, c'est-à-dire que s'il existe des mises en oeuvre dans Oracle Integration, essayez d'y mettre en oeuvre les journaux.

Remerciements

Autres ressources d'apprentissage

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

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.