Note:

Migración de API de Oracle API Gateway a Oracle Cloud Infrastructure API Gateway

Introducción

Oracle API Gateway es una plataforma local generalizada utilizada por empresas que en el pasado querían exponer sus sistemas heredados a través de API para la integración con aplicaciones web, móviles o incluso de cliente-servidor.

En este tutorial, explicaremos una forma de migrar las API implementadas en Oracle API Gateway a una tecnología más moderna y escalable, dentro de estándares nativos en la nube y que se pueda utilizar en entornos híbridos (en la nube o locales). La propuesta es acelerar esta migración a Oracle Cloud Infrastructure API Gateway (OCI API Gateway).

El servicio OCI API Gateway permite publicar API con puntos finales privados accesibles en la red que puede exponer con direcciones IP públicas si desea que acepten tráfico de Internet. Los puntos finales admiten la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.

Con el servicio OCI API Gateway, se crean uno o varios gateways de API en una subred regional para procesar el tráfico de cliente de API y direccionarlo a servicios de backend. Puede utilizar un único gateway de API para enlazar varios servicios de backend (como OCI Load Balancer, instancias de OCI Compute y OCI Functions) en un único punto final de API consolidado. Puede acceder al servicio OCI API Gateway para definir gateways y despliegues de API mediante la consola de OCI y la API de REST.

El servicio OCI API Gateway está integrado con Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), que proporciona una autenticación sencilla con la funcionalidad de identidad de OCI nativa.

Este tutorial le permite preparar artefactos para la migración al gateway de API de OCI y se debe utilizar junto con este otro tutorial: Implantación de una automatización para desplegar una especificación OpenAPI en OCI API Gateway.

Nota:

Estrategia para migrar de Oracle API Gateway a OCI API Gateway

Esta estrategia no permite la migración directa al gateway de API de OCI, ya que son tecnologías ligeramente diferentes. Si bien Oracle API Gateway tiene mecanismos para crear asignaciones entre rutas y sus políticas, generando reglas de tratamiento complejas para la autorización/autenticación, HEADER, orquestaciones de llamadas con reglas de negocio y otras complejidades de una API; OCI API Gateway solo funciona como gateway de API, lo que permite cierto procesamiento de HEADER, estableciendo algunos principios de timeout y limitación, pero sin complejidades importantes. La herramienta pretende ser más sencilla y delimita sus funcionalidades precisamente porque forma parte de una gama de servicios que complementan las otras funcionalidades que quedaron fuera.

Objetivos

Tarea 1: Exportación de las API de Oracle API Gateway

Oracle API Gateway puede exportar todas las definiciones en un archivo XML. Utilizaremos este artefacto para acelerar el proceso de migración. Para obtener más información sobre cómo exportar definiciones de API en Oracle API Gateway, consulte Exportación de la configuración de API Gateway.

Obtendrá un archivo XML que contendrá todas las definiciones de API.

img_1.png

img.png

img_2.png

Tarea 2: Conversión del XML de Oracle API Gateway en una especificación de Swagger

Utilizaremos el archivo XML de Oracle API Gateway para convertirlo en un archivo YAML Swagger.

  1. Cambie el nombre de archivo de variable al archivo XML de Oracle API Gateway exportado y ejecute el siguiente archivo Python: generate_swagger.py.

    img_3.png

    img_4.png

    img_5.png

    Recibirás archivos con la extensión YAML. Cada archivo es una definición de Swagger para una API definida en Oracle API Gateway.

    Algunas líneas se comentan en la definición de Swagger. Estas líneas representan la orquestación de Oracle API Gateway en cada API. Esto ayudará a planificar y crear la orquestación en Oracle Integration.

  2. Cambie el archivo Python map_details.py para incluir el archivo de definición XML de Oracle API Gateway y un nombre de archivo para las definiciones de asignación de salida.

    img_6.png

    Después de ejecutar este código Python, obtendrá definiciones más detalladas para cada paso de orquestación mencionado en Swagger.

    img_7.png

Tarea 3: Despliegue de Swagger en OCI API Gateway

Con el archivo Swagger, podemos importar a OCI API Gateway a través de un proceso de automatización. Todos los archivos YAML generados por el código Python se pueden desplegar en el gateway de API de OCI con este proyecto. Para obtener más información, consulte Implantación de una automatización para desplegar una especificación OpenAPI en OCI API Gateway.

Este proyecto importará la especificación de Swagger generada aquí y desplegará las API que se utilizarán. Deberá ajustar los backends manualmente como parte de esta documentación.

Tarea 4: Implantación de la orquestación en Oracle Integration

En esta tarea, necesitamos analizar caso por caso e implementar la orquestación, las reglas de negocio y las validaciones.

En primer lugar, debemos analizar cada paso de las API en Oracle API Gateway. Algunos pasos son reglas de negocio y orquestaciones, que deben formar parte de una implantación en Oracle Integration. Esta implantación se puede exponer en OCI API Gateway, siguiendo así los mismos procesos ejecutados en Oracle API Gateway.

Sin embargo, hay varios pasos que no sería necesario implantar en Oracle Integration, algunos de ellos:

Los procesos de autenticación y autorización se pueden y deben implantar en la capa de gateway de API de OCI. Hay varias formas de implementar esto, a través de JWT, OAuth2, entre otras; además de permitir la personalización, consulte Transferencia de tokens a funciones de autorizador para agregar autenticación y autorización a despliegues de API.

El procesamiento HEADER (así como los parámetros QUERY y BODY) se puede realizar en el propio gateway de API de OCI. El procesamiento se puede realizar tanto en SOLICITUD como en RESPUESTA.

Los logs también se pueden manejar en OCI API Gateway, pero siempre es bueno que se registre todo el circuito, es decir, si hay implantaciones en Oracle Integration, intente implantar los logs allí también.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.