Muitas organizações ao redor do mundo começaram a implementar uma plataforma interna de integração baseada em Kafka nos últimos anos. Inicialmente, o foco era a integração interna, ou seja, conectar um grande conjunto de aplicações por meio de uma plataforma baseada em eventos, confiável e de alta velocidade.
No entanto, após o sucesso na integração interna, muitas grandes empresas começaram a considerar como melhorar a comunicação com parceiros por meio de um ou mais gateways B2B específicos.
Usando o Kafka para aprimorar os fluxos de dados B2B entre parceiros
Simplesmente conectar parceiros de negócios a tópicos Kafka gera problemas de segurança, pois o Kafka, por design, utiliza protocolos de rede de baixo nível e alta velocidade que não foram projetados para oferecer recursos de segurança para B2B.
A boa notícia é que, há décadas, os gateways B2B têm sido perfeitamente capazes de mediar entre diferentes protocolos e formatos de dados. Se um gateway B2B puder se conectar a uma plataforma Kafka, ele se torna “apenas mais um sistema de back-end” do ponto de vista do gateway.
A abordagem pragmática
Alguns clientes simplesmente querem consumir e publicar mensagens em tópicos Kafka a partir de plataformas como o B2Bi da Axway.
Uma pequena porcentagem dos eventos na plataforma Kafka também são relevantes para parceiros de negócios e/ou algumas mensagens recebidas de parceiros precisam ser compartilhadas na plataforma Kafka para consumo por aplicações de back-end específicas.
Do ponto de vista do B2Bi, o Kafka é tratado como “apenas mais um aplicativo de back-end”. Isso significa que a conectividade com Kafka é utilizada juntamente com a conectividade direta com sistemas centrais de back-end, como SAP.
A abordagem baseada em arquitetura
Um grupo crescente de grandes clientes que utilizam tais plataformas (como o B2Bi) adota uma abordagem mais estratégica e orientada por arquitetura. A ideia central é que qualquer aplicativo interno se conecte a qualquer outro aplicativo por meio do Kafka (sem conexões diretas entre aplicativos internos).
Como um gateway B2B, ele também deve se conectar a qualquer outro aplicativo interno usando Kafka.
Conexões diretas entre, por exemplo, B2Bi e SAP são substituídas por uma conexão através do barramento de eventos Kafka.
A grande vantagem dessa abordagem é que ela aumenta a agilidade e a flexibilidade em comparação com conexões diretas entre o B2Bi e aplicações de back-end, permitindo que mudanças em qualquer um dos lados sejam implementadas de forma mais rápida e fácil.
Configurando o Kafka no Axway B2Bi
Vamos utilizar a solução B2Bi da Axway como exemplo neste exercício. Veja como a solução pode ser conectada a uma plataforma de eventos Kafka para suportar tanto uma estratégia pragmática quanto uma abordagem arquitetônica de conectividade entre Kafka e o gateway B2B.
Por padrão, o B2Bi oferece suporte a diversos tipos de conexões entre seus sistemas de back-end e o B2Bi, como sistemas de arquivos, JMS, MQSeries, FTP e muitos outros. Além disso, o produto inclui um framework que permite criar integrações personalizadas reutilizáveis em qualquer fluxo para qualquer parceiro.
Como configurar uma integração B2Bi como consumidor Kafka
Para configurar um consumidor básico, você precisará dos seguintes pré-requisitos:
- Uma instância Kafka em execução
- Um parceiro configurado
- Uma comunidade configurada
O primeiro passo é criar um novo Trading Pickup no parceiro predefinido.
Nesse Trading Pickup, você deve inserir o Kafka Bootstrap Server (endereço da instância Kafka em execução), o tópico ao qual deseja conectar o consumidor, o tempo limite para consulta de novas mensagens e o Consumer Group ID que será usado para acessar o tópico Kafka.
Após configurar esse Trading Pickup, será possível consumir mensagens Kafka nos fluxos do B2Bi. Para este exemplo, utilizaremos um fluxo simplificado.
Dessa forma, as mensagens não passarão pelo motor de integração do B2Bi e, em vez disso, serão imediatamente enviadas para um Application Delivery, que neste caso é uma entrega em um sistema de arquivos.
Quando a mensagem Kafka for entregue, ela será armazenada no sistema de arquivos no diretório designado, de onde poderá ser capturada por uma das aplicações de back-end para processamento posterior.
Essa entrega em sistema de arquivos pode ser facilmente substituída por qualquer outro Application Delivery no arsenal do B2Bi para encaminhar a mensagem diretamente a uma dessas aplicações.
Como configurar uma integração B2Bi como produtor Kafka
Para configurar um produtor, os requisitos são praticamente os mesmos do consumidor:
- Uma instância Kafka em execução
- Um parceiro configurado
- Uma comunidade configurada
A configuração do produtor segue um processo semelhante ao do consumidor, mas em ordem inversa.
Começamos definindo como a mensagem será capturada. Qualquer conector pode ser usado; neste exemplo, utilizamos um File System Pickup, que monitora um diretório específico para novos arquivos e define um destino para envio via Kafka.
Após a captura da mensagem, assim como no consumidor, ela será enviada diretamente para o parceiro Kafka designado, mas seria possível realizar qualquer processamento necessário antes disso.
A entrega em si segue a mesma lógica do Trading Pickup, contendo o Kafka Bootstrap Server, o endereço da instância Kafka, o tópico para onde a mensagem será enviada, o tempo limite para entrega e o Producer Client ID.
Conclusão
A integração entre Kafka e gateways B2B representa um avanço significativo na modernização da arquitetura de integração corporativa.
Seja adotando uma abordagem pragmática, tratando Kafka como mais um sistema de back-end, ou uma estratégia arquitetônica com Kafka como o sistema nervoso central, as organizações podem aproveitar essa poderosa combinação para aprimorar suas comunicações B2B.
Autor
Daan van Rossen
Arquiteto de soluções B2B