A empresa em que trabalho está avaliando algumas soluções de middleware para governança, medição e segurança de serviços da web. Atualmente, estamos usando um ESB (Enterprise Service Bus) para esse fim, mas algumas pessoas legais da gerência decidiram implantar algum API Management Middleware.
Pesquisei um pouco sobre essas soluções de gerenciamento de API (também conhecido como API Gateway), mas não consegui encontrar a diferença entre elas e os ESBs reais. Avaliei alguns white papers da Mule, WSO2, Oracle etc., mas os recursos oferecidos por ambos os produtos parecem quase os mesmos. A questão é: o que um gerenciamento de API pode fazer que um ESB não pode fazer e vice-versa? Qual valor pode ser adicionado a uma infraestrutura de TI substituindo um ESB por um gateway de API?
fonte
Respostas:
A razão pela qual você está confundindo os conceitos é que os fornecedores os estão vendendo em um pacote. Mas eles são definitivamente conceitos separados.
Um API Gateway fornece um ponto de acesso central para gerenciar, monitorar e proteger o acesso aos seus serviços da Web expostos publicamente. Também permitiria a consolidação de serviços em pontos de extremidade diferentes, como se todos fossem provenientes de um único host. Por exemplo, digamos que você tivesse dez pontos de extremidade de serviço diferentes que faziam parte de um único "conjunto" de serviços. Em vez de informar os consumidores de seu serviço para usar service1.yourcompany.com para um serviço e service2.yourcompany.com para outro e assim por diante, você pode fazer com que todos aponte para api.yourcompany.com/service1 ou api.yourcompany.com / service2 e o gateway seria responsável por redirecionar as solicitações para os pontos de extremidade apropriados.
Um ESB é um "barramento" interno que permite que aplicativos e serviços se comuniquem entre si de maneira desacoplada. Todos os aplicativos podem se conectar ao barramento e podem receber qualquer mensagem que lhes interesse quando publicados por outro aplicativo. Eles também podem publicar suas próprias mensagens que outro aplicativo pode ouvir e responder. Os aplicativos não são responsáveis por se conectar diretamente, publicam suas mensagens no ônibus e todas as partes interessadas ouvem e reagem.
Logicamente, o API Gateway não é um substituto para um ESB, mas um aprimoramento para uma arquitetura orientada a serviços.
fonte