Desarrollo de aplicaciones modernas: extensiones SaaS

Oracle Applications Cloud es un conjunto completo de aplicaciones de software como servicio (SaaS) que proporciona soluciones para áreas como Human Capital Management (HCM), Enterprise Resource Planning (ERP), Supply Chain Management (SCM) y Customer Experience (CX).

Al igual que con cualquier aplicación SaaS, puede que necesite extensiones exclusivas de su organización, como diseños de interfaz de usuario personalizados o procesos de negocio adicionales. Estas extensiones se implantan como aplicaciones que se integran con información de Oracle Applications Cloud o que combinan datos de otros sistemas. Las aplicaciones utilizan la misma capa de seguridad y ofrecen una experiencia de usuario que se integra a la perfección con Oracle Applications Cloud. Algunas aplicaciones de extensión están integradas en la interfaz de Oracle Applications Cloud o, si están dirigidas a clientes externos, funcionan fuera del entorno de Oracle Applications Cloud.

En este documento se presentan los principios de diseño de las aplicaciones de extensión de arquitecto SaaS, una arquitectura de referencia y una ruta de implantación óptima.

Principios de diseño

Utilice los siguientes principios de diseño para crear sus aplicaciones de extensión SaaS.

  • Uso de marcos de código abierto sencillos y lenguajes de programación maduros

    Utilice Oracle JavaScript Extension Toolkit (Oracle JET) para la capa de interfaz de usuario. Oracle JET es un conjunto de herramientas de código abierto de Oracle y bibliotecas JavaScript de código abierto utilizado por los equipos de Oracle Applications Cloud para desarrollar interfaces de usuario basadas en Redwood. JET le proporciona estos mismos patrones, estilos y plantillas de interfaz de usuario de Redwood.

    Utilice JavaScript para la capa de interfaz de usuario, junto con HTML5 y CSS. Para el backend, utilice Java.

  • Cree sus aplicaciones como un conjunto de microservicios que se comunican mediante API de REST

    Desarrolle procesos de negocio y servicios de manipulación de datos como microservicios expuestos como API de REST. Esto le permite manejar, ampliar y acceder fácilmente a los servicios.

    Las interfaces de usuario desarrolladas con Oracle Visual Builder Studio utilizan servicios de backend basados en REST, incluidos los servicios expuestos por Oracle Applications Cloud y los servicios que exponen datos de otros orígenes como API de REST.

  • Automatización de la creación, la prueba y el despliegue

    Utilice Oracle Visual Builder Studio para automatizar los pasos de creación, paquete y despliegue de la extensión SaaS, desde la capa de infraestructura hasta la capa de plataforma. (Esto incluye artefactos como aplicaciones visuales, integraciones, objetos de base de datos y código de middleware). Oracle Visual Builder Studio también integra repositorios de Git, seguimiento de problemas, planificación y seguimiento ágiles, y capacidades de colaboración en equipo con un pipeline de integración continua/despliegue continuo (CI/CD).

  • Utilice servicios totalmente gestionados para eliminar la complejidad del desarrollo de aplicaciones, los tiempos de ejecución y la gestión de datos

    La mayoría de las organizaciones que utilizan Oracle Applications Cloud no tienen el deseo o los recursos de gestionar su propia infraestructura. En su lugar, utilice un servicio totalmente gestionado para simplificar el despliegue y el mantenimiento de las aplicaciones de negocio.

    Oracle Visual Builder Studio proporciona una plataforma totalmente gestionada para alojar las aplicaciones web y móviles. Además, gestiona objetos de negocio personalizados, la capa REST que los expone y protege el acceso a servicios REST externos. Puede configurar el acceso a orígenes de datos externos mediante Oracle Integration, un servicio de integración gestionado. Además, puede implantar lógica de negocio adicional como funciones expuestas como API de REST. Para algunas aplicaciones, sus datos se pueden replicar en bases de datos independientes, en cuyo caso puede implantar un conjunto de servicios REST para acceder a esos datos mediante Oracle REST Data Services.

  • Mantener el nivel de aplicación sin estado

    Oracle Visual Builder Studio crea aplicaciones sin estado que se comunican a servicios de backend a través de API de REST. Oracle Functions también puede proporcionar capacidades sin estado para la lógica de negocio adicional del servidor.

  • Implementación de Rastreo y Supervisión Completa

    Utilice Oracle Application Performance Monitoring para controlar y rastrear los niveles de su aplicación. Con este servicio, puede realizar un seguimiento de la experiencia de la interfaz de usuario, las llamadas REST, las funciones y la base de datos.

    Además, muchos servicios gestionados por Oracle ofrecen supervisión y rastreo de los artefactos que gestionan. Por ejemplo, Oracle Integration proporciona un panel de control de supervisión que muestra el uso y el estado de las integraciones.

  • Implantar un enfoque de defensa en profundidad para garantizar el ciclo de vida de la aplicación

    Aplique mecanismos de defensa exhaustivos para garantizar que solo el personal con los roles adecuados pueda interactuar con los datos. Utilice la conexión única (SSO) entre su aplicación y Oracle Applications Cloud para garantizar que los usuarios que acceden a los datos a través de las API de REST cumplan los roles que han definido en Oracle Applications Cloud. Utilice el gateway de API de Oracle Cloud Infrastructure y el firewall de aplicaciones web para crear reglas que limiten el acceso de los usuarios a los servicios REST y a las interfaces web basadas en esas reglas.

    Oracle Visual Builder Studio está preconfigurado con SSO y proporciona propagación de identidad. Por ejemplo, una llamada de Oracle Visual Builder Studio a una API de REST propaga automáticamente el usuario de Oracle Visual Builder Studio a la llamada de API.

Arquitectura

Puede implantar los principios de diseño mediante un despliegue basado en esta arquitectura con opinión.



maf-arch-paas.zip

Oracle recomienda los siguientes componentes en la arquitectura de extensión SaaS:

  • UI

    Oracle JavaScript Extension Toolkit (Oracle JET) proporciona un kit de herramientas ligero de código abierto para crear interfaces de usuario enriquecidas que abarquen varios dispositivos. También soporta la experiencia de usuario de Redwood, que le permite desarrollar extensiones de Oracle Applications Cloud que proporcionan la misma experiencia que las aplicaciones de Oracle. Para simplificar y acelerar el desarrollo de aplicaciones de Oracle JET, utilice Oracle Visual Builder Studio, que proporciona un enfoque más declarativo y visual del desarrollo.

  • Servidor web

    Oracle Visual Builder Studio proporciona un servicio totalmente gestionado para alojar la aplicación web y proporciona acceso seguro a los datos en Oracle Applications Cloud y a servicios externos basados en REST. Además, admite la conexión única entre las aplicaciones de extensión personalizadas y Oracle Applications Cloud.

  • lógica de negocio

    Para implantar requisitos de lógica de negocio, utilice tecnologías escalables sin servidor como Oracle Functions y Helidon, y expóntelas como API de REST para un consumo sencillo.

  • Integración

    Oracle Integration es un servicio totalmente gestionado que permite integrar las aplicaciones, automatizar los procesos, obtener información sobre los procesos de negocio y crear aplicaciones visuales.

    Oracle Integration for SaaS, una versión simplificada de Oracle Integration, le ofrece los beneficios y funciones de Oracle Integration con el foco en SaaS.

  • Base de Datos

    Oracle Database proporciona una forma de almacenar datos de una forma más accesible cuando Oracle Applications Cloud carece de una forma fácil o eficaz de acceder y manejar datos directamente.

  • Gateway de API

    Oracle API Gateway permite publicar API con puntos finales privados accesibles desde la red y que se pueden exponer en la red pública de Internet si es necesario. Los puntos finales soportan 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.

Alternativas y antipatrones

Considere las alternativas a la arquitectura descrita en este patrón y evite intentar implantar antipatrones.
  • Alternativas

    Para las aplicaciones que no requieren integración en la interfaz de Aplicaciones en la nube, puede considerar el uso de marcos de interfaz de usuario alternativos.

    Si los sistemas existentes requieren acceso a datos de Applications Cloud y le preocupa sobrecargar Applications Cloud con solicitudes externas, puede extraer juegos de datos a bases de datos externas.

  • Antipatrones

    No intente replicar procesos de negocio, validaciones y seguridad que ya están definidos en Applications Cloud en sistemas externos. Al hacerlo, se presenta el riesgo de desconectarse del sistema original.

Ejemplo de casos de uso:

Estos son algunos ejemplos de casos de uso para extensiones SaaS que utilizan arquitecturas similares:
  • Sistemas internos personalizados

    Realice un seguimiento de la incorporación de nuevos empleados, la asignación de plazas de aparcamiento, la aprobación de viajes, las comprobaciones de cumplimiento de facturas, etc.

  • Sistemas de mashup

    Mashup el inventario de Applications Cloud con información del cliente de sistemas externos, como SalesForce.

  • Sistemas externos

    Entrada de pedidos, catálogos de socios y doce portales de soporte de servicios.

Estudios de Casos Públicos

Estas son algunas empresas que han utilizado este patrón de desarrollo de aplicaciones modernas para desplegar extensiones SaaS:
  • Panasonic

    Creó un portal de partners orientado a la web que accedió a los datos de Oracle Advertising and Customer Experience (Oracle CX).

  • Yum Marcas

    Se creó un juego de extensiones internas de HCM para tareas como el registro de horas.

  • Caesars Entertainment

    Creó un sistema de revisión de la regulación de facturas que amplió ERP.

Log de Cambios

Este log muestra los cambios significativos:

Agradecimientos

  • Autor: Shay Shmeltzer
  • Colaboradores: Hassan Ajan, Matthias Brantner, James Emerson, Bernard Horan, Harshad Kasture, Parvez Syed Mohamed, Sajan Parihar, Joshua Stanley