Saiba Como Estender Aplicações do SaaS com um Abordagem Nativa da Nuvem
À medida que os negócios adotam mais o SaaS, a capacidade de estender para atender a requisitos de negócios em constante mudança torna-se mais importante. Antes do Cloud Native, as equipes de TI enfrentam as realidades de selecionar um conjunto de fornecedores oferecidos soluções de integração, fornecer casos de uso simplificados ou configurar pilhas grandes de infraestruturas para dar suporte a seus casos de uso mais complexos. Os clientes que usam o Oracle Java Cloud Service - SaaS Extension normalmente hospedam extensões de IU do SaaS, que normalmente são criadas usando o Oracle ADF Framework, ou usam o serviço para hospedar algum código (um ponto de entrada do REST) chamado pelo Oracle Fusion Applications Cloud Service ou outro aplicativo. O Oracle Java Cloud Service - SaaS Extension é um serviço de nuvem legado que não tem os recursos de ofertas nativas modernas do Oracle Cloud.
O Cloud Native apresenta recursos como contêineres e funções sem servidor. Ao usar essas ofertas, sua equipe de desenvolvimento pode se concentrar na conclusão de seus casos de uso ao descarregar a complexidade da infraestrutura para seu provedor de nuvem. O Oracle Cloud Native Services fornece os recursos que sua equipe de desenvolvimento precisa para estender seus aplicativos SaaS de maneira muito mais fácil para implementar e manter.
Arquitetura
Essa arquitetura mostra um design de alto nível para uma extensão de um aplicativo SaaS, criada com o uso da abordagem Nativa da Nuvem. Você pode usar o Oracle Functions como implementação de backend de uma API REST, protegida pelo Oracle Identity Cloud Service.
A implementação é realizada através do uso do Oracle Cloud Infrastructure API Gateway. Este playbook de solução apresenta um caso de uso para estender o Oracle Fusion Applications Cloud Service, mas as mesmas técnicas podem ser usadas com ou sem o SaaS na figura.
O seguinte fluxo é representado:
- O Oracle Visual Builder conecta-se ao Gateway de API por meio de um aplicativo de Autenticação de Aplicativo Identity Cloud (Cliente de Recurso de Função) no Oracle Identity Cloud Service. Um token de autenticação com o cabeçalho "Autorização: Bearer; <Token1>" está incluído.
- O gateway da API conecta-se novamente ao Oracle Identity Cloud Service, estabelecendo conexão com o componente Identity Cloud /admin/v1/SigningCert/jwk para validar o token.
- O Gateway de API conecta-se à Biblioteca de Asserção OAuth do Identity Cloud integrada à Função Oracle, com o token original com o mesmo cabeçalho do token da etapa 1.
- A Biblioteca de Asserção OAuth do Identity Cloud integrada à Função Oracle conecta-se ao Oracle Cloud Infrastructure Vault, para pesquisar credenciais armazenadas e seguras para a próxima etapa.
- A Função se conecta ao Oracle Identity Cloud Service para extrair um novo token do aplicativo Identity Cloud App (Function Resource Owner) (Fusion Applications Resource Client). Esse token é válido para um usuário que existe no Oracle Cloud PaaS e no Oracle Fusion Applications.
- O componente da Lógica de Negócios dentro da Função do Cliente do Oracle Fusion Applications Cloud conecta-se a uma Instância do Fusion Applications Cloud usando um novo token de autenticação (Token da Asserção) com o cabeçalho "Autorização: Bearer; <Token2>"
O Gateway de API pode ser autenticado diretamente no Oracle Identity Cloud Service ou, opcionalmente, executar uma função de autenticação personalizada (não mostrada no diagrama).
Antes de Começar
Para fazer chamadas de API REST seguras do Oracle PaaS para o Oracle Fusion Applications Cloud Service, você deve configurar uma integração usando o Oracle Identity Cloud Service. Consulte estes playbooks de solução com instruções abrangentes para configurar tal integração:
- Integrar um aplicativo Oracle SaaS ao Oracle PaaS
- Acessar dados do PaaS de um aplicativo em nuvem usando serviços Web
Para usar o Oracle Functions com o Oracle Cloud Infrastructure, você precisa configurar seu ambiente:
- Revise os Guias de Início Rápido do Oracle Functions para configurar rapidamente um ambiente de desenvolvimento.
- Configuração abrangente do ambiente cliente encontrada na seção Preparando para Oracle Functions da Documentação do Oracle Cloud Infrastructure.
Sobre os Requisitos de Design
À medida que as empresas adotam um software mais baseado na nuvem (Software como um Serviço ou SaaS), a capacidade de estender para atender às mudanças nos requisitos de negócios é mais importante. Antes do Cloud Native, as equipes de TI enfrentaram as realidades de selecionar um conjunto de soluções de integração oferecidas pelo fornecedor, que fornecem casos de uso simplificativos ou configurar pilhas complexas e não complexas de infraestruturas para dar suporte a seus casos de uso mais complexos.
O Cloud Native apresenta novos recursos, como containers e funções sem servidor. Ao usar essas ofertas, suas equipes de desenvolvimento podem se concentrar na conclusão de seus casos de uso enquanto descarrega a complexidade da infraestrutura para o provedor de nuvem. O Oracle Cloud Native Services fornece os recursos que suas equipes de desenvolvimento precisam para estender seus aplicativos SaaS de maneira muito mais fácil para implementar e manter.
O Oracle Functions é uma oferta FaaS (functions-as-a-service) do Oracle que permite aos desenvolvedores executar o código na nuvem e só pagar a capacidade de processamento utilizada, evitando, assim, executar o serviço 24x7. A vantagem adicional é que a infraestrutura necessária para executar o código é totalmente gerenciada pelo Oracle e não requer que o cliente/desenvolvedor mantenha o ambiente de runtime.
Ao usar o novo serviço de Gateway de API da Oracle Cloud Infrastructure com o Oracle Functions, as equipes de desenvolvimento podem criar APIs sem servidor que desbloqueiem o poder das funções sem servidor para aplicativos como o Oracle Fusion Applications Cloud Service que se integram facilmente com APIs RESTful.
Se você comparar isso com uma instância do Oracle Java Cloud Service ou do WebLogic Server Cloud, em que você é responsável pela manutenção e gerenciamento do software, o sistema operacional associado que hospeda o WebLogic Server e, com frequência, um banco de dados, essa “abordagem totalmente Gerenciada pela Oracle” é muito atraente.
Talvez você já esteja usando o Oracle Java Cloud Service - SaaS Extension. Por exemplo, você pode estar usando o serviço para hospedar Extensões de IU do SaaS, que normalmente são criadas com o Oracle ADF Framework. Outro caso de uso comum é hospedar algum código (um ponto de entrada REST) que é chamado pelo Oracle Fusion Applications Cloud Service ou outro aplicativo. Se você quiser mover a plataforma, a Oracle geralmente recomenda uma migração para o Oracle Visual Builder.
Vamos considerar os seguintes requisitos de design, que podem ser semelhantes ao seu. No momento, um cliente tem seu aplicativo implantado no Oracle Java Cloud Service - SaaS Extension e está usando a estrutura do Oracle ADF Faces. O cliente deseja migrar para uma plataforma mais moderna e a plataforma deve ser gerenciada pelo Oracle – após todos eles serem um cliente SaaS e serem usados para coisas que estão sendo gerenciadas para eles. E no curso, sempre existe o requisito de que a implementação é segura.
Portanto, eles decidiram usar o Oracle Visual Builder para implementar sua IU. Esse cliente pode querer fazer alguma lógica de negócios complexa antes de chamar o Oracle SaaS, como armazenamento em cache, agregação de dados, lógica complexa ou conversão de protocolo talvez (REST para o SOAP). Depois que alguma investigação tiver determinado que a maioria das solicitações de rede pode ir diretamente ao Oracle SaaS, mas algumas das chamadas precisarão passar por uma camada intermediária para tratar a lógica de negócios, em vez de chamar diretamente a API.
Para esse cliente, o Oracle apresenta uma arquitetura que usa o Oracle Functions como camada intermediária para seu código lógico de negócios personalizado.
Vamos resumir os requisitos de design:
- Estender Oracle Fusion Applications Cloud Service com personalizações e acesso a dados baseados no REST
- Usar plataforma Oracle-managed Cloud
- Implementar verbos REST (GET, POST, PUT etc.)
- Use o Oracle Visual Builder para personalização de código mais simples e de baixo código
- Abordagem sem servidor nativo da nuvem para executar código sem exigir provisionamento ou gerenciamento de infraestrutura
- O Oracle Functions de baixo custo indireto eficiente pode tratar chamadas que exigem lógica de negócios complexa
- Tratar a propagação da identidade para o sistema SaaS de destino para controle de acesso seguro, autenticado e autorizado com SSO
- Os pontos finais da API devem ser protegidos
- Implemente o CORS (Cross-Origin Resource Sharing) para emitir chamadas REST diretamente para o servidor REST.
Para atender a estes requisitos, quatro serviços são incluídos na arquitetura:
- Oracle Identity Cloud Service: um armazenamento de identidades globais.
- Oracle Functions: personalize APIs SaaS com seu próprio código.
- Gateway de API Oracle Cloud Infrastructure: Um gateway de API que controlará o mapeamento REST para Funções e forçará a segurança.
- Oracle Cloud Infrastructure Vault: um mecanismo de gerenciamento de chaves usado para criptografar senhas e segredos de clientes.
O Oracle Cloud Infrastructure API Gateway tem um recurso integrado para comunicação com o Oracle Identity Cloud Service. No entanto, para demonstrar como usar o código Oracle Functions personalizado com o Gateway de API, fornecemos uma função de autenticação personalizada (AuthN) como um mecanismo de autenticação opcional.
Sobre Serviços e Funções Necessários
Essa solução requer os seguintes serviços e funções:
- Oracle Fusion Applications Cloud Service
- Oracle Visual Builder
- Oracle Cloud Infrastructure
- Oracle Identity Cloud Service
Essas são as atribuições necessárias para cada serviço.
Nome do Serviço: Atribuição | Necessário para... |
---|---|
Oracle Fusion Applications Cloud Service: Administrador | Configure o sign-on único entre o Oracle Fusion Applications Cloud Service e o Oracle Identity Cloud Service. |
Oracle Visual Builder: a atribuição predefinida de Desenvolvedor do Visual Builder que é mapeada para a atribuição predefinida da camada da aplicação ServiceDeveloper .
|
Criar, gerenciar, proteger e publicar aplicações Web e móveis. |
Oracle Cloud Infrastructure: Administrador | Implante funções e configure o Gateway de API. |
Oracle Identity Cloud Service: Administrador de Segurança e Administrador de Aplicativos | Gerencie provedores de identidade e gerencie aplicativos. |
Consulte Saiba como obter serviços do Oracle Cloud para Oracle Solutions para obter os serviços de nuvem de que você precisa.