O que é o barramento de serviços corporativos?
O barramento de serviços corporativos (ESB) é um padrão arquitetônico de software que oferece suporte ao intercâmbio de dados em tempo real entre aplicações diferentes. Grandes organizações têm várias aplicações que executam várias funções usando diversos modelos de dados, protocolos e restrições de segurança. O ESB facilita a integração de aplicações ao realizar operações como transformação de dados, conversão de protocolo e roteamento de mensagens. As aplicações passam dados relevantes ao ESB, e ele converte e encaminha os dados para outras aplicações que precisam deles.
Quais são os benefícios de um barramento de serviços corporativos?
O conceito de barramento de serviços corporativos (ESB) pode padronizar e simplificar a comunicação, o envio de mensagens e a integração entre serviços em uma organização. Em seguida, oferecemos alguns benefícios para implementações de arquitetura ESB em pequena escala.
Melhor integração de aplicações
Um ESB oferece uma plataforma central para integração de aplicações corporativas. As organizações podem integrar perfeitamente todos os tipos de sistemas e aplicações, independentemente de suas tecnologias ou protocolos subjacentes. Isso torna mais fácil para as organizações manter, gerenciar e escalar suas aplicações.
Aumento da eficiência dos desenvolvedores
Os desenvolvedores criam aplicações com mais rapidez usando serviços de comunicação predefinidos fornecidos pelo ESB. As equipes compartilham os custos de infraestrutura e provisionam servidores para uso combinado. Eles reduzem as despesas gerais e os custos operacionais e, ao mesmo tempo, melhoram a eficiência geral. Um ESB também pode levar a um tempo de lançamento no mercado mais rápido e reduzir os custos de desenvolvimento.
Melhor visibilidade e controle
Com um ESB, as organizações podem monitorar o fluxo de dados e serviços em diferentes aplicações e identificar e resolver rapidamente quaisquer problemas que possam surgir. Isso ajuda as organizações a garantir que suas aplicações estejam disponíveis, sejam confiáveis e seguras.
Como funciona o barramento de serviços corporativos?
Um barramento de serviços corporativos (ESB) funciona com base nos princípios da arquitetura orientada a serviços (SOA).
A SOA é um método de desenvolvimento de software que usa componentes de software chamados de serviços para criar aplicações de negócios. Cada serviço fornece um recurso de negócios, e vários serviços também podem se comunicar entre si em diferentes plataformas e linguagens.
A plataforma ESB fornece serviços de comunicação que as aplicações usam para interagir umas com as outras. Alguns exemplos são transformação de mensagens, transformação de protocolo, roteamento e autenticação.
A seguir, discutiremos os principais componentes da arquitetura ESB.
Endpoints
Em uma arquitetura ESB, endpoints podem ser considerados pontos de entrada ou saída do ESB.
Cada endpoint normalmente tem um endereço ou identificador exclusivo. Você pode implementar endpoints usando várias tecnologias, como interface de serviço Web, filas de mensagens ou servidores FTP. Os endpoints também podem processar diferentes tipos de mensagens, como XML, JSON ou dados binários.
A flexibilidade da arquitetura do endpoint permite que o ESB se integre a uma ampla variedade de sistemas e aplicações.
Adaptador
O componente de adaptador nas ferramentas de ESB converte mensagens entre diferentes formatos e protocolos. Isso significa que elas podem ser consumidas adequadamente pelas aplicações de software do destinatário. Ele também pode fornecer recursos como logs de mensagens, monitoramento, autenticação e tratamento de erros.
Barramento
O barramento é o componente principal do ESB para troca de mensagens entre endpoints. Ele usa um conjunto de regras ou políticas com base em vários critérios, como tipo de mensagem, conteúdo ou destino, para encaminhar mensagens.
Você pode definir as políticas na configuração do ESB para atender aos requisitos de processos de negócios complexos. Ele usa uma variedade de protocolos de comunicação, como HTTP, JMS e FTP, para se comunicar com os endpoints.
O barramento funciona assim:
- O barramento recebe mensagem em um endpoint
- Ele determina o endereço dos endpoints de destino verificando as regras da política de negócios
- Ele processa a mensagem e a envia ao endpoint de destino
Por exemplo, digamos que o barramento receba um arquivo XML de uma aplicação conectado ao endpoint A. Ele determina que o arquivo XML deve ser enviado para os endpoints B e C. O endpoint B requer dados JSON enquanto o endpoint C requer uma função Put HTTP. O adaptador converte o arquivo XML em JSON e o barramento o envia ao endpoint B. O barramento executa uma solicitação HTTP com XML no endpoint C.
Quais são as limitações do barramento de serviços corporativos?
A arquitetura corporativa se afastou do barramento de serviços corporativos (ESB) devido às seguintes limitações.
Complexidade
É necessário conhecimento técnico especializado para implementar e manter um ESB, o que o torna complexo e caro. As restrições de fornecedores dificultam a mudança para outra solução ESB e limitam as opções de integração de dados. As equipes enfrentam tempos de espera prolongados, pois somente a equipe de gerenciamento central do ESB pode integrar novas aplicações corporativas.
Escalabilidade
O software de ESB introduz latência adicional na comunicação devido às camadas adicionais de abstração e processamento. À medida que o número de terminais e o mapeamento de serviços de comunicação aumentam, o ESB se torna um gargalo e afeta a performance. O custo da implementação de alta disponibilidade e recuperação de desastres para os servidores ESB também aumenta.
Dificuldade de upgrade
Fazer aprimoramentos em uma integração de ESB pode causar instabilidade em outros componentes conectados e exigir testes significativos antes de atualizações. O financiamento de upgrades de projetos de ESB requer colaboração entre equipes, o que pode ser um desafio.
Quais tecnologias estão substituindo os barramentos de serviços corporativos?
Atualmente, o uso de barramentos de serviços corporativos (ESB) é limitado principalmente a sistemas herdados que exigem integrações complexas. O padrão arquitetônico ESB foi substituído pela arquitetura de microsserviços, entre outras tecnologias.
Uma arquitetura de microsserviços é composta por componentes de software muito pequenos e completamente independentes, com seus próprios protocolos de comunicação que são expostos por meio de APIs leves. Cabe essencialmente aos consumidores usar o microsserviço por meio de sua API, eliminando assim a necessidade de um ESB centralizado.
Para obter mais informações, você pode ler sobre microsserviços e ler sobre APIs.
O surgimento da computação em nuvem e da arquitetura de microsserviços levou ao surgimento de novas tecnologias que geralmente são vistas como alternativas aos ESBs. Discutiremos algumas delas a seguir.
Gateways de API
Gateways de API são componentes leves que fornecem um único ponto de entrada para os clientes acessarem vários serviços. Eles geralmente são usados para gerenciar APIs, reforçar a segurança e lidar com o tráfego.
Malha de serviço
Uma malha de serviços é uma camada de infraestrutura dedicada para gerenciar a comunicação entre serviços em uma arquitetura de microsserviços. Ela fornece recursos como descoberta de serviços, balanceamento de carga e gerenciamento de tráfego.
Arquitetura orientada a eventos
Em uma arquitetura orientada a eventos, os serviços se comunicam por meio de tratamento assíncrono de eventos em vez de solicitações síncronas. Um evento é uma mudança de estado ou uma atualização, como um item sendo colocado em um carrinho de compras de um site de comércio eletrônico. Eventos podem conter o estado (o item comprado, o preço ou um endereço de entrega) ou podem ser identificadores (uma notificação de que um pedido foi despachado, por exemplo).
O que é um barramento de eventos?
Muitas organizações migraram do barramento de serviços corporativos (ESB) para barramentos de eventos. Um barramento de eventos é um pipeline que recebe eventos. Ele conecta os componentes da aplicação com base em eventos, o que facilita a criação de aplicações escaláveis orientadas por eventos.
Regras associadas com o barramento de eventos avaliam os eventos à medida que eles chegam. Cada regra verifica se um evento corresponde aos critérios da regra. Você associa uma regra a um barramento de eventos específico e, portanto, a regra só se aplica aos eventos recebidos por esse barramento de eventos.
Um produtor publica um evento no barramento de eventos. O barramento de eventos filtra e avalia os eventos à medida que eles chegam com base em regras pré-configuradas e, em seguida, envia os eventos aos consumidores. Serviços produtores e serviços consumidores são dissociados, o que permite que sejam escalados, atualizados e implantados de forma independente.
Como a AWS pode dar suporte aos seus requisitos de integração de aplicações?
A Amazon Web Services (AWS) oferece um conjunto de serviços de integração de aplicações. Eles permitem a comunicação entre componentes desacoplados em microsserviços, sistemas distribuídos e aplicações sem servidor. Se matar a curiosidade, leia mais em Integração de aplicações na AWS.
Por exemplo, você pode usar esses serviços para atender às suas necessidades:
- Amazon API Gateway para criar, publicar, manter, monitorar e protejar APIs em qualquer escala para workloads sem servidor e aplicações Web
- Amazon EventBridge para criar um barramento de eventos que conecta dados de aplicações das suas próprias aplicações, software como serviço (SaaS) e serviços da AWS
- Amazon Simple Queue Service (Amazon SQS) para criar uma fila de mensagens que envia, armazena e recebe mensagens entre os componentes do aplicação em qualquer volume
Comece com a integração de aplicações na AWS criando uma conta hoje mesmo.
Próximas etapas na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.