Muitos processos de negócios envolvem a comunicação com partes externas, como fornecedores, provedores de logística, seguradoras e instituições governamentais. Ao contrário das comunicações internas, estas comunicações interorganizacionais geralmente têm de seguir vários regulamentos e padrões, e podem introduzir atrasos se uma das partes não cumprir. Portanto, integrações business-to-business (B2B) eficazes são uma parte fundamental da maioria dos projetos de transformação digital.

Vejamos o exemplo fictício de um fabricante de equipamentos eletrônicos chamado Smartware. A Smartware fornece equipamentos para vários varejistas e depende de vários fornecedores e parceiros logísticos para atender pedidos. Seu fluxo de trabalho de processamento de pedidos pode ser descrito da seguinte forma:

Quando um varejista envia um pedido de compra, o fluxo de trabalho de processamento de pedidos da Smartware é acionado. Primeiro, ele obtém os detalhes do varejista no sistema de gerenciamento de relacionamento com o cliente (CRM). Em seguida, ele verifica os níveis de estoque dos produtos encomendados no sistema de planejamento de recursos empresariais (ERP). Se o estoque disponível for insuficiente para atender o pedido, a lista de fornecedores elegíveis será obtida no banco de dados de fornecedores e o processo de aquisição será acionado. Assim que todos os produtos estiverem disponíveis, o pedido será enviado através de um fornecedor de logística adequado.

Se quisermos automatizar o fluxo de trabalho de processamento de pedidos acima, todos os sistemas internos (CRM, banco de dados de fornecedores, ERP) e sistemas externos (varejistas, fornecedores, prestadores de serviços logísticos) devem estar devidamente integrados ao fluxo de trabalho. Se, por exemplo, os fornecedores não estiverem integrados, o processo será retardado por etapas manuais. A equipe da Smartware precisará entrar em contato com os fornecedores manualmente (por exemplo, por e-mail) e solicitar orçamentos. Em seguida, a equipe dos fornecedores precisará pesquisar e-mails, coletar detalhes e responder. Assim que as cotações forem recebidas, a equipe da Smartware terá que analisar cada cotação, selecionar manualmente um fornecedor e fazer um pedido.

Assim, uma única interação manual B2B aumentará o tempo de resposta de forma imprevisível e introduzirá erros em todo o processo, mesmo que todas as outras etapas do processo sejam automatizadas.

Desafios nas integrações B2B

Embora as integrações B2B sejam um fator crítico para o sucesso das transformações digitais, as integrações entre parceiros de negócios nem sempre são simples. Electronic Data Interchange (EDI) é o formato de mensagem B2B proeminente. Vários padrões EDI, como ANSI X12 e EDIFACT, foram introduzidos para padronizar estruturas de mensagens EDI usadas para diferentes mensagens comerciais.

Por exemplo, as especificações X12 850 e EDIFACT ORDERS fornecem estruturas de mensagens a serem usadas em mensagens de pedidos de compra. Apesar destes esforços de padronização, as organizações utilizam variações destes formatos de mensagens padrão, dependendo dos regulamentos organizacionais e regionais. Portanto, quando dois parceiros de negócios enviam pedidos de compra usando a mensagem EDIFACT ORDERS, a estrutura real da mensagem pode variar, forçando a organização receptora a implementar uma lógica de processamento separada por parceiro.

Testar integrações B2B também pode ser um desafio devido ao envolvimento de múltiplas organizações. Quando as organizações parceiras utilizam variações dos padrões de EDI, essas variações e suposições relacionadas nem sempre são capturadas nas especificações específicas do parceiro. Podem ser necessárias várias rodadas de modificações de esquema e testes antes de implantar integrações B2B na produção.

Além disso, os parceiros de negócios podem utilizar vários mecanismos e protocolos de segurança nas comunicações B2B. Por exemplo, alguns parceiros podem usar SFTP, enquanto outros podem usar locais do Amazon S3 para trocar mensagens comerciais. Pode haver parceiros que usam HTTPS ou AS2 mútuos. Além de todos esses desafios, algumas organizações podem não usar EDI e contar com formatos personalizados JSON, XML ou CSV. Portanto, além da lógica de processamento separada, muitas integrações de parceiros de negócios podem exigir módulos separados com seus próprios protocolos de segurança e transporte.

Todos esses desafios tornam a integração de novos parceiros de negócios e a integração segura deles com sistemas internos de TI uma tarefa complexa e demorada. No entanto, do ponto de vista empresarial, é crucial integrar novos parceiros comerciais o mais rapidamente possível, a fim de automatizar as transações comerciais de ponta a ponta.

As seções restantes deste artigo descrevem uma arquitetura e uma metodologia para integrar rapidamente parceiros de negócios à plataforma interna de TI de uma organização. Duas tecnologias principais são utilizadas nesta arquitetura: a linguagem de integração Ballerina e a plataforma interna de desenvolvimento Choreo. A linguagem Ballerina pode ser usada para desenvolver rapidamente módulos de processamento EDI específicos de parceiros, enquanto o Choreo pode ser usado para testar e implementar rapidamente módulos EDI em produção.

Criação de pacotes EDI B2B específicos para parceiros

Ballerina é uma linguagem de programação projetada especificamente para escrever integrações. Ele fornece suporte integrado para tipos de dados de rede como JSON, XML, CSV e EDI. Além disso, o Ballerina oferece poderosos recursos de manipulação de dados com tipos de registros e transformações flexíveis, bem como uma grande coleção de conectores de protocolo e sistema. Ele também fornece suporte a ferramentas e geração de código relacionado a vários protocolos de rede e tipos de dados, como OpenAPI, GraphQL, gRPC e EDI. Portanto, o uso do Ballerina pode simplificar bastante as integrações B2B.

As etapas para criar um pacote Ballerina EDI específico do parceiro são mostradas abaixo.

wso2 02

Sempre que você integra um novo parceiro de negócios, é necessário obter as especificações de EDI utilizadas por esse parceiro. Na maioria dos casos, as empresas utilizam variações de documentos EDI padrão, como EDIFACT e X12. Esquemas EDI para essas mensagens EDI comuns estão prontamente disponíveis no Ballerina. Se o novo parceiro de negócios usar variações dessas mensagens padrão, os esquemas disponíveis no Ballerina poderão ser alterados para suportar essas variações. Uma vez preparados os esquemas EDI necessários, a ferramenta Ballerina EDI pode ser usada para gerar um projeto Ballerina que pode traduzir mensagens EDI em JSON e vice-versa.

Se for viável trabalhar diretamente com o equivalente JSON das mensagens EDI, o projeto EDI gerado pode ser integrado em um pacote Ballerina, implantado e usado sem modificações adicionais. No entanto, na maioria dos casos, é necessário mapear mensagens EDI para formatos de mensagens internos antes de prosseguir com o processamento.

Por exemplo, a mensagem EDIFACT INVOIC utilizada por um fornecedor pode ter um grande número de segmentos e campos. Além disso, alguns destes campos podem não estar em conformidade com a norma e podem ser específicos do fornecedor. Normalmente é necessário transformar os dados EDI em estruturas de dados completamente diferentes, que são utilizadas internamente na organização receptora. Esta abordagem também facilita a integração de parceiros com múltiplas variações de mensagens EDI, uma vez que as mensagens EDI de cada parceiro podem ser transformadas em formatos internos independentes do parceiro. A ferramenta de mapeamento de dados Ballerina fornece uma maneira visual e intuitiva de mapear essas mensagens EDI específicas do parceiro em qualquer estrutura de mensagem alvo, conforme mostrado na figura abaixo.

wso2 03

A parte final da preparação do pacote EDI é incluir mecanismos de transporte utilizados pelo parceiro comercial. HTTP é suportado por padrão pelo pacote gerado. Se um parceiro usar HTTP, o projeto gerado poderá ser usado como está. No entanto, se um parceiro precisar usar FTP, AMQP, Amazon S3 ou qualquer outro protocolo, esse suporte a protocolo deverá ser adicionado ao pacote gerado. Como o Ballerina possui suporte integrado para muitos protocolos e conectores, o suporte a protocolos adicionais no pacote EDI geralmente requer apenas algumas linhas de código.

Teste rápido e implantação de pacotes EDI B2B

Depois que as etapas acima forem concluídas, obteremos um projeto Ballerina para um pacote de processamento EDI que pode processar mensagens EDI específicas do parceiro e converter essas mensagens em mensagens internas usadas na organização. Agora é hora de testar este módulo de processamento EDI e implantá-lo em produção quando tudo estiver funcionando conforme o esperado.

Choreo pode ser usado como plataforma de desenvolvedor B2B que fornece CI/CD integrado, segurança, integração de desenvolvedor e suporte para vários ambientes. Choreo pode trabalhar diretamente com repositórios GitHub, permitindo que você crie um projeto Choreo a partir do local GitHub de um projeto Ballerina B2B EDI. A implantação de projetos B2B no Choreo é ilustrada na figura abaixo.

wso2 04

Primeiro, o pipeline de CI/CD do Choreo cria o projeto Ballerina EDI fornecido no GitHub e o implanta no ambiente de desenvolvimento. Neste ponto, a integração B2B será executada utilizando os parâmetros do ambiente de desenvolvimento (por exemplo, detalhes de conexão com o banco de dados e localização do FTP), que podem ser configurados no Choreo. Assim que os testes de desenvolvimento forem concluídos, o projeto poderá ser promovido para um ambiente Choreo de nível superior para testes adicionais.

Por exemplo, este poderia ser um ambiente para testes com parceiros de negócios, que aponta para locais de FTP dentro de organizações parceiras. Se um problema for descoberto durante o teste do parceiro, você poderá fazer alterações em qualquer uma das etapas anteriores (por exemplo, modificação do esquema EDI) e propagá-las para o ambiente de teste do parceiro por meio do pipeline Choreo CI/CD.

Finalmente, quando os testes do parceiro forem concluídos, o pipeline do Choreo poderá promover o projeto B2B para o ambiente de produção, que aponta para bancos de dados de produção e locais de origem e destino de EDI de produção. Aqui você pode usar os recursos de observabilidade do Choreo para monitorar logs e estatísticas de mensagens, cruciais para integrações B2B.

Além dos módulos B2B, qualquer outro componente desenvolvido em qualquer linguagem ou tecnologia pode ser implantado na plataforma Choreo e gerenciado juntamente com os módulos B2B. Por exemplo, o diagrama da plataforma Choreo acima mostra um componente de processamento de faturas implantado junto com módulos B2B. Diferentes variações de mensagens de fatura EDIFACT enviadas por fornecedores podem ser convertidas em um formato de mensagem interna comum por meio de módulos EDI correspondentes. Em seguida, essas mensagens de fatura internas são enviadas para o componente de processamento de faturas, que recupera os campos relevantes da mensagem de fatura e os armazena em um banco de dados.

Existem muitas ferramentas, bibliotecas e produtos para construir integrações B2B. Os critérios para selecionar uma tecnologia específica para um projeto B2B devem incluir a flexibilidade de incorporar formatos de mensagens específicos de parceiros, facilidade de transformação de dados, suporte para múltiplos protocolos e, o mais importante, a capacidade de integrar parceiros rapidamente, trabalhando em colaboração com partes externas. Ballerina e Choreo atendem a todos esses requisitos e fornecem um ambiente abrangente para o desenvolvimento de integrações B2B.

Chathura Ekanayake é diretor/arquiteto associado do WSO2. Ele faz parte da equipe BPS e se concentra nos aspectos gerais relacionados ao BPM. Ele ingressou no WSO2 em 2006 e liderou o desenvolvimento do produto de registro de governança do WSO2, além de trabalhar no WSO2 ESB. Ele fez doutorado. na Queensland University of Technology, Austrália, e ingressou no WSO2 após concluir o doutorado. em 2013. Chathura possui diploma de primeira classe em ciência da computação e engenharia pela Universidade de Moratuwa, Sri Lanka.

O New Tech Forum oferece um local para líderes de tecnologia – incluindo fornecedores e outros colaboradores externos – explorarem e discutirem tecnologias empresariais emergentes com profundidade e amplitude sem precedentes. A seleção é subjetiva, baseada na escolha das tecnologias que acreditamos serem importantes e de maior interesse para os leitores do InfoWorld. A InfoWorld não aceita material de marketing para publicação e reserva-se o direito de editar todo o conteúdo contribuído. Envie todos consultas para [email protected].