Intégration de données sortantes

Effectué

L’intégration des données sortantes prend les données de Microsoft Dataverse et les met à disposition d’autres systèmes.

Publication d’événements Dataverse

Dataverse fournit un modèle d’événement pour l’intégration à d’autres systèmes. Dataverse prend en charge le déclenchement de code personnalisé et d’actions externes lorsque des événements sont détectés sur la plateforme. Ce modèle d’événement est appelé infrastructure d’événements. L’infrastructure d’événements vous offre la possibilité d’enregistrer du code personnalisé à exécuter en réponse à des événements spécifiques. En règle générale, vous utilisez l’infrastructure d’événements pour déclencher un code de plug-in personnalisé, mais vous pouvez également l’utiliser pour des intégrations avec d’autres systèmes.

Pour utiliser l’infrastructure d’événements pour votre solution, assurez-vous que vous connaissez les concepts suivants :

  • Les événements qui sont disponibles
  • La façon dont l’événement est traité
  • Le type de données qui est disponible lorsque l’événement se produit
  • Les contraintes de temps et de ressources qui s’appliquent
  • La façon d’analyser les performances

De plus, vous pouvez spécifier les différentes phases :

  • Validation préalable : pour l’opération initiale, cette phase se produit avant l’exécution du système principal. Cette phase vous permet d’inclure une logique pour annuler l’opération avant la transaction de base de données. Elle se produit avant l’exécution des contrôles de sécurité pour vérifier que l’appelant ou l’utilisateur connecté dispose de l’autorisation appropriée pour effectuer l’opération prévue.
  • Opération préalable : se produit avant l’exécution du système principal et au sein de la transaction de base de données. Si vous souhaitez modifier les valeurs d’une table incluse dans le message, vous devez le faire à cette phase.
  • Opération principale : à usage interne uniquement, sauf pour les fournisseurs de données de tables virtuelles personnalisées et d’API personnalisées.
  • Post-opération : se produit après l’exécution du système principal et au sein de la transaction de base de données. Utilisez cette phase pour modifier les propriétés du message afin qu’il soit renvoyé à l’appelant.

Remarque

L’intégration utilise généralement la phase de post-opération et le mode d’exécution asynchrone.

L’infrastructure d’événements peut déclencher les éléments suivants :

  • Plug-ins
  • Flux de travail classiques
  • Flux de cloud Power Automate
  • Messages à Azure Service Bus et Azure Event Hubs
  • Webhooks

Événement et lot

Les architectes de solution doivent catégoriser les données requises dans Dataverse. Une catégorie clé est basée sur un événement ou un lot. Le schéma suivant compare ces deux approches.

Schéma de méthodes d’intégration sortantes.

Modèle de transfert

Le traitement basé sur les événements est associé au modèle de transfert. Un événement dans Dataverse exécute un processus qui se connecte au système externe et met à jour les données dans ce système. Lors de la connexion directe à un autre système, les architectes de solution doivent s’assurer qu’ils ne créent pas de problèmes de performances pour les deux systèmes et qu’ils créent un système étroitement couplé.

Important

Si vous utilisez des plug-ins, l’architecte de solution doit être conscient du délai de deux minutes pour le traitement des plug-ins.

Modèle d’extraction

Le modèle d’extraction utilise des événements externes de l’autre système ou un déclencheur planifié pour récupérer un jeu de données à partir de Dataverse et traiter le jeu de données renvoyé.

Remarque

Le déclencheur de récurrence dans Power Automate est souvent utilisé dans le modèle d’extraction.

Suivi des modifications

La fonctionnalité de suivi des modifications dans Dataverse vous permet de garder des données synchronisées de manière efficace en détectant les données qui ont changé depuis la dernière synchronisation des données. Sans suivi des modifications, il est difficile de créer un mécanisme fiable et efficace pour déterminer les lignes qui ont changé dans Dataverse.

Lorsque vous récupérez des données avec le suivi des modifications, un ensemble de modifications d’ordre différentiel est renvoyé par Dataverse.

Remarque

Le suivi des modifications doit être activé sur la table.

Intégration Azure

La plateforme Dataverse prend en charge l’intégration sortante avec Azure. Dataverse peut envoyer des messages aux services Azure à l’aide de l’infrastructure d’événements, comme illustré dans le schéma suivant.

Schéma des intégrations avec Azure.

Service Bus

Un service avec lequel Dataverse peut s’intégrer est Microsoft Azure Service Bus.

Vous pouvez utiliser Azure Service Bus pour découpler les applications et les services les uns des autres, ce qui offre les avantages suivants :

  • Équilibrage de la charge entre collaborateurs concurrents
  • L’acheminement et le transfert des données sont plus sécurisés et contrôlés au-delà des limites des services et des applications
  • Coordination du travail sur les transactions nécessitant un haut degré de fiabilité.

Azure Service Bus peut fournir un canal de communication plus sécurisé et plus fiable entre les données d’exécution Dataverse et les applications métier externes basées sur le cloud ou en local, comme illustré dans le schéma suivant.

Schéma de l’intégrations avec Azure Service Bus.

Comme le montre l’image précédente, une ressource Azure Service Bus a été créée dans Azure. Un processus d’écouteur a été développé qui attend que les messages soient publiés sur Azure Service Bus. Dans Dataverse, le point de terminaison Azure Service Bus a été inscrit à l’aide de l’outil d’inscription de plug-in et une étape a été définie pour publier le contexte du plug-in dans Service Bus sous forme de message lorsqu’un événement se produit, comme la création d’une ligne dans Dataverse.

Le processus d’écouteur pourra automatiquement lire le message et extraire les détails de l’événement du contexte (table, ID de la ligne, utilisateur ayant déclenché l’événement, liste des modifications de données, etc.) et effectuer le traitement approprié sur ces données.

Le processus d’écouteur peut être :

  • Un programme C# qui s’exécute sur un système local qui interroge le Service Bus pour lire les nouveaux messages.
  • Une application dans Microsoft Azure Logic Apps qui se déclenche automatiquement lorsqu’un nouveau message est publié.
  • Une fonction dans Microsoft Azure Function qui se déclenche automatiquement lorsqu’un nouveau message est publié.

L’intégration avec Azure Service Bus est utile lorsqu’il existe une probabilité que l’autre système ne soit pas disponible ou soit limité dans sa capacité à traiter des volumes élevés de messages, car les messages peuvent être mis en file d’attente, ce qui permet au système récepteur de traiter les messages aussi vite que possible.

Vous pouvez publier un message sur Service Bus de l’une des deux manières suivantes :

  • Sans code : créez une étape pour l’événement dans Dataverse sur le point de terminaison Azure Service Bus. Le contexte d’implémentation du plug-in est publié dans Service Bus.
  • Code : créez et enregistrez un plug-in dans Dataverse qui appelle le point de terminaison Azure Service Bus. Le message qui est publié sur Service Bus peut être personnalisé.

Azure Service Bus peut être utilisé pour :

  • Créer des applications cloud fiables et élastiques avec messagerie.
  • Protéger votre application des pics temporaires.
  • Distribuer des messages à plusieurs systèmes d’exploitation indépendants.
  • Dissocier vos applications les unes des autres.
  • Créer une messagerie ordonnée adaptée à plusieurs lecteurs.

Relay

Microsoft Azure Relay est un service qui faisait auparavant partie d’Azure Service Bus, mais qui a été séparé pour devenir un service distinct.

Le service Azure Relay facilite l’intégration étroite entre les systèmes en vous permettant d’exposer de manière plus sécurisée les services qui résident au sein d’un réseau d’entreprise au cloud public. Vous pouvez exposer les services sans ouvrir de connexion de pare-feu et sans modifications intrusives de l’infrastructure de réseau d’entreprise.

Azure Relay prend en charge les scénarios suivants entre les services locaux et les applications qui s’exécutent dans le cloud ou dans un autre environnement local :

  • Communication traditionnelle unidirectionnelle, de type requête/réponse et pair à pair
  • Distribution d’événements à étendue Internet pour activer des scénarios de publication/abonnement
  • Communication par sockets bidirectionnelle et sans tampon au-delà des limites du réseau

Important

Azure Relay permet à deux systèmes d’être connectés sans qu’une connexion directe soit nécessaire. Azure Relay suit un modèle de requête/réponse afin que le système appelant puisse recevoir une réponse telle qu’un élément de données ou un message de réussite de l’autre système.

Event Hubs

Microsoft Azure Event Hubs est une plateforme de streaming de Big Data et un service d’ingestion d’événements. Elle peut recevoir et traiter des millions d’événements par seconde. Les données envoyées à un hub d’événements peuvent être transformées et stockées à l’aide de n’importe quel fournisseur d’analyse en temps réel ou d’adaptateurs de traitement par lots/stockage.

Plusieurs autres systèmes peuvent s’abonner aux événements traités par Event Hubs. De plus, Event Hubs peut filtrer les événements à l’aide de groupes de consommateurs afin que les systèmes reçoivent uniquement les événements qui les concernent à leur propre rythme.

Schéma d’Azure Event Hubs.

Remarque

Les rubriques d’Azure Service Bus fournissent une méthode similaire pour que les systèmes s’abonnent aux messages filtrés.

Vous devez envisager d’utiliser Azure Event Hubs si vous avez besoin de plusieurs abonnés.

Un exemple d’utilisation d’Event Hubs consiste à publier des événements pour diffuser des analyses qui, à leur tour, alimentent un jeu de données Microsoft Power BI pour la visualisation.

Webhooks et fonctions Azure

Dataverse prend en charge l’appel d’un webhook avec l’infrastructure d’événements. Les webhooks sont enregistrés avec l’outil d’inscription de plug-in et peuvent être déclenchés par un événement spécifié dans une étape.

Webhooks est un modèle HTTP léger permettant de connecter des API et des services web à un modèle de publication/abonnement. Les expéditeurs de webhooks informent les destinataires des événements en adressant des requêtes aux points de terminaison du destinataire avec des informations sur les événements. Les webhooks sont simplement un modèle qui peut être appliqué à l’aide d’un large éventail de technologies. Vous n’êtes pas obligé d’utiliser des infrastructures, des plateformes ou des langages de programmation spécifiques.

Les webhooks permettent aux développeurs d’intégrer les données Dataverse avec leur propre code personnalisé hébergé sur des services externes. En utilisant le modèle WebHooks, vous pouvez sécuriser votre point de terminaison à l’aide d’un en-tête d’authentification ou de clés de paramètre de chaîne de requête. Cette approche est plus simple que le modèle d’authentification SAS utilisé par l’intégration Azure Service Bus.

Azure Functions offre un excellent moyen de fournir une solution à l’aide de webhooks.

Lorsque vous devez faire un choix entre le modèle WebHooks et l’intégration Azure Service Bus, vous devez garder à l’esprit les facteurs suivants :

  • Azure Service Bus fonctionne pour le traitement à grande échelle et fournit un mécanisme de mise en file d’attente complet si Dataverse transfère de nombreux événements.
  • Les webhooks ne peuvent évoluer que jusqu’au point auquel votre service Web hébergé peut gérer les messages.
  • Les webhooks permettent des étapes synchrones et asynchrones. Azure Service Bus autorise uniquement les étapes asynchrones.
  • Les webhooks envoient des requêtes POST avec une charge utile JSON et peuvent être utilisés par n’importe quel langage de programmation ou application web hébergée n’importe où.
  • Le modèle WebHooks et Azure Service Bus peuvent être appelés à partir d’un plug-in ou d’une activité de flux de travail personnalisée.

Intégration de processus : Power Automate et Azure Logic Apps

Les flux de cloud Power Automate sont basés sur Azure Logic Apps, et les deux peuvent généralement se conformer aux mêmes exigences. Cependant, ils diffèrent de plusieurs manières. En tant qu’architecte de solution, vous devez déterminer quand utiliser des flux de cloud Power Automate ou Logic Apps :

Power Automate inclut les fonctionnalités suivantes :

  • Le connecteur Dataverse a plus de capacité
  • Est présenté dans le cadre d’une solution
  • Utilise RPA avec les flux de bureau
  • Utilise le connecteur Approbations
  • Comprend un connecteur Envoyer les notifications
  • A une limite en ce qui concerne le nombre d’exécutions de flux chaque mois

Logic Apps inclut les fonctionnalités suivantes :

  • Exécute Enterprise Integration, notamment EDI
  • A des performances plus élevées
  • Peut être surveillé plus facilement à l’aide des outils Azure
  • A une meilleure gestion des erreurs
  • Ne peut pas être intégré dans des solutions
  • Possède un modèle de tarification basé sur la consommation ou fixe via un abonnement Azure