Sobre o Carregamento de Dados no Oracle Cloud ERP Usando Tecnologias Sem Servidor

Se você estiver carregando dados no SaaS com pouca frequência ou tiver fluxos de integração diretos, poderá evitar uma solução pesada de integração de dados. Talvez você prefira criar uma abordagem centrada no código, com total controle do que o código está fazendo, da forma como foi implantado e sem pagar nada quando o sistema está ocioso. Se você precisar carregar dados no Oracle Fusion Cloud Enterprise Resource Planning (Oracle Cloud ERP) regularmente, a Oracle oferece tecnologias sem servidor no Oracle Cloud Infrastructure. Você pode implantar o Oracle Functions simples para tratar sua transformação de dados, carga e callbacks. Use buckets do Oracle Cloud Infrastructure Object Storage para armazenar dados temporariamente conforme eles estão sendo tratados e use o API Gateway e o Oracle Cloud Infrastructure Vault para garantir segurança confiável para seus dados ERP essenciais.

Como cliente do Oracle SaaS, você pode preferir o modelo de licenciamento e a facilidade de gerenciamento de SaaS: pagar pelo consumo de recursos ou pelo número de "entidades" que você cria e gerenciar nada, exceto seus próprios dados. Ao criar extensões SaaS, você pode aproveitar a mesma experiência. Usando as opções sem servidor da Oracle, você não precisa manter um sistema operacional, patches, um firewall ou bibliotecas de runtime. A tecnologia "sem servidor" não significa que não haja servidores, mas sim que o desenvolvedor não os gerencie, então eles estão essencialmente ocultos do desenvolvedor. Em um ambiente sem servidor, você implanta seu código e configurações na nuvem, e a Oracle os gerencia.

O Oracle Functions, o armazenamento de dados do Oracle Cloud e outros recursos do OCI têm preços de escalonamento com base no uso. Você só paga pelos recursos de armazenamento e computação que consome. Se suas Funções não estiverem sendo usadas no momento, não haverá custo; se seu armazenamento estiver vazio no momento, não haverá custo, e assim por diante.

O principal produto da Oracle para mover e transformar dados entre sistemas é o Oracle Integration. O Oracle Integration permite que os integradores criem integrações usando construções declarativas, executem transformações na nuvem, executem a carga de dados real na nuvem, gerenciem exceções e repetições automaticamente e o façam sem escrever código. Para soluções pesadas ou de baixo código/sem código, o Oracle Integration pode ser uma ótima opção. Mas um caso de uso em que serverless pode ser útil é para clientes que estão carregando dados no SaaS com pouca frequência ou onde os fluxos de integração são simples.

Este manual de soluções mostra como implementar um padrão de carga de dados usando tecnologias sem servidor e destaca como o padrão fundamental pode ser estendido para incluir notificações e outros aprimoramentos.

Arquitetura

Essa arquitetura mostra como você pode criar uma arquitetura sem servidor para carregar dados no Oracle Cloud ERP.

Para demonstrar como as tecnologias sem servidor podem ser usadas para carregar dados no Oracle Fusion Cloud, criamos uma amostra usando apenas serviços sem servidor do OCI e uma abordagem baseada em código 3GL.



arquitetura sem servidor de dados de carga-oracle.zip

Essa arquitetura suporta os seguintes componentes:

  • Funções

    O Oracle Functions é uma plataforma totalmente gerenciada, multitenant, altamente escalável, sob demanda, do Functions-as-a-Service (FaaS). É alimentado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou acione em resposta a eventos. O Oracle Functions usa contêineres Docker hospedados no Oracle Cloud Infrastructure Registry.

  • Eventos

    Os serviços do Oracle Cloud Infrastructure emitem eventos, que são mensagens estruturadas que descrevem as alterações em recursos. Os eventos são emitidos para operações de criação, leitura, atualização ou exclusão (CRUD), alterações no estado do ciclo de vida do recurso e eventos do sistema que afetam os recursos da nuvem.

  • Notificações

    O serviço Oracle Cloud Infrastructure Notifications transmite mensagens a componentes distribuídos por meio de um padrão publicar-assinar, entregando mensagens seguras, altamente confiáveis, de baixa latência e duráveis para aplicativos hospedados no Oracle Cloud Infrastructure.

  • Vault

    O Oracle Cloud Infrastructure Vault permite gerenciar centralmente as chaves de criptografia que protegem seus dados e as credenciais secretas usadas para proteger o acesso aos seus recursos na nuvem. Você pode usar o serviço Vault para criar e gerenciar vaults, chaves e segredos.

  • API Gateway

    O Oracle API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede e que você pode expor à internet pública, se necessário. Os pontos finais suportam validação de API, transformação de solicitação e resposta, CORS, autenticação e autorização e limitação de solicitação.

  • Object Storage

    O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento de forma integrada sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento de acesso frequente que você precisa acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

  • Fusion Applications

    O Oracle Fusion Cloud Applications Suite oferece dezenas de aplicativos em nuvem em todas as categorias de negócios, incluindo ERP, SCM, HCM, Vendas, Serviços e setores verticais.

Esta arquitetura de exemplo demonstra como você pode criar uma arquitetura sem servidor para carregar dados no Oracle Cloud ERP. Ele demonstra um padrão de uso do OCI Buckets (um recurso do Object Storage), Events, Functions, Vault, Notifications e API Gateway para implementar o pipeline de integração. O padrão destaca como o fluxo pode ser estendido para incluir notificações e enriquecer ainda mais a integração. Esse padrão é baseado em código e sem servidor, e quando o sistema está ocioso, o único custo para o consumidor é o armazenamento dos arquivos no OCI Object Storage.

Se você tiver muitas integrações a serem implementadas e essas integrações serão alteradas com frequência, o Oracle Integration será uma boa alternativa. O Oracle Integration fornece um rico ambiente de desenvolvimento declarativo no qual integrações podem ser criadas, implantadas rapidamente e dimensionadas para atender às suas necessidades. Além disso, o Oracle Integration oferece muitas funcionalidades extras incorporadas, como tratamento de erros, repetição de mensagens, painéis de controle, relatórios, rastreamento de estado de solicitações anteriores e muito mais.

No entanto, se você preferir uma abordagem sem servidor, um estilo de integração centrado em código e a flexibilidade e extensibilidade que esse padrão fornece, use essa arquitetura como ponto de partida para sua própria extensão SaaS serverless baseada em Funções.

Sobre o Carregamento de Dados no Oracle Cloud ERP

Para desenvolver esse aplicativo, é necessário entender o fluxo de carregamento de dados no Oracle Cloud ERP.

As seguintes etapas são típicas dos requisitos ao carregar dados no Oracle Cloud ERP:

  1. Enriqueça os dados de entrada com alguns dados externos e transforme-os no formato de carregamento de dados (FBDI) do Oracle Cloud ERP
  2. Carregue o arquivo no Oracle Cloud ERP usando Web Services REST ou SOAP
  3. Ouça um call-back do Oracle Cloud ERP indicando que o processo foi concluído e que os dados foram processados.

Enriquecer e Transformar

Ao carregar dados no Oracle Cloud ERP, uma etapa obrigatória é transformar os dados de entrada no formato CSV necessário e, em seguida, compactar os arquivos em um único arquivo ZIP. No exemplo deste playbook, essa etapa de transformação é demonstrada aceitando uma estrutura de dados JSON simplificada que, em seguida, é transformada no formato CSV exigido pelo Oracle Cloud ERP. Em seguida, os arquivos são combinados em um único arquivo ZIP pronto para ser carregado.

Carregar

Depois que os dados tiverem sido transformados, eles poderão ser carregados no Oracle Cloud ERP usando APIs REST do Fusion. A resposta do Oracle Cloud ERP contém alguns metadados e o JobID que está sendo usado para carregar os dados. O JobID será necessário posteriormente para determinar qual arquivo de dados está sendo importado por qual job.

Processar o callback

O Oracle Cloud ERP emite um callback para o cliente que indica se o job foi processado corretamente ou se houve um erro. Observe que um código de sucesso não significa necessariamente que todos os dados foram carregados: por exemplo, pode haver registros duplicados.

Antes de Começar

Este manual de soluções pressupõe que você esteja familiarizado com OCI, Oracle Cloud ERP e Python.

Será necessário criar vários objetos em uma instância do OCI, incluindo buckets de armazenamento, funcitons e Oracle Cloud Infrastructure Vault. As seguintes referências podem ser úteis:

Sobre Serviços e Atribuições Obrigatórios

Esta solução requer os seguintes serviços:

  • Oracle Fusion ERP
  • Oracle Cloud Infrastructure, incluindo Oracle API Gateway, Oracle Functions e outros componentes do OCI

Estas são as atribuições necessárias para cada serviço.

Nome do Serviço: Atribuição Obrigatório para...
Oracle Fusion ERP: Implementador Carregar dados do Fusion ERP via APIs
Oracle Cloud Infrastructure: Administrador Crie contas no OCI IAM, implante componentes e Funções do OCI

Consulte Saiba como obter serviços do Oracle Cloud para Soluções Oracle para obter os serviços de nuvem necessários.