Scambiare messaggi EDI come batch o gruppi tra partner commerciali in App per la logica di Azure

Si applica a: App per la logica di Azure (A consumo)

In scenari Business-to-Business (B2B) i partner spesso scambiano messaggi in gruppi o in batch. Quando si crea una soluzione di invio in batch con le App per la logica di Azure, è possibile inviare messaggi a partner commerciali ed elaborare tali messaggi in batch. Questo articolo illustra come è possibile creare batch di messaggi EDI di processo, usando X12 ad esempio, creando un'app per la logica "mittente del batch" e un'app per la logica “che riceve il batch".

L'invio in batch di messaggi X12 funziona come l'invio in batch di altri messaggi. Si usa un trigger batch che raccoglie i messaggi in un batch e un'azione batch che invia messaggi al batch. Inoltre, l'invio in batch X12 include un passaggio di codifica X12 prima che i messaggi siano inviati al partner commerciale o a un altro destinatario. Per ulteriori informazioni sui trigger e sulle azioni di batch, vedere Messaggi dei processi batch.

Questo articolo illustra come creare una soluzione batch creando due app per la logica nella stessa sottoscrizione di Azure, area di Azure seguendo questo ordine specifico:

  • Un’app per la logica "che riceve il batch", che accetta e raccoglie i messaggi in un batch fino a quando non vengono soddisfatti i criteri specificati per il rilascio e l'elaborazione dei messaggi. In questo scenario, il ricevitore del batch codifica anche i messaggi nel batch usando il contratto X12 specificato o le identità dei partner.

    Assicurarsi che venga creato prima di tutto il ricevitore del batch in modo che sia possibile selezionare la destinazione di batch in un secondo momento quando si crea il mittente del batch.

  • Un flusso di lavoro di app per la logica "mittente del batch", che invia i messaggi al ricevitore del batch creato in precedenza.

Assicurarsi che i flussi di lavoro dell'app per la logica del destinatario batch e del mittente batch usino la stessa sottoscrizione di Azure e la stessa area di Azure. In caso contrario, è possibile selezionare il ricevitore del batch quando si crea il mittente del batch perché non sono visibili tra loro.

Prerequisiti

  • Installare o usare uno strumento che può inviare richieste HTTP per testare la soluzione, ad esempio:

    Attenzione

    Per gli scenari in cui sono presenti dati sensibili, ad esempio credenziali, segreti, token di accesso, chiavi API e altre informazioni simili, assicurarsi di usare uno strumento che protegge i dati con le funzionalità di sicurezza necessarie, funziona offline o in locale, non sincronizza i dati nel cloud e non richiede l'accesso a un account online. In questo modo si riduce il rischio di esporre i dati sensibili al pubblico.

Creare il ricevitore del batch X12

Prima di poter inviare messaggi a un batch, il batch deve esistere come destinazione in cui si inviano i messaggi. Quindi, innanzitutto, è necessario creare l'app per la logica "ricevente il batch", che inizia con il trigger del batch. In questo modo, quando si crea l’app per la logica “mittente del batch” è possibile selezionare l’app per la logica ricevente il batch. Il ricevitore del batch continua a raccogliere i messaggi fino a quando non vengono soddisfatti i criteri specificati per il rilascio e l'elaborazione dei messaggi. Anche se non è necessario che i ricevitori di batch conoscano i mittenti di batch, i mittenti di batch devono conoscere la destinazione in cui inviano i messaggi.

Per questo ricevitore di batch, è necessario specificare la modalità di batch, il nome del batch, i criteri di rilascio, il contratto X12 e altre impostazioni.

  1. Nel portale di Azure, Visual Studio o Visual Studio Code creare un'app per la logica con il nome seguente: BatchX12Messages

  2. Collegare l'app per la logica a un account di integrazione.

  3. Nella finestra di progettazione del flusso di lavoro aggiungere il trigger Batch, che avvia il flusso di lavoro dell'app per la logica.

  4. Seguire questi passaggi generali per aggiungere un trigger Batch denominato messaggi batch.

  5. Impostare le proprietà del ricevitore di batch:

    Proprietà valore Note
    Modalità batch Incorporato
    Nome batch TestBatch Disponibile solo con modalità batch Inline
    Criteri di rilascio In base al numero di messaggi, In base alla pianificazione Disponibile solo con modalità batch Inline
    Numero di messaggi 10 Disponibile solo con i criteri di rilascio In base al numero di messaggi
    Intervallo 10 Disponibile solo con i criteri di rilascio In base alla pianificazione
    Frequenza minuto Disponibile solo con i criteri di rilascio In base alla pianificazione

    Specificare i dettagli del trigger di batch

    Nota

    In questo esempio non viene configurata una partizione per il batch, pertanto ogni batch usa la stessa chiave di partizione. Per altre informazioni sulle partizioni, vedere Messaggi dei processi batch.

  6. Oar aggiungere un'azione che consenta di codificare ogni batch:

    1. Seguire questi passaggi generali per aggiungere un'azione X12 denominata: Codifica batch <qualsiasi versione>

    2. Se la connessione all’account di integrazione non è stata eseguita in precedenza, creare la connessione. Specificare un nome per la connessione, selezionare l'account di integrazione desiderato e poi Crea.

      Creare una connessione tra codificatore di batch e account di integrazione

    3. Impostare queste proprietà per l'azione di codificatore batch:

      Proprietà Descrizione
      Nome del contratto X12 Aprire l'elenco e selezionare il contratto esistente.

      Se l'elenco è vuoto, verificare di aver collegato l'app per la logica all'account di integrazione che dispone del contratto desiderato.

      BatchName Fare clic all'interno di questa casella e quando viene visualizzato l'elenco di contenuto dinamico, selezionare il token Nome batch.
      PartitionName Fare clic all'interno di questa casella e quando viene visualizzato l'elenco di contenuto dinamico, selezionare il token Nome partizione.
      Articoli Chiudere la finestra dettagli elemento e quindi fare clic all'interno di questa casella. Quando viene visualizzato l'elenco di contenuto dinamico, selezionare il token Elementi in batch.

      Dettagli dell'azione di codifica batch

      Per la casella elementi:

      Elementi dell'azione di codifica batch

  7. Salvare il flusso di lavoro dell'app per la logica.

  8. Se si usa Visual Studio, assicurarsi di distribuire l'app per la logica che riceve il batch in Azure. In caso contrario, non è possibile selezionare il ricevitore di batch quando si crea il mittente del batch.

Testare il flusso di lavoro

Per assicurarsi che il ricevitore di batch funzioni nel modo previsto, è possibile aggiungere un'azione HTTP per scopi di test e inviare un messaggio in batch al servizio contenitore richieste.

  1. Seguire questi passaggi generali per aggiungere l'azione HTTP denominata HTTP.

  2. Impostare le proprietà per l'azione HTTP:

    Proprietà Descrizione
    Metodo Selezionare POST dall'elenco.
    URI Generare un URI per il contenitore delle richieste e immetterlo.
    Testo Fare clic all'interno di questa casella e dopo aver aperto l'elenco di contenuto dinamico, selezionare il token corpo, che viene visualizzato nella sezione Codifica in batch in base al nome di contratto.

    Se il token Corpo non è visualizzato, selezionare Vedi altri accanto a Codifica in batch in base al nome del contratto.

    Fornire i dettagli dell'azione HTTP

  3. Salvare il flusso di lavoro.

    L'app per la logica del ricevitore batch è simile all'esempio seguente:

    Salvare l'app per la logica ricevente il batch

Creare il mittente del batch X12

A questo punto creare una o più app per la logica che inviano messaggi all’app per la logica che riceve il batch. In ogni mittente del batch specificare l’app per la logica che riceve il batch, il nome del batch, il contenuto del messaggio ed eventuali altre impostazioni. È possibile specificare anche una chiave di partizione univoca per dividere il batch in subset che raccolgano i messaggi a cui è assegnata tale chiave.

  • Assicurarsi di aver già creato il ricevitore batch. In questo modo, quando si crea il mittente del batch, è possibile selezionare il ricevitore batch esistente come batch di destinazione. Anche se non è necessario che i ricevitori di batch conoscano i mittenti di batch, i mittenti di batch devono conoscere la destinazione in cui inviano i messaggi.

  • Assicurarsi che i flussi di lavoro dell'app per la logica del destinatario batch e del mittente batch usino la stessa sottoscrizione di Azure e la stessa area di Azure. In caso contrario, è possibile selezionare il ricevitore del batch quando si crea il mittente del batch perché non sono visibili tra loro.

  1. Creare un'altra app per la logica con il seguente nome: SendX12MessagesToBatch

  2. Seguire questi passi generali per aggiungere il trigger di richiesta denominato Quando viene ricevuta una richiesta HTTP.

  3. Per aggiungere un'azione per l'invio di messaggi a un batch, seguire questa procedura generale per aggiungere un'azione Invia messaggi a batch denominata Scegliere un flusso di lavoro di App per la logica con trigger batch.

    1. Selezionare l'app per la logica BatchX12Messages creata in precedenza.

    2. Selezionare l'azione BatchX12Messages denominata Batch_messages -< your-batch-receiver >.

  4. Impostare le proprietà del mittente del batch.

    Proprietà Descrizione
    Nome batch Il nome del batch definito dall'app per la logica ricevente, che in questo esempio è "TestBatch"

    Importante: il nome del batch viene convalidato in fase di esecuzione e deve corrispondere al nome specificato dall'app per la logica ricevente. Se si modifica il nome del batch, l'esecuzione del mittente del batch ha esito negativo.

    Contenuto del messaggio Il contenuto del messaggio da inviare, ovvero il token corpo in questo esempio

    Impostare le proprietà del batch

  5. Salvare il flusso di lavoro.

    L'app per la logica mittente del batch avrà un aspetto simile all'esempio seguente:

    Salvare l'app per la logica mittente del batch

Testare i flussi di lavoro

Per testare la soluzione di invio in batch, inviare messaggi X12 al flusso di lavoro dell'app per la logica del mittente batch usando lo strumento di richiesta HTTP e le relative istruzioni. Presto si dovrebbe iniziare a ricevere i messaggi X12 nel contenitore di richieste, o ogni dieci minuti o in batch da dieci, il tutto con la stessa chiave di partizione.

Passaggi successivi