Organizações com processos bem integrados percebem o valor disso no dia a dia, traduzido em sua agilidade, sem perda de precisão. Não é nova a necessidade de comunicação do fluxo de dados em tempo real. Mas esse continua a ser um grande desafio, que esbarra de frente com outras prioridades, como performance, segurança e privacidade de dados.
A boa notícia é que são várias as tecnologias de integração que já surgiram – e ainda vão surgir – com o objetivo de endereçar essas questões.
Uma das mais tradicionais delas é o ESB – Enterprise Service Bus, uma plataforma de integração que combina mensagem, web services, transformação de dados e roteamento inteligente para conectar e coordenar de maneira confiável a interação de vários sistemas.
Apesar de relativamente recente – está no mercado desde os 2000 –, o ESB já teve sua decadência decretada algumas vezes, por diferentes razões. No entanto, ele ainda vive – e muito bem, por sinal.
O que é importante saber sobre essa tecnologia de integração em tempos de microsserviços, iPaaS e outros? Veja aqui!
O que é um ESB ou barramento de integração?
ESB ou barramento de integração é um middleware que facilita a integração em tempo real entre diferentes sistemas, fazendo o recebimento, transformação e envio de dados baseado em protocolos padronizados de acordo com os princípios da SOA.
Funciona assim: por um de seus endpoints o barramento recebe os dados de uma aplicação que precisam ser compartilhados com outra, determina para onde essa mensagem deve ir, converte esses dados e os encaminha a seu destino.
O ESB surgiu nos anos 2000, na era do SOA – service-oriented architecture, quando quase todas as integrações eram assíncronas, caras e complexas – as chamadas integrações ponto a ponto. Mas ele foi um projeto evolutivo. Em sua formulação final, ele surge como um hub que fica entre os vários sistemas de uma organização, que viabiliza a comunicação de maneira muito mais simples. Com ele, as aplicações podem manter sua independência e é possível inclusive fazer reúso de trabalho, uma vez que uma integração feita e exposta como um serviço pode ser reutilizada para a próxima aplicação.
5 principais funcionalidades e características de um ESB
Segundo o Gartner, “consistência não é o principal atributo desse mercado”. Dois produtos podem ser muito diferentes e igualmente chamarem-se de ESB.
Ainda assim, algumas características se sobressaem:
1. Fundamentação no SOA
No ESB, as aplicações são tratadas como endpoints de serviço, que podem rapidamente responder a eventos assíncronos mesmo sem compreender os protocolos ou saber como as mensagens são roteadas para outros serviços.
Isso permite um alto nível de desacoplamento das aplicações provedoras de dados das aplicações consumidoras de dados.
2. Centralização
Há apenas um ponto de trabalho para ser gerenciado, o barramento. Apesar disso, os recursos de integração funcionam como serviços individuais que podem trabalhar de maneira distribuída e escalados de maneira independente.
3. Ampla aplicabilidade
O ESB é uma arquitetura flexível e adaptável a necessidades de diferentes cenários de integração, incluindo iniciativas que envolvem toda a organização e até seus parceiros.
Seus endpoints suportam tanto componentes já tradicionais de mercado como proprietários, pelo uso de interfaces-padrão.
4. Transformação de dados
A conversão de dados de acordo com o formato exigido para cada aplicação é uma parte inerente a um ESB.
5. Segurança
Todos os componentes que se comunicam através do barramento têm recursos de segurança para garantir a confiabilidade, integridade e autenticidade das mensagens.
Desafios comuns na implementação e manutenção de ESB
1. Complexidade
Embora tenha trazido mais facilidade às integrações do que o modelo ponto a ponto, o ESB é uma arquitetura de difícil manutenção, que exige expertise técnica para ser implantado e mantido.
2. Variação de fornecedores
O mercado de ESB é muito variado. Por isso, mudanças de fornecedor ou até mesmo upgrades são difíceis.
3. Performance
Quando o número de endpoints, mensagens, frequência e transformação de dados é muito grande, a performance do ESB pode diminuir, gerando latência na comunicação.
Questões como segurança, confiabilidade e integridade também podem afetar a performance do ESB.
No entanto, esse desafio não é exclusivo do ESB, e sim inerente a qualquer cenário de integração.
4. Escalabilidade
Apesar de não precisar ser assim, é comum que uma organização tenha apenas um ESB para todas as suas integrações – o que pode significar ter centenas delas.
O alto nível de centralização faz com que adicionar ou atualizar integrações do ESB possa afetar outros componentes conectados, limitando o poder de escala da solução e exigindo um trabalho extenso de testes.
ESB diante de novas tecnologias de integração: complemento ou ultrapassado?
O desuso do ESB está vaticinado pelos especialistas desde 2015, com apenas 15 anos de sua consolidação no mercado.
Isso se deve principalmente ao surgimento de outras tecnologias, como microsserviços e iPaaS, que usam APIs em vez de barramento.
Essas seriam tecnologias mais leves, fáceis de instalar e de usar, enquanto o ESB seria uma tecnologia mais pesada, própria para aplicações on-premise.
Apesar disso, o ESB nunca foi excluído do rol de tecnologias de integração. Mais que isso: suas virtudes – como padronização, flexibilidade e reusabilidade – foram base para desenvolvimento desses novos recursos, como funcionalidades ligadas a:
- Integração de aplicações na cloud
- Democratização da competência de integração e à usabilidade: low-code, componentes desenvolvidos e interface visual de desenvolvimento
- Escalabilidade: implantação na cloud
- Menores custos de operação e manutenção: SaaS.
Por isso, o ESB continua a dividir espaço e sendo adaptado às abordagens novas em integração, conteinerizadas e descentralizadas, que suprem suas limitações.
Leia mais sobre as diferenças entre ESB e iPaaS!