Trocar mensagens EDI como lotes ou grupos entre parceiros comerciais nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo)

Em cenários de B2B (entre empresas), os parceiros geralmente trocam mensagens em grupos ou em lotes. Ao compilar uma solução de envio em lote com os Aplicativos Lógicos do Azure, você poderá enviar mensagens para parceiros comerciais e processar essas mensagens juntas em lotes. Este artigo mostra como processar mensagens de EDI em lotes, usando X12 como exemplo, criando um aplicativo lógico "remetente do lote" e um aplicativo lógico "receptor do lote".

O envio em lote de mensagens X12 funciona como envio em lote de outras mensagens. Você usa um gatilho em lote que coleta mensagens em um lote e uma ação em lote que envia mensagens para o lote. Além disso, o envio em lote do X12 inclui uma etapa de codificação do X12 antes que as mensagens sejam enviadas para o parceiro comercial ou outro destino. Para saber mais sobre a ação e o disparador de lote, consulte Mensagens do processo em lote.

Neste artigo, você compilará uma solução de envio em lote criando dois aplicativos lógicos dentro da mesma assinatura do Azure, região do Azure e seguindo esta ordem específica:

  • Um aplicativo lógico "receptor do lote", que aceita e coleta mensagens em um lote até que seus critérios especificados sejam atendidos para liberar e processar essas mensagens. Nesse cenário, o receptor do lote também codifica as mensagens no lote, usando o contrato do X12 especificado ou as identidades do parceiro.

    Primeiro, certifique-se de criar o receptor do lote para, em seguida, selecionar o destino do lote ao criar o remetente do lote.

  • Um fluxo de trabalho de aplicativo lógico "remetente do lote" que envia as mensagens para o destinatário do lote criado anteriormente.

Verifique se os fluxos de trabalho do aplicativo lógico do remetente e do destinatário do lote usam a mesma assinatura e região do Azure. Caso contrário, não será possível selecionar o receptor do lote ao criar o remetente do lote porque não estarão visíveis um para o outro.

Pré-requisitos

Criar receptor do lote do X12

Antes de enviar mensagens para um lote, esse lote deverá existir primeiro como o destino para o qual essas mensagens serão enviadas. Portanto, primeiro, é necessário criar o aplicativo lógico "receptor do lote" que inicia com o gatilho do Lote. Dessa forma, ao criar o aplicativo lógico "remetente do lote", será possível selecionar o aplicativo lógico do receptor do lote. O receptor do lote continuará coletando mensagens até que seus critérios especificados sejam atendidos para liberar e processar essas mensagens. Embora os receptores dos lotes não precisem saber nada sobre os remetentes dos lotes, os remetentes dos lotes deverão saber o destino para onde enviarão as mensagens.

Para esse receptor do lote, você especifica o modo de lote, nome, critérios de liberação, contrato do X12 e outras configurações.

  1. No portal do Azure, Visual Studio ou Visual Studio Code, crie um aplicativo lógico com o seguinte nome: BatchX12Messages

  2. Vincule o aplicativo lógico à sua conta de integração.

  3. No designer de fluxo de trabalho, adicione o gatilho Lote, que dá início ao seu fluxo de trabalho de aplicativo lógico.

  4. Siga estas etapas gerais para adicionar um gatilho de Lote chamado Mensagens em lote.

  5. Defina propriedades de receptor do lote:

    Propriedade Valor Observações
    Modo de lote Embutido
    Nome do lote TestBatch Disponível apenas com o modo de lote Embutido
    Critérios de liberação Baseado em contagem de mensagens, Baseado no agendamento Disponível apenas com o modo de lote Embutido
    Contagem de mensagens 10 Disponível apenas com critérios de liberação Baseados em contagem de mensagens
    Intervalo 10 Disponível apenas com critérios de liberação Baseados no agendamento
    Frequência minute Disponível apenas com critérios de liberação Baseados no agendamento

    Fornecer detalhes do gatilho de lote

    Observação

    Este exemplo não configura uma partição para o lote, portanto, cada lote usa a mesma chave de partição. Para saber mais sobre partições, consulte Mensagens do processo em lote.

  6. Agora, adicione uma ação que codifique cada lote:

    1. Siga estas etapas gerais para adicionar uma ação X12 chamada: Codificar em lote <qualquer versão>

    2. Caso não tenha conectado a conta de integração anteriormente, crie a conexão agora. Forneça um nome para a conexão, selecione a conta de integração desejada e, em seguida, escolha Criar.

      Criar conexão entre o codificador de lote e a conta de integração

    3. Configure essas propriedades para a ação do codificador de lote:

      Propriedade Descrição
      Nome do contrato do X12 Abra a lista e selecione o contrato existente.

      Se a lista estiver vazia, certifique-se de vincular o aplicativo lógico à conta de integração que tiver o contrato desejado.

      BatchName Clique dentro dessa caixa e, após a exibição da lista de conteúdo dinâmico, selecione o token do Nome do Lote.
      PartitionName Clique dentro dessa caixa e, após a exibição da lista de conteúdo dinâmico, selecione o token do Nome da Partição.
      Itens Feche a caixa de detalhes do item e clique dentro dessa caixa. Depois que a lista de conteúdo dinâmico for exibida, selecione o token de Itens em Lote.

      Detalhes da ação Codificar em Lote

      Para a caixa Itens:

      Itens da ação Codificar em Lote

  7. Salve o fluxo de trabalho do aplicativo lógico.

  8. Se estiver usando o Visual Studio, certifique-se de implantar o aplicativo lógico do receptor do lote no Azure. Caso contrário, não será possível selecionar o receptor do lote ao criar o remetente do lote.

Testar seu fluxo de trabalho

Para certificar-se de que o receptor do lote funciona conforme o esperado, você pode adicionar uma ação HTTP para fins de teste e enviar uma mensagem em lote para o serviço de Compartimento de Solicitação.

  1. Siga estas etapas gerais para adicionar a ação HTTP chamada HTTP.

  2. Configure as propriedades para a ação HTTP:

    Propriedade Descrição
    Método Nessa lista, selecione POST.
    Uri Gere um URI para o compartimento de solicitação e, em seguida, insira esse URI nessa caixa.
    Corpo Clique dentro dessa caixa e, depois que a lista de conteúdo dinâmico for exibida, selecione o token do Corpo, que aparece na seção, Codificar em lote por nome de contrato.

    Se você não visualizar o token do Corpo, próximo a Codificar em lote por nome de contrato , selecione Ver mais.

    Forneça detalhes da ação HTTP

  3. Salve seu fluxo de trabalho.

    O aplicativo lógico do receptor do lote é semelhante ao exemplo a seguir:

    Salvar o aplicativo lógico do receptor do lote

Criar remetente do lote do X12

Agora crie um ou mais aplicativos lógicos que enviem mensagens ao aplicativo lógico do receptor do lote. Em cada remetente do lote, você especifica o aplicativo lógico do receptor do lote e o nome do lote, o conteúdo da mensagem e quaisquer outras configurações. Opcionalmente, é possível fornecer uma chave de partição exclusiva para dividir o lote em subconjuntos para coletar mensagens com essa chave.

  • Verifique se você já criou o destinatário do lote. Dessa forma, ao criar o remetente em lote, você poderá selecionar o destinatário do lote existente como o lote de destino. Embora os receptores dos lotes não precisem saber nada sobre os remetentes dos lotes, os remetentes dos lotes deverão saber para onde enviarão as mensagens.

  • Verifique se os fluxos de trabalho do aplicativo lógico do remetente e do destinatário do lote usam a mesma assinatura e região do Azure. Caso contrário, não será possível selecionar o receptor do lote ao criar o remetente do lote porque não estarão visíveis um para o outro.

  1. Crie outro aplicativo lógico com o seguinte nome: SendX12MessagesToBatch

  2. Siga estas etapas gerais para adicionar o gatilho Solicitação chamado Quando uma solicitação HTTP for recebida.

  3. Para adicionar uma ação para enviar mensagens a um lote, siga estas etapas gerais para adicionar uma ação Enviar mensagens ao lote chamada Escolher um fluxo de trabalho de Aplicativos Lógicos com gatilho em lote.

    1. Selecione o aplicativo lógico BatchX12Messages criado anteriormente.

    2. Selecione a ação BatchX12Messages chamada Batch_messages – <your-batch-receiver>.

  4. Defina as propriedades do remetente do lote.

    Propriedade Descrição
    Nome do lote O nome do lote definido pelo aplicativo lógico do receptor, que é "TestBatch" neste exemplo

    Importante: o nome do lote é validado no runtime e deve corresponder ao nome especificado pelo aplicativo lógico do receptor. Alterar o nome do lote faz com que o remetente do lote falhe.

    Conteúdo da mensagem O conteúdo da mensagem que você quer enviar, que é o token do Corpo neste exemplo

    Definir propriedades do lote

  5. Salve seu fluxo de trabalho.

    O aplicativo lógico do remetente do lote é semelhante a este exemplo:

    Salvar o aplicativo lógico do remetente do lote

Testar seus fluxos de trabalho

Para testar sua solução de lotes, publique mensagens X12 no fluxo de trabalho do aplicativo de lógica do remetente de lotes usando a ferramenta de solicitação HTTP e suas instruções. Em breve, você começará a receber mensagens X12 no compartimento de solicitações, a cada 10 minutos ou em lotes de 10, todos com a mesma chave de partição.

Próximas etapas