Observação:

Migre APIs do Oracle API Gateway para o Oracle Cloud Infrastructure API Gateway

Introdução

O Oracle API Gateway é uma plataforma on-premises generalizada usada por empresas que no passado queriam expor seus sistemas legados por meio de APIs para integração com aplicativos web, móveis ou mesmo cliente-servidor.

Neste tutorial, explicaremos uma maneira de migrar as APIs implementadas no Oracle API Gateway para uma tecnologia mais moderna e escalável, dentro dos padrões nativos da nuvem e que podem ser usadas em ambientes híbridos (na nuvem ou on-premises). A proposta é acelerar essa migração para o Oracle Cloud Infrastructure API Gateway (OCI API Gateway).

O serviço OCI API Gateway permite que você publique APIs com pontos finais privados acessíveis na sua rede que você pode expor com endereços IP públicos se quiser que eles aceitem o tráfego da internet. 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.

Usando o serviço OCI API Gateway, você cria um ou mais gateways de API em uma sub-rede regional para processar o tráfego do cliente de API e roteá-lo para serviços de back-end. Você pode usar um único gateway de API para vincular vários serviços de backend (como OCI Load Balancer, instâncias do OCI Compute e OCI Functions) em um único ponto final de API consolidado. Você pode acessar o serviço OCI API Gateway para definir gateways de API e implantações de API usando a Console do OCI e a API REST.

O serviço OCI API Gateway é integrado ao Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), que fornece fácil autenticação com funcionalidade de identidade nativa do OCI.

Este tutorial permite preparar artefatos para migração para o Gateway de API do OCI e deve ser usado em conjunto com este outro tutorial: Implemente uma Automação para Implantar uma especificação OpenAPI no Gateway de API do OCI.

Observação:

Estratégia para Migrar do Oracle API Gateway para o OCI API Gateway

Essa estratégia não permite a migração diretamente para o Gateway de API do OCI, pois são tecnologias ligeiramente diferentes. Embora o Oracle API Gateway tenha mecanismos para criar mapeamentos entre caminhos e suas políticas, gerando regras de tratamento complexas para autorização/autenticação, HEADERs, orquestrações de chamadas com regras de negócios e outras complexidades de uma API; O Gateway de API do OCI funciona apenas como um gateway de API, permitindo algum processamento de HEADERs, estabelecendo alguns princípios de timeout e limitação, mas sem grandes complexidades. A ferramenta visa ser mais simples e delimita suas funcionalidades precisamente porque faz parte de uma gama de serviços que complementam as outras funcionalidades que foram deixadas de fora.

Objetivos

Tarefa 1: Exportar as APIs do Oracle API Gateway

O Oracle API Gateway pode exportar todas as definições em um arquivo XML. Usaremos esse artefato para acelerar o processo de migração. Para obter mais informações sobre como exportar definições de APIs no Oracle API Gateway, consulte Exportando a configuração do Gateway de API.

Você obterá um arquivo XML que conterá todas as definições de API.

img_1.png

img.png

img_2.png

Tarefa 2: Converter o XML do Oracle API Gateway em uma Especificação do Swagger

Usaremos o arquivo XML do Oracle API Gateway para convertê-lo em um arquivo YAML Swagger.

  1. Altere o nome do arquivo de variável para seu arquivo XML exportado do Oracle API Gateway e execute o seguinte arquivo Python: generate_swagger.py.

    img_3.png

    img_4.png

    img_5.png

    Você receberá arquivos com a extensão YAML. Cada arquivo é uma definição do Swagger para uma API definida no Oracle API Gateway.

    Algumas linhas são comentadas na definição do Swagger. Essas linhas representam a orquestração do Oracle API Gateway em cada API. Isso ajudará a planejar e construir a orquestração no Oracle Integration.

  2. Altere o arquivo Python map_details.py para incluir seu arquivo de definição XML do Oracle API Gateway e um nome de arquivo para suas definições de mapeamento de saída.

    img_6.png

    Depois de executar este código Python, você obterá definições mais detalhadas para cada etapa de orquestração mencionada no Swagger.

    img_7.png

Tarefa 3: Implantar o Swagger no Gateway de API do OCI

Com o arquivo Swagger, podemos importar para o Gateway de API do OCI por meio de um processo de automação. Todos os arquivos YAML gerados pelo código Python podem ser implantados no Gateway de API do OCI com esse projeto. Para obter mais informações, consulte Implementar uma Automação para Implantar uma especificação OpenAPI no OCI API Gateway.

Este projeto importará a especificação do Swagger gerada aqui e implantará as APIs para uso. Será necessário ajustar os backends manualmente como parte desta documentação.

Tarefa 4: Implementar a Orquestração no Oracle Integration

Nesta tarefa, precisamos analisar caso a caso e implementar a orquestração, as regras de negócios e as validações.

Em primeiro lugar, devemos analisar cada etapa das APIs no Oracle API Gateway. Algumas etapas são regras de negócios e orquestrações e elas devem fazer parte de uma implementação no Oracle Integration. Essa implementação pode ser exposta no Gateway de API do OCI, seguindo os mesmos processos executados no Oracle API Gateway.

No entanto, há várias etapas que não precisariam ser implementadas no Oracle Integration, algumas delas:

Os processos de autenticação e autorização podem e devem ser implementados na camada do Gateway de API do OCI. Há várias maneiras de implementar isso, por meio do JWT, OAuth2, entre outras; além de permitir a personalização, consulte Passando Tokens para Funções de Autorizador para Adicionar Autenticação e Autorização a Implantações de API.

O processamento HEADER (bem como parâmetros QUERY e BODY) pode ser feito no próprio Gateway de API do OCI. O processamento pode ser feito em SOLICITAÇÃO e RESPOSTA.

Os logs também podem ser tratados no Gateway de API da OCI, mas é sempre bom ter todo o circuito registrado, ou seja, se houver implementações no Oracle Integration, tente implementar os logs lá também.

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.