O que é um API Gateway

O que é um API Gateway? | Como pode realmente fornecer resultados práticos

Ana Neto Técnico Deixe um Comentário

"O termo API apareceu muito antes da World Wide Web. Mais recentemente um novo termo apareceu: API gateway. Parece um pouco estranho no início, pois o conceito API em si já sugere uma porta de entrada".

Definição: O que é "API gateway"?

Estou tão contente por teres perguntado! Você deve se lembrar que o termo API apareceu muito antes da World Wide Web e você deve saber que API significa "Application Programming Interface" (Interface de Programação de Aplicativos).

Mas, mais recentemente, surgiu um novo termo: "API gateway". Parece um pouco estranho no início, pois o conceito de API em si já sugere um gateway. Pode deixá-lo a pensar "o que é um gateway API?".

Em poucas palavras, um gateway API é uma ferramenta de gerenciamento que fica entre um cliente e uma coleção de serviços backendcada um com a sua própria API.

Portanto, o API gateway atua como um ponto de entrada único para um grupo definido de APIs. O cliente, neste caso, será normalmente uma aplicação de utilizador final.

De um ponto de vista mais técnico, você também pode olhar para um gateway API como um proxy reverso especializado que pode fazer diferentes APIs aparecerem como se fossem uma única API.

Uma visão Microservices

O termo "API gateway" é frequentemente utilizado num contexto de microserviços. A granularidade dos APIs fornecidos pelos microserviços é muitas vezes diferente do que é necessário. Isto resulta simplesmente do conceito de microserviços: há várias pequenas peças que fazem pequenas coisas diferentes.

Os microserviços normalmente fornecem APIs de granulação fina, o que significa que os clientes precisam interagir com vários serviços. Por exemplo, um cliente que precisa dos detalhes de um produto facilmente pode precisar buscar dados de vários serviços. É por isso que um gateway API faz sentido no mundo dos microserviços.

Neste contexto e dentro de uma arquitetura de microserviços, novamente o objetivo do API gateway é apresentar um ponto de entrada único para todos os clientesmas, neste caso, isto é feito. principalmente pela simplificação do API apresentado aos clientes.

arquitetura de gateway API

Neste diagrama, você pode ver um gateway API está na borda dos sistemas. Actua como uma ferramenta de gestão ou middleware que medeia entre um cliente e um conjunto de serviços backend.

Estes os serviços backend podem mudar localização, arquitetura e implementação (linguagem, estrutura e outros) com impacto mínimo.

Uma Visão Arquitetônica

Você não precisa se limitar a uma visão de gateway API de microserviços, embora seja o que você poderia chamar de "visão clássica de um gateway API".

Você também pode olhar para um gateway API de uma forma mais arquitetônica e vê-lo como um padrão de design. Podemos dizer que o padrão de gateway API é duplo, pois na verdade corresponde a dois padrões clássicos de design Gang of Four: o adaptador e a fachada.

Como um adaptadorpermite a comunicação e colaboração, mesmo que as interfaces sejam incompatíveis.

Como um fachadaA API gateway encapsula a arquitetura interna da aplicação e fornece uma API para seus clientes.

Tanto na visão dos microserviços como na visão arquitetônica, o API gateway tem sempre um papel de orquestração e, no final, deve estar lá para que as coisas funcionem sem problemas. Mas como se pode passar dos conceitos e definições aos resultados?

Como um API Gateway pode fornecer resultados práticos

Vamos mergulhar em aspectos mais práticos e ver como podemos obter resultados.

Para isso, usaremos um gateway API específico, nosso próprio gateway de integração chamado Connect Bridge. Pense no Connect Bridge como um ponto de entrada único que "fala" SQL. Isto significa que qualquer que seja o código utilizado (e você pode ir para qualquer linguagem de programação) ele irá se comunicar com este gateway API como se fosse uma base de dados, através das instruções CRUD normais: SELECCIONAR, INSERIR, ACTUALIZAR, APAGAR.

Connect Bridge tem um "tradutor" (que na verdade chamamos de "conector") para cada aplicação que queremos alcançar através da API. Este conector traduz eficazmente as instruções SQL em chamadas API.

Usando Connect Bridge, você precisará de menos código (muito menos - a redução pode ser de até 90% dependendo do projeto), o código será mais fácil de entender e testar, e você irá reduzir significativamente o número de bugs.

O engraçado é que quando você está trabalhando com o Connect Bridge, o fato de ele usar SQL fará você pensar que está trabalhando com a base de dados do sistema do alvo, por exemplo, a base de dados do Microsoft Exchange. Mas não se preocupe, você não está, e a integridade da base de dados é segura - é um gateway e sempre acessando o sistema alvo através de sua API.

Passo-a-passo com Connect Bridge como gateway API

  1. Código da sua nova ou antiga aplicação
  2. Instruções CRUD em SQL padrão acessando o sistema de destino como se fosse uma base de dados
  3. Connect Bridge traduz SQL em chamadas API
  4. Para cada sistema de destino estas traduções são realmente tratadas por um conector

Que linguagens de programação posso usar?

Uma nota sobre qual linguagem de programação você pode usar com Connect Bridge. Como eu mencionei, você pode usar praticamente qualquer linguagem de programação.

Você só precisa ter certeza de que ele apóia ODBC, JDBCou Serviços Web. Desde que o faça, estás pronto para ir.

Por exemplo, digamos que você quer usar Java. Tudo bem, então você pode gerar uma JDBC Connection String, e aí você tem um gateway API Java.

Você quer usar o Node.js? Isso também é bom, você pode gerar uma Web Services Connection String e você tem o seu Node.js API gateway.

Eu poderia continuar, mas acho que você já entendeu: você pode ir em frente e usar sua linguagem de programação favorita.

Connect Bridge Cordas de Ligação

Connect Bridge Cordas de Ligação

Connect Bridge API Gateway Pricing

Connect Bridge é uma ferramenta paga, com preços variáveis em termos do número e tipo de conectores utilizados e do número de utilizadores. Para você ter uma idéia geral do custo desta API gateway, podemos dizer que os preços começam em 150 euros/mês. Para obter mais detalhes sobre os preços, vá para aqui. Recomendamos que você mesmo o experimente com o avaliação gratuita primeiro e desta forma você pode ter uma idéia de quais serão os ganhos de produtividade.

Em termos de ROI, você também deve considerar que a porta de entrada garante a solução final continua a funcionar mesmo quando o sistema alvo é actualizado sem qualquer alteração ao código que escreveste. Todos os problemas serão tratados pela porta de entrada.

Primeiros passos com o Connect Bridge

Para o acompanhar nos primeiros passos com o Connect Bridge, vamos precisar de um sistema de destino de exemplo. Escolheremos o Microsoft SharePoint para isso, mas pode ser muitos outros.

  1. Solicite um avaliação gratuita.
  2. Instale Connect Bridge.
  3. Manusear a configuração usando o Connect Bridge Management Studio:
    • A autenticação da API gateway tem dois passos. Para se conectar ao SharePoint, os usuários precisam se conectar ao Connect Bridgee depois Connect Bridge precisa de se ligar ao SharePoint.
      • Adicionar uma conta para SharePoint (Contas - Adicionar conta). Vai precisar das suas credenciais para o SharePoint.
      • Permitir que o usuário Administrador padrão utilize essa conta ou criar um novo usuário e permitir que esse usuário utilize a conta SharePoint.
    • o Clique na opção Nova Consulta e, em seguida, no Navegador de Conexão. Localize o Conector SharePoint e abra até chegar ao DefaultConnection. Clique com o botão direito do mouse sobre ele e selecione Get Connection String. Em seguida, copie a string de conexão apropriada. Você vai precisar dela para o seu código.

Experimentando Connect Bridge

Use a opção Nova Consulta para testar uma consulta que irá obter os dados que você precisa do SharePoint. Iremos com um exemplo de consulta aqui, ainda assim, a consulta deve ser ajustada para você o que você deseja do SharePoint.

Depois de selecionar a opção Nova Consulta, abra o Navegador de Conexão.

  1. Encontre o conector SharePoint e abra até ver a opção Tabelas. Você poderá ver que o esquema contém uma "tabela" chamada Site_Pages.
  2. Nós podemos usar a consulta SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
    Isto irá seleccionar as primeiras 10 entradas da lista de Páginas de Sítio do SharePoint.

Por favor, note que embora pareça que estamos usando uma base de dados diretamente, não é o caso de forma alguma. Connect Bridge está a aceder apenas à API e depois a apresentar os dados como se tivessem vindo de uma base de dados. Sinta-se à vontade para explorar um pouco aqui. Você também pode explorar os procedimentos armazenados disponíveis. Assim que você tiver sua consulta, copie-a, pois você precisará dela no seu código.

Também é importante notar que, neste momento, você está apenas testando as coisas. Você pode pensar no Connect Bridge Management Studio como seu playground. Assim que estiver satisfeito com a consulta que recebeu, basta usá-lo no seu código, como se estivesse a aceder a uma base de dados. É bastante simples.

Para informações mais detalhadas, você pode verificar a documentação da API gateway que você receberá quando receber o seu avaliação gratuita. Você também pode verificar os logs da API gateway, o que no Connect Bridge é feito facilmente usando Connect Bridge Management Studio usando a opção Centro de Administração - Sistema - Logs na barra de navegação.

Conclusão e Levantamentos

O conceito de API gateway pode parecer muito teórico no início, no entanto, não é difícil visualizar os benefícios uma vez que você se concentra em uma ferramenta específica como o Connect Bridge.

  • O acesso é centralizado no API gateway, independentemente do número de sistemas alvo
  • Não ter que aprender nenhuma nova API ou linguagem de programação pode reduzir erros e melhorar a produtividade
  • A manutenção também é centralizada e isolada - está tudo no lado da API gateway e não no seu código, com compatibilidade com a frente garantida para cada sistema alvo pelo próprio Connect Bridge (e na verdade também compatibilidade com a retaguarda caso você precise dela)

Se você tiver algum comentário ou sugestão, escreva-os no formulário abaixo e nós responderemos o mais rápido possível.

Ana Neto - Assessora técnica, autora

Ana Neto
technical conselheiro no Connecting Software

Autor:

Sou engenheiro de software desde 1997, com uma paixão mais recente por escrever e falar em público.  Você tem alguma pergunta ou comentário sobre este post ou sobre o Connect Bridge? Eu adoraria ter o seu feedback!

 ana@connecting-software.com

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *