Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
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:
Estos artefactos:
Cree automáticamente una especificación de Swagger a partir del archivo exportado XML de Oracle API Gateway.
Permitir que OCI API Gateway importe automáticamente desde la especificación de Swagger generada.
Descubre qué procesos y orquestación se deben implantar en Oracle Integration y qué procesos se deben integrar con OCI API Gateway.
Estos artefactos NO completarán la migración de Oracle API Gateway a OCI API Gateway tal cual. Tendrá que implantar algunas integraciones para orquestar pasos. A veces, analizar el contexto de las API llevará la aplicación a un enfoque moderno y a un entorno más nativo en la nube.
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
-
Migre las API de Oracle API Gateway a OCI API Gateway.
-
Divida el enrutamiento de las API para OCI API Gateway y las complejidades y reglas de orquestación para Oracle Integration.
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.
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.
-
Cambie el nombre de archivo de variable al archivo XML de Oracle API Gateway exportado y ejecute el siguiente archivo Python: generate_swagger.py.
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.
-
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.
Después de ejecutar este código Python, obtendrá definiciones más detalladas para cada paso de orquestación mencionado en Swagger.
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:
- Autenticación y autorización.
- Tratamiento de los HEADER, parámetros QUERY y CUERPO.
- Rutas de acceso.
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.
Enlaces relacionados
-
Implantación de una automatización para desplegar una especificación OpenAPI en OCI API Gateway
-
Creación de un token de JWT en Java para Oracle Identity Cloud Service
Agradecimientos
- Autor: Cristiano Hoshikawa (Ingeniero de soluciones de Oracle LAD A-Team)
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.
Migrate APIs from Oracle API Gateway to Oracle Cloud Infrastructure API Gateway
G27154-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.