Desenvolvimento de Aplicativos Modernos - Extensões SaaS

O Oracle Applications Cloud é um conjunto completo de aplicativos SaaS (Software as a Service) que fornece soluções para áreas como HCM (Human Capital Management), ERP (Enterprise Resource Planning), Supply Chain Management (SCM) e CX (Customer Experience).

Como acontece com qualquer aplicativo SaaS, você pode exigir extensões exclusivas para sua organização, como layouts de interface de usuário personalizados ou processos de negócios adicionais. Essas extensões são implementadas como aplicativos que se integram a informações do Oracle Applications Cloud ou combinam dados de outros sistemas. Os aplicativos usam a mesma camada de segurança e oferecem uma experiência ao usuário que se integra perfeitamente ao Oracle Applications Cloud. Alguns aplicativos de extensão estão incorporados na interface do Oracle Applications Cloud ou, se direcionados a clientes externos, operam fora do ambiente do Oracle Applications Cloud.

Este documento apresenta os princípios de design para arquitetar aplicativos de extensão SaaS, uma arquitetura de referência e um caminho de implementação ideal.

Princípios de Design

Use os seguintes princípios de design para criar seus aplicativos de extensão SaaS.

  • Usar estruturas de código aberto leves e linguagens de programação maduras

    Use o Oracle JavaScript Extension Toolkit (Oracle JET) para a camada de IU. O Oracle JET é um kit de ferramentas de código aberto da Oracle e bibliotecas JavaScript de código aberto usadas pelas equipes do Oracle Applications Cloud para desenvolver interfaces do usuário baseadas em Redwood. O JET fornece esses mesmos padrões, estilos e modelos de IU do Redwood.

    Use JavaScript para a camada de IU, juntamente com HTML5 e CSS. Para o backend, use o Java.

  • Crie seus aplicativos como um conjunto de microsserviços que se comunicam usando APIs REST

    Desenvolva processos de negócios e serviços de manipulação de dados como microsserviços expostos como APIs REST. Isso permite que você manipule, dimensione e acesse facilmente os serviços.

    As interfaces de usuário desenvolvidas com o Oracle Visual Builder Studio usam serviços de back-end baseados em REST, incluindo serviços expostos pelo Oracle Applications Cloud e serviços que expõem dados de outras origens como APIs REST.

  • Automatize a criação, o teste e a implementação

    Use o Oracle Visual Builder Studio para automatizar as etapas de criação, pacote e implantação da sua extensão SaaS, da camada de infraestrutura até a camada da plataforma. (Isso inclui artefatos como aplicativos visuais, integrações, objetos de banco de dados e código de middleware.) O Oracle Visual Builder Studio também integra repositórios Git, rastreamento de problemas, planejamento e rastreamento ágeis e recursos de colaboração de equipe com um pipeline de integração/implantação contínua (CI/CD).

  • Use serviços totalmente gerenciados para eliminar a complexidade de desenvolvimento de aplicativos, tempos de execução e gerenciamento de dados

    A maioria das organizações que usam o Oracle Applications Cloud não tem o desejo ou os recursos para gerenciar sua própria infraestrutura. Em vez disso, use um serviço totalmente gerenciado para simplificar a implantação e a manutenção de seus aplicativos de negócios.

    O Oracle Visual Builder Studio fornece uma plataforma totalmente gerenciada para hospedar seus aplicativos web e móveis. Além disso, ele gerencia objetos de negócios personalizados, a camada REST que os expõe e protege o acesso a serviços REST externos. Você pode configurar o acesso a origens de dados externas por meio do Oracle Integration, um serviço de integração gerenciado. E você pode implementar lógica de negócios adicional como funções expostas como APIs REST. Para alguns aplicativos, seus dados podem ser replicados em bancos de dados independentes; nesse caso, você pode implementar um conjunto de serviços REST para acessar esses dados usando o Oracle REST Data Services.

  • Manter o nível do aplicativo sem monitoramento de estado

    O Oracle Visual Builder Studio cria aplicativos sem monitoramento de estado que se comunicam com serviços de back-end por meio de APIs REST. O Oracle Functions também pode fornecer recursos sem monitoramento de estado para lógica de negócios adicional do servidor.

  • Implementar monitoramento e rastreamento completos

    Use o Oracle Application Performance Monitoring para monitorar e rastrear as camadas do seu aplicativo. Usando esse serviço, você pode rastrear a experiência da IU, as chamadas REST, as funções e o banco de dados.

    Além disso, muitos serviços gerenciados pela Oracle oferecem monitoramento e rastreamento dos artefatos que eles gerenciam. Por exemplo, o Oracle Integration fornece um painel de controle de monitoramento que mostra o uso e o status de integrações.

  • Implemente uma abordagem de defesa em profundidade para proteger o ciclo de vida do aplicativo

    Imponha mecanismos de defesa aprofundados para garantir que somente os funcionários com as funções certas possam interagir com os dados. Use o sign-on único (SSO) entre seu aplicativo e o Oracle Applications Cloud para garantir que os usuários que acessam dados por meio de APIs REST estejam aderindo às atribuições definidas no Oracle Applications Cloud. Use o Gateway de API e o Firewall de Aplicativo Web do Oracle Cloud Infrastructure para criar regras para limitar o acesso dos usuários aos serviços REST e interfaces Web com base nessas regras.

    O Oracle Visual Builder Studio é pré-configurado com SSO e fornece propagação de identidade. Por exemplo, uma chamada do Oracle Visual Builder Studio para uma API REST automaticamente propaga o usuário do Oracle Visual Builder Studio para a chamada de API.

Arquitetura

Você pode implementar os princípios de design usando uma implantação com base nessa arquitetura opinativa.



maf-arch-paas.zip

A Oracle recomenda os seguintes componentes na arquitetura de extensão SaaS:

  • IU

    O Oracle JavaScript Extension Toolkit (Oracle JET) fornece um kit de ferramentas de código-fonte aberto leve para a criação de interfaces de usuário avançadas que abrangem vários dispositivos. Ele também suporta a experiência de usuário Redwood, que permite desenvolver extensões para o Oracle Applications Cloud que fornecem a mesma experiência que os aplicativos entregues pela Oracle. Para simplificar e acelerar o desenvolvimento de aplicativos Oracle JET, use o Oracle Visual Builder Studio, que fornece uma abordagem mais declarativa e visual ao desenvolvimento.

  • Servidor Web

    O Oracle Visual Builder Studio fornece um serviço totalmente gerenciado para hospedar seu aplicativo Web e fornece acesso seguro a dados no Oracle Applications Cloud e a serviços externos baseados em REST. Além disso, ele suporta sign-on único entre seus aplicativos de extensão personalizados e o Oracle Applications Cloud.

  • Lógica de negócios

    Para implementar requisitos de lógica de negócios, use tecnologias escaláveis sem servidor, como o Oracle Functions e o Helidon, e exponha-os como APIs REST para facilitar o consumo.

  • Integração

    O Oracle Integration é um serviço totalmente gerenciado que permite integrar seus aplicativos, automatizar processos, obter informações sobre seus processos de negócios e criar aplicativos visuais.

    O Oracle Integration for SaaS, uma versão simplificada do Oracle Integration, fornece os recursos e benefícios do Oracle Integration com foco em SaaS.

  • Banco de Dados

    O Oracle Database fornece uma maneira de armazenar dados de forma mais acessível quando o Oracle Applications Cloud não tem uma maneira fácil ou eficiente de acessar e tratar dados diretamente.

  • Gateway de API

    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.

Alternativas e Antipatternas

Considere as alternativas à arquitetura descrita nesse padrão e evite tentar implementar antipatternos.
  • Alternativas

    Para aplicativos que não exigem integração na interface do Applications Cloud, você pode considerar o uso de estruturas de interface de usuário alternativas.

    Se os sistemas existentes exigirem acesso aos dados do Applications Cloud e você estiver preocupado em sobrecarregar o Applications Cloud com solicitações externas, você poderá extrair conjuntos de dados para bancos de dados externos.

  • Antipatternos

    Não tente replicar processos de negócios, validações e segurança já definidos no Applications Cloud em sistemas externos. Isso introduz um risco de sair de sincronia com o sistema original.

Exemplo de Casos de Uso

Estes são alguns exemplos de casos de uso para extensões SaaS usando arquiteturas semelhantes:
  • Sistemas internos personalizados

    Acompanhe a integração de novos funcionários, alocação de espaço de estacionamento, aprovação de viagens, verificações de conformidade de faturas e muito mais.

  • Sistemas de Mashup

    Monte o inventário do Applications Cloud com informações sobre o cliente de sistemas externos, como SalesForce.

  • Sistemas externos

    Entrada de pedidos, catálogos de parceiros e portais de suporte do serviço selve.

Estudos de Caso Público

Estas são algumas empresas que usaram esse padrão Moderno de Desenvolvimento de Aplicativos para implantar extensões SaaS:
  • Panasonic

    Criou um portal de parceiros voltado para a Web que acessou dados da Oracle Advertising and Customer Experience (Oracle CX).

  • Yum! Marcas

    Criou um conjunto de extensões internas do HCM para tarefas como relatório de horas.

  • Caesars Entertainment

    Criou um sistema de revisão de regulamentação de fatura que estendeu o ERP.

Alterar Log

Esse log lista alterações significativas:

Agradecimentos

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