Échanger des messages EDI sous forme de lots ou de groupes entre partenaires commerciaux dans Azure Logic Apps
S’applique à : Azure Logic Apps (Consommation)
Dans les scénarios d’entreprise à entreprise (B2B), les partenaires échangent souvent des messages par groupes ou par lots. Lorsque vous générez une solution de traitement par lot avec Logic Apps, vous pouvez envoyer des messages aux partenaires commerciaux et traiter ces messages par lot. Cet article explique comment traiter des messages EDI par lot (sur la base de l’exemple X12) en créant des applications logiques d’envoi et de réception par lot.
Le traitement par lot des messages X12 fonctionne de la même manière que le traitement par lot d’autres messages. Vous devez utiliser un déclencheur de lot qui collecte les messages dans un lot et une action de traitement par lot qui envoie des messages au lot. En outre, le traitement par lot X12 prévoit une étape d’encodage avant d’envoyer les messages au partenaire commercial ou à une autre destination. Pour plus d’informations sur le déclencheur et l’opération de traitement par lots, consultez Traiter par lots des messages.
Dans cet article, vous allez concevoir une solution de traitement par lots en créant deux applications logiques dans le même abonnement et la même région Azure, en suivant cet ordre précis :
Une application logique « réceptrice de lots », qui accepte et collecte les messages dans un lot jusqu’à ce que vos critères précisés soient remplis pour mettre en production et traiter ces messages. Dans ce scénario, le récepteur de lots encode également les messages dans le lot au moyen de l’accord X12 spécifié ou des identités partenaires.
Veillez à commencer par la création du récepteur de lots, afin de pouvoir sélectionner ensuite la destination des lots lors de la création de l’expéditeur de lots.
Un workflow d’application logique « expéditeur de lots », qui envoie les messages au récepteur de lots précédemment créé.
Assurez-vous que votre récepteur et votre expéditeur de lots partagent le même abonnement et la même région Azure. Si ce n’est pas le cas, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots, car ils ne sont pas visibles entre eux.
Prérequis
Pour suivre cet exemple, vous avez besoin de ce qui suit :
Un abonnement Azure. Si vous ne disposez d’aucun abonnement, vous pouvez commencer par créer gratuitement un compte Azure. Vous pouvez aussi souscrire un abonnement avec paiement à l’utilisation.
Connaissances de base en création de flux de travail d’applications logiques. Pour plus d’informations, consultez Créer un exemple de workflow d’application logique Consommation dans Azure Logic Apps multilocataire.
Un compte d’intégration existant associé à votre abonnement Azure et lié à vos applications logiques
Au moins deux partenaires existants dans votre compte d’intégration. Chaque partenaire doit utiliser le qualificateur X12 (Code alphanumérique standard) en tant qu’identité d’entreprise dans les propriétés du partenaire.
Un accord X12 existant dans votre compte d’intégration
Pour utiliser Visual Studio plutôt que le portail Azure, veillez à configurer Visual Studio pour travailler avec Azure Logic Apps.
Créer un récepteur de lots X12
Avant de pouvoir envoyer des messages à un lot, ce lot doit d’abord exister en tant que destination vers laquelle envoyer ces messages. Ainsi, vous devez commencer par créer l’application logique « réceptrice de lots », qui démarre avec le déclencheur Lot. De cette façon, lorsque vous créez l’application logique « expéditrice de lots », vous pouvez sélectionner l’application logique réceptrice de lots. Le récepteur de lots continue à collecter les messages jusqu’à ce que vos critères spécifiés soient remplis pour mettre en production et traiter ces messages. Alors que les récepteurs de lots n’ont pas besoin de connaître les expéditeurs de lots, les expéditeurs de lots, eux, doivent connaître la destination vers laquelle envoyer les messages.
Pour ce récepteur de lots, vous devez spécifier le mode et le nom du lot, les critères de mise en production, l’accord X12 et d’autres paramètres.
Dans le portail Azure ou dans Visual Studio, créez une application logique et nommez-la ainsi : "BatchX12Messages"
Liez votre application logique à votre compte d’intégration.
Dans le Concepteur d'applications logiques, ajoutez le déclencheur Lot qui démarre le flux de travail de votre application logique. Dans la zone de recherche, entrez « lot » comme filtre. Sélectionner le déclencheur : Traiter les messages par lots
Définissez les propriétés du récepteur de lots :
Propriété Valeur Notes Mode Batch En ligne Nom du lot TestBatch Disponible uniquement avec le mode Batch Inline Critères de mise en production Sur la base du nombre de messages, sur la base de la planification Disponible uniquement avec le mode Batch Inline Nombre de messages 10 Disponible uniquement avec le critère de mise en production Sur la base du nombre de messages Intervalle 10 Disponible uniquement avec le critère de mise en production Sur la base de la planification Fréquence minute Disponible uniquement avec le critère de mise en production Sur la base de la planification Notes
Cet exemple ne configure pas de partition pour le lot, chaque lot utilise donc la même clé de partition. Pour en savoir plus sur les partitions, consultez Traiter les messages par lots.
Nous allons maintenant ajouter une action qui encode chaque lot :
Sous le déclencheur Lot, sélectionnez Nouvelle étape.
Dans la zone de recherche, entrez « lot X12 » en tant que filtre et sélectionnez cette action (quelle que soit la version) : Encodage par lots <version> - X12.
Si vous n’êtes pas déjà connecté à votre compte d’intégration, connectez-vous maintenant. Indiquez un nom pour votre connexion, sélectionnez le compte d’intégration, puis choisissez Créer.
Définissez ces propriétés pour votre action d’encodeur par lots :
Propriété Description Nom de l’accord X12 Ouvrez la liste, puis sélectionnez votre accord. Si votre liste est vide, assurez-vous d’avoir bien associé votre application logique au compte d’intégration détenant l’accord qui vous intéresse.
BatchName Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Nom du lot. PartitionName Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Nom de la partition. Éléments Fermez la zone d’informations sur l’élément, puis cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Éléments traités par lots. Pour la zone Éléments :
Enregistrez votre application logique.
Si vous utilisez Visual Studio, veillez à déployer votre application logique réceptrice de lots sur Azure. Sinon, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots.
Tester votre application logique
Pour vérifier que votre récepteur de lots fonctionne comme prévu, vous pouvez ajouter une action HTTP à des fins de test et envoyer un message par lot au service Request Bin.
Sous l’action d’encodage X12, choisissez Nouvelle étape.
Dans la zone de recherche, entrez « http » en tant que filtre. Sélectionnez cette action : HTTP - HTTP
Définissez les propriétés de l’action HTTP :
Propriété Description Méthode Dans cette liste, sélectionnez POST. Uri Générez un URI pour votre RequestBin, puis saisissez-le dans cette zone. Corps Cliquez dans cette zone. Lorsque la liste de contenu dynamique s’affiche, sélectionnez le jeton Corps, qui apparaît dans la section Encodage Batch par nom de contrat. Si le jeton Corps n’apparaît pas, en regard de Encodage Batch par nom de contrat, sélectionnez Afficher plus.
Enregistrez votre application logique.
Votre application logique réceptrice de lots ressemble à l’exemple suivant :
Créer l’expéditeur de lots X12
À présent, créez une ou plusieurs applications logiques qui envoient des messages vers l’application logique réceptrice de lots. Dans chaque expéditeur de lots, vous spécifiez l’application logique réceptrice de lots avec le nom du lot, le contenu du message et tout autre paramètre nécessaire. Vous pouvez éventuellement fournir une clé de partition unique pour diviser le lot en sous-ensembles afin de collecter les messages.
En vous assurant d’avoir créé votre récepteur de lots avant de créer votre expéditeur de lots, vous pouvez sélectionner le récepteur existant comme destinataire de lots. Alors que les récepteurs de lots n’ont pas besoin de connaître les expéditeurs de lots, les expéditeurs de lots, eux, doivent savoir où envoyer les messages.
Vérifiez que vos récepteur et expéditeur de lots partagent la même région et le même abonnement Azure. Si ce n’est pas le cas, vous ne pouvez pas sélectionner le récepteur de lots lorsque vous créez l’expéditeur de lots, car ils ne sont pas visibles entre eux.
Créez une autre application logique portant le nom suivant : "SendX12MessagesToBatch"
Dans la zone de recherche, saisissez le filtre « when a http request ». Sélectionner le déclencheur : Lors de la réception d’une requête HTTP
Ajoutez une action pour envoyer des messages vers un lot.
Sous l’action de requête HTTP, choisissez Nouvelle étape.
Dans la zone de recherche, entrez « lot » comme filtre. Dans la liste Actions, sélectionnez cette action : Choisir un workflow Logic Apps avec déclencheur de lot - Envoyer les messages au lot
Sélectionnez à présent l’application logique « BatchX12Messages » créée précédemment.
Sélectionnez cette action : Batch_messages - <your-batch-receiver>.
Définissez les propriétés de l’expéditeur de lots.
Propriété Description Nom du lot Nom défini par l’application logique réceptrice (« TestBatch » dans cet exemple) Important ! Le nom du lot est validé lors de l’exécution et doit correspondre au nom spécifié par l’application logique réceptrice. Si vous modifiez ce nom, l’expéditeur de lots échoue.
Contenu du message Contenu du message que vous souhaitez envoyer (jeton Corps dans cet exemple) Enregistrez votre application logique.
Votre application logique expéditrice de lots ressemble à l’exemple suivant :
Tester les applications logiques
Pour tester votre solution de traitement par lots, publiez des messages X12 dans votre application logique expéditrice de lots à partir de Postman ou d’un outil similaire. Vous allez bientôt commencer à recevoir des messages X12 dans votre RequestBin, soit toutes les 10 minutes, soit sous la forme de lots de 10, tous avec la même clé de partition.