Aprender a ampliar aplicaciones de SaaS con un enfoque nativo en la nube

A medida que los negocios adoptan más SaaS, la capacidad de ampliarse para cumplir los cambios de los requisitos de negocio es más importante. Antes de que Cloud Native, los equipos de TI se enfrentan a las realidades de seleccionar un conjunto de soluciones de integración que ofrecen soluciones, que proporcionan casos de uso más sencillos o al configurar pilas grandes en lugar de infraestructuras para soportar sus casos de uso más complejos. Los clientes que utilizan Oracle Java Cloud Service - SaaS Extension suelen alojar extensiones de interfaz de usuario de SaaS, que normalmente se crean con Oracle ADF Framework, o utilizan el servicio para alojar algún código (un punto de entrada de REST) al que llama Oracle Fusion Applications Cloud Service u otra aplicación. Oracle Java Cloud Service - SaaS Extension es un servicio antiguo en la nube que no incluye las funciones de ofertas modernas de Oracle Cloud Native.

Cloud Native presenta funciones como contenedores y funciones sin servidor. Al utilizar estas ofertas, el equipo de desarrollo puede centrarse en completar sus casos de uso al descargar la complejidad de la infraestructura al proveedor de nube. Oracle Cloud Native Services proporciona las capacidades que el equipo de desarrollo necesita para ampliar las aplicaciones de SaaS de una manera mucho más fácil de implantar y mantener.

Esta solución muestra cómo diseñar una extensión de SaaS para Oracle Fusion Applications Cloud Service mediante un enfoque basado en Oracle Visual Builder. También puede migrar una integración existente de Oracle Fusion Applications Cloud Service / Oracle Java Cloud Service - SaaS Extension a este diseño. Oracle Functions sirve como implementación de backend de una API de REST mediante Oracle Cloud Infrastructure API Gateway, protegida por Oracle Identity Cloud Service.

Arquitectura

Esta arquitectura muestra un diseño de alto nivel para una extensión de una aplicación de SaaS, creado mediante un enfoque Cloud Native. Puede utilizar Oracle Functions como implantación de backend de una API de REST, protegida por Oracle Identity Cloud Service.

La implantación se realiza mediante el uso del gateway API de Oracle Cloud Infrastructure. Esta solución presenta un caso de uso para ampliar Oracle Fusion Applications Cloud Service, pero las mismas técnicas se pueden utilizar con o sin SaaS en la imagen.



El siguiente flujo se muestra:

  1. Oracle Visual Builder se conecta al gateway de API mediante una aplicación de autenticación de aplicaciones de Identity Cloud (cliente de recursos de función) en Oracle Identity Cloud Service. Se incluye un token de autenticación con la cabecera" Autorización: Portador; <Token1>" .
  2. El gateway de API se conecta de nuevo a Oracle Identity Cloud Service, conectando al componente de Identity Cloud /admin/v1/SigningCert/jwk para validar el token.
  3. El gateway de API se conecta a la biblioteca de afirmaciones de OAuth de Identity Cloud integrada con la función Oracle, con el token original con la misma cabecera que el token para el paso 1.
  4. La biblioteca de afirmaciones de OAuth de Identity Cloud integrada con la función Oracle se conecta a Oracle Cloud Infrastructure Vault para consultar las credenciales almacenadas y seguras del siguiente paso.
  5. La función se conecta de nuevo a Oracle Identity Cloud Service para recuperar un nuevo token de la aplicación de Identity Cloud (Propietario de Recursos de la Función) (Cliente de Recursos de Fusion Applications). Este token es válido para un usuario que existe en Oracle Cloud PaaS y Oracle Fusion Applications.
  6. El componente de lógica de negocio dentro de la función de cliente de Oracle Fusion Applications Cloud se conecta a una instancia de Fusion Applications Cloud, mediante un nuevo token de autenticación (token de afirmación) con la cabecera" Autorización: Portador; <Token2>"

El gateway de API puede autenticarse directamente con Oracle Identity Cloud Service o, opcionalmente, ejecutar una función de autenticación personalizada (no se muestra en el diagrama).

Antes de Empezar

Para configurar esta integración, necesita un entorno de servicio en la nube federado y necesita configurar un entorno de desarrollo de Oracle Functions.

Para realizar llamadas de API REST protegidas desde Oracle PaaS a Oracle Fusion Applications Cloud Service, debe configurar una integración mediante Oracle Identity Cloud Service. Consulte estos manuales de soluciones con instrucciones completas para configurar la integración de este tipo:

Para utilizar Oracle Functions con Oracle Cloud Infrastructure, debe configurar el entorno:

Acerca de los requisitos de diseño

La arquitectura presentada se desarrollaba teniendo en cuenta un juego de requisitos de diseño. Es útil investigar los requisitos asumidos en este escenario; puede desarrollar su propia arquitectura modificada teniendo en cuenta sus propios requisitos de diseño.

A medida que los negocios adoptan software más basado en la nube (Software como servicio u SaaS), la capacidad de ampliar para cumplir los requisitos de negocio que cambian es más importante. Antes de que Cloud Native, los equipos de TI se orienten con las realidades de seleccionar un juego de soluciones de integración ofrecidas por proveedor, que proporcionan casos de uso más sencillos o configurar pilas complejas y no de infraestructuras para soportar los casos de uso más complejos.

Cloud Native presenta nuevas capacidades, como contenedores y funciones sin servidor. Al utilizar estas ofertas, los equipos de desarrollo pueden centrarse en completar sus casos de uso al descargar la complejidad de la infraestructura al proveedor de la nube. Oracle Cloud Native Services proporciona las capacidades que los equipos de desarrollo necesitan para ampliar las aplicaciones de SaaS de una manera mucho más fácil de implementar y mantener.

Oracle Functions es una oferta como servicio (FaaS) desde Oracle que permite a los desarrolladores ejecutar código en la nube y únicamente pagar por la potencia de procesamiento utilizada, evitando así la necesidad de ejecutar el servicio 24x7. La ventaja adicional es que la infraestructura necesaria para ejecutar el código está completamente gestionada por Oracle y no requiere que el cliente/desarrollador mantenga el entorno de tiempo de ejecución.

Al utilizar el nuevo servicio de gateway de API de Oracle Cloud Infrastructure con Oracle Functions, los equipos de desarrollo pueden crear API sin servidor que desbloqueen la potencia de las funciones sin servidor a aplicaciones como Oracle Fusion Applications Cloud Service que se integran fácilmente con las API de RESTful.

Si la compara con una instancia de Oracle Java Cloud Service o WebLogic Server Cloud, donde es responsable del mantenimiento y la gestión del software, el sistema operativo asociado que aloja el servidor de WebLogic y, a menudo, una base de datos, este “enfoque gestionado por Oracle completo” es muy atractivo.

Puede que ya esté utilizando Oracle Java Cloud Service - SaaS Extension. Por ejemplo, puede estar utilizando el servicio para alojar las extensiones de la interfaz de usuario de SaaS, que normalmente se crean con Oracle ADF Framework. Otro caso de uso común es alojar algún código (un punto de entrada de REST) al que Oracle Fusion Applications Cloud Service u otra aplicación llama. Si desea mover la plataforma, Oracle suele recomendar una migración a Oracle Visual Builder.

Observemos los siguientes requisitos de diseño, que pueden ser similares a los suyos. Un cliente tiene actualmente su aplicación desplegada en Oracle Java Cloud Service - SaaS Extension y utiliza el marco de Oracle ADF Faces. El cliente desea migrar a una plataforma más moderna y la plataforma debe estar gestionada por Oracle, después de que todos ellos sean clientes de SaaS y se utilicen para los servicios que se gestionan para ellos. Por supuesto, siempre existe el requisito de que la implantación sea segura.

Por tanto, han decidido utilizar Oracle Visual Builder para implantar su interfaz de usuario. Es posible que este cliente desee realizar una lógica de negocio compleja antes de llamar a Oracle SaaS, como almacenamiento en caché, agregación de datos, lógica compleja o conversión de protocolos posiblemente (REST a SOAP). Después de haber determinado que la mayoría de las solicitudes de red pueden ir directamente a Oracle SaaS, pero algunas de las llamadas deberán pasar por una capa media para gestionar la lógica de negocio en lugar de llamar directamente a la API.



Para este cliente, Oracle presenta una arquitectura que utiliza Oracle Functions como nivel medio para su código lógico de negocio personalizado.

Resume los requisitos de diseño:

  • Ampliar Oracle Fusion Applications Cloud Service con personalizaciones y acceso a datos basados en REST
  • Usar plataforma de OracleManaged Cloud
  • Implantar verbos REST (GET, POST, PUT, etc.)
  • Usar Oracle Visual Builder para una personalización sencilla de poco código
  • Enfoque sin servidor nativo en la nube para ejecutar código sin necesidad de aprovisionar o gestionar infraestructura
  • Oracle Functions de baja sobrecarga eficiente puede manejar llamadas que requieren una lógica de negocio compleja
  • Manejar la propagación de identidad al sistema de SaaS de destino para un control de acceso seguro, autenticado y autorizado con SSO
  • Los puntos finales de API deben estar protegidos
  • Implantar el uso compartido de recursos de origen cruzado (CORS) para emitir llamadas REST directamente al servidor de REST.

Para cumplir estos requisitos, se incluyen cuatro servicios más en la arquitectura:

  • Oracle Identity Cloud Service: Almacén de identidades global.
  • Oracle Functions: personalice las API de SaaS con su propio código.
  • Gateway de API de Oracle Cloud Infrastructure: gateway de API que manejará la asignación de REST a funciones y fuerza la seguridad.
  • Oracle Cloud Infrastructure Vault: mecanismo de gestión de claves utilizado para cifrar contraseñas y secretos del cliente.

El gateway API de Oracle Cloud Infrastructure tiene capacidad incorporada para comunicarse con Oracle Identity Cloud Service. Sin embargo, para demostrar cómo utilizar el código Oracle Functions personalizado con API Gateway, hemos proporcionado una función de autenticación personalizada (AuthN) como mecanismo de autenticación opcional.

Acerca de los servicios y roles necesarios

Esta solución necesita los siguientes servicios y roles:

  • Oracle Fusion Applications Cloud Service
  • Oracle Visual Builder
  • Oracle Cloud Infrastructure
  • Oracle Identity Cloud Service

Estos son los roles necesarios para cada servicio.

Nombre de Servicio: Rol Necesario para...
Oracle Fusion Applications Cloud Service: Administrador Configure la conexión única entre Oracle Fusion Applications Cloud Service y Oracle Identity Cloud Service.
Oracle Visual Builder: rol predefinido del Desarrollador de Visual Builder que se asigna al rol predefinido de la capa de aplicación ServiceDeveloper. Crear, gestionar, proteger y publicar aplicaciones web y móviles.
Oracle Cloud Infrastructure: Administrador Desplegar funciones y configurar la puerta de enlace de API.
Oracle Identity Cloud Service: administrador de seguridad y administrador de aplicaciones Gestione los proveedores de identidad y gestione las aplicaciones.

Vea cómo obtener servicios de Oracle Cloud para las soluciones de Oracle para obtener los servicios en la nube que necesite.