Acerca de la carga de datos en Oracle Cloud ERP mediante tecnologías sin servidor

Si está cargando datos en SaaS con poca frecuencia o tiene flujos de integración sencillos, puede evitar una solución de integración de datos compleja. Puede que prefiera crear un enfoque centrado en el código, con un control completo de lo que está haciendo el código, cómo está desplegado y no pague nada cuando el sistema esté inactivo. Si necesita cargar datos en Oracle Fusion Cloud Enterprise Resource Planning (Oracle Cloud ERP) de forma regular, Oracle ofrece tecnologías sin servidor en Oracle Cloud Infrastructure. Puede desplegar Oracle Functions simple para manejar sus devoluciones de llamada, carga y transformación de datos. Utilice los bloques de Oracle Cloud Infrastructure Object Storage para almacenar datos temporalmente a medida que se gestionan y utilice el gateway de API y Oracle Cloud Infrastructure Vault para garantizar una seguridad fiable para los datos de ERP esenciales.

Como cliente de Oracle SaaS, puede que prefiera el modelo de licencia y la facilidad de gestión de SaaS: pague por consumo de recursos o por el número de "entidades" que cree, y no gestione nada excepto sus propios datos. Al crear extensiones SaaS puedes disfrutar de la misma experiencia. Al utilizar las opciones sin servidor de Oracle, no tiene que mantener un sistema operativo, parches, un firewall ni bibliotecas de tiempo de ejecución. La tecnología "sin servidor" no significa que no haya servidores, sino que el desarrollador no los gestiona, por lo que básicamente están ocultos para el desarrollador. En un entorno sin servidor, despliegue el código y las configuraciones en la nube, y Oracle las gestiona.

Oracle Functions, el almacenamiento de datos de Oracle Cloud y otras funciones de OCI tienen precios de escala basados en el uso. Solo paga por los recursos de almacenamiento y recursos informáticos que consume. Si sus funciones no se están utilizando en este momento, no hay costo; si su almacenamiento está vacío en este momento, no hay costo, etc.

El principal producto de Oracle para mover y transformar datos entre sistemas es Oracle Integration. Oracle Integration permite a los integradores crear integraciones mediante construcciones declarativas, realizar transformaciones en la nube, ejecutar la carga de datos real en la nube, gestionar automáticamente excepciones y reintentos, y hacerlo sin escribir código. Para soluciones pesadas o con poco código o sin código, Oracle Integration puede ser una buena opción. Sin embargo, un caso de uso en el que puede ser útil el servidor es para los clientes que cargan datos en SaaS con poca frecuencia o en los que los flujos de integración son sencillos.

En este manual de soluciones se muestra cómo implementar un patrón de carga de datos mediante tecnologías sin servidor y se resalta cómo se puede ampliar el patrón fundamental para incluir notificaciones y otras mejoras.

Arquitectura

Esta arquitectura muestra cómo puede crear una arquitectura sin servidor para cargar datos en Oracle Cloud ERP.

Para demostrar cómo se pueden utilizar las tecnologías sin servidor para cargar datos en Oracle Fusion Cloud, hemos creado un ejemplo utilizando solo servicios sin servidor OCI y un enfoque basado en código 3GL.



load-data-serverless-architecture-oracle.zip

Esta arquitectura soporta los siguientes componentes:

  • Funciones

    Oracle Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, altamente escalable y bajo demanda. Se basa en el motor de código abierto de Fn Project. Las funciones permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.

  • Eventos

    Los servicios de Oracle Cloud Infrastructure generan eventos, que son mensajes estructurados que describen los cambios en los recursos. Los eventos se emiten para operaciones de creación, lectura, actualización o supresión (CRUD), cambios de estado del ciclo de vida de los recursos y eventos del sistema que afectan a los recursos en la nube.

  • Notificaciones

    El servicio Oracle Cloud Infrastructure Notifications transmite mensajes a componentes distribuidos a través de un patrón de publicación y suscripción, lo que proporciona mensajes seguros, altamente fiables, de baja latencia y duraderos para aplicaciones alojadas en Oracle Cloud Infrastructure.

  • Vault

    Oracle Cloud Infrastructure Vault permite gestionar de forma centralizada las claves de cifrado que protegen los datos y las credenciales secretas que utiliza para proteger el acceso a los recursos en la nube. Puede utilizar el servicio Vault para crear y gestionar almacenes, claves y secretos.

  • Gateway de API

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

  • Object Storage

    El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de bases de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin que se produzca ninguna degradación del rendimiento o la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento "activo" al que tenga que acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "en frío" que retiene durante largos períodos de tiempo y a los que rara vez o rara vez accede.

  • Aplicaciones de Fusion

    Oracle Fusion Cloud Applications Suite ofrece docenas de aplicaciones en la nube en cada categoría de negocio, incluidos ERP, SCM, HCM, Sales, Service y verticales del sector.

En esta arquitectura de ejemplo se muestra cómo crear una arquitectura sin servidor para cargar datos en Oracle Cloud ERP. Demuestra un patrón de uso de cubos de OCI (una función de almacenamiento de objetos), eventos, funciones, almacén, notificaciones y gateway de API para implantar el pipeline de integración. El patrón resalta cómo se puede ampliar el flujo para incluir notificaciones y enriquecer aún más la integración. Este patrón se basa en código y no tiene servidor, y cuando el sistema está inactivo, el único costo para el consumidor es el almacenamiento de los archivos en OCI Object Storage.

Si tiene muchas integraciones que implantar y estas se cambiarán con frecuencia, Oracle Integration es una buena alternativa. Oracle Integration proporciona un entorno de desarrollo declarativo enriquecido en el que las integraciones se pueden crear, desplegar rápidamente y ampliar para satisfacer sus necesidades. Además, Oracle Integration proporciona una gran cantidad de funcionalidades incorporadas adicionales, como el manejo de errores, el reintento de mensajes, paneles de control, la generación de informes, el seguimiento de estado de solicitudes anteriores, etc.

Sin embargo, si prefiere un enfoque sin servidor, un estilo de integración centrado en el código y la flexibilidad y extensibilidad que proporciona este patrón, utilice esta arquitectura como punto de partida para su propia extensión SaaS sin servidor basada en Functions.

Acerca de la carga de datos en Oracle Cloud ERP

Para desarrollar esta aplicación, es necesario comprender el flujo para cargar datos en Oracle Cloud ERP.

Los siguientes pasos son típicos de los requisitos al cargar datos en Oracle Cloud ERP:

  1. Enriquezca los datos entrantes con algunos datos externos y transforme los datos en el formato de carga de datos (FBDI) de Oracle Cloud ERP.
  2. Cargue el archivo en Oracle Cloud ERP mediante los servicios web REST o SOAP.
  3. Escuche una devolución de llamada de Oracle Cloud ERP que indica que el proceso se ha completado y que los datos se han procesado.

Enriquecimiento y transformación

Al cargar datos en Oracle Cloud ERP, un paso obligatorio es transformar los datos de entrada en el formato CSV necesario y, a continuación, comprimir los archivos en un único archivo ZIP. En el ejemplo de este manual de estrategias, este paso de transformación se demuestra aceptando una estructura de datos JSON simplificada que, a continuación, se transforma en el formato CSV requerido por Oracle Cloud ERP. A continuación, los archivos se combinan en un único archivo ZIP listo para cargarse.

Cargar

Una vez transformados los datos, se pueden cargar en Oracle Cloud ERP mediante las API de REST de Fusion. La respuesta de Oracle Cloud ERP contiene algunos metadatos y el JobID que se utiliza para cargar los datos. JobID se necesita más adelante para determinar qué archivo de datos se va a importar por cada trabajo.

Procesar la devolución de llamada

Oracle Cloud ERP emite una devolución de llamada al cliente que indica si el trabajo se ha procesado correctamente o si se ha producido un error. Tenga en cuenta que un código correcto no significa necesariamente que todos los datos se hayan cargado: por ejemplo, podría haber registros duplicados.

Antes de empezar

En este manual de soluciones se asume que está familiarizado con OCI, Oracle Cloud ERP y Python.

Necesitará crear varios objetos en una instancia de OCI, incluidos los cubos de almacenamiento, los funciton y Oracle Cloud Infrastructure Vault. Las siguientes referencias pueden ser útiles:

Acerca de los servicios y los roles necesarios

Esta solución requiere los siguientes servicios:

  • Oracle Fusion ERP
  • Oracle Cloud Infrastructure, incluidos Oracle API Gateway, Oracle Functions y otros componentes de OCI

Estos son los roles necesarios para cada servicio.

Nombre de servicio: rol Necesario para...
Oracle Fusion ERP: Implantador Cargar datos de Fusion ERP mediante API
Oracle Cloud Infrastructure: administrador Cree cuentas en OCI IAM y despliegue componentes y funciones de OCI

Consulte Más información sobre cómo obtener servicios de Oracle Cloud para las soluciones de Oracle para obtener los servicios en la nube que necesita.