Intégration de données sortantes

Effectué

L’intégration de données sortantes consiste à rendre des données de Microsoft Dataverse disponibles dans des systèmes externes.

Publication d’événements Dataverse

Microsoft Dataverse fournit un modèle d’événement qui permet l’intégration à des systèmes externes. Ce modèle, connu sous le nom d’infrastructure d’événements Dataverse, prend en charge le déclenchement de code personnalisé et d’actions externes en réponse aux événements de la plateforme.

L’infrastructure d’événements permet aux architectes et développeurs de solutions d’enregistrer du code ou des processus personnalisé(s) qui s’exécutent lorsque des événements spécifiques se produisent. Bien qu’elle permette souvent de déclencher des plug-ins personnalisés, l’infrastructure peut également faciliter les intégrations sortantes à d’autres systèmes.

Pour utiliser efficacement l’infrastructure d’événements, vous devez connaître les éléments suivants :

  • Types d’événements disponibles
  • Traitement des événements
  • Données disponibles à chaque phase
  • Limites de temps et de ressources applicables
  • Pratiques de monitoring des performances

L’infrastructure prend en charge quatre phases de traitement :

  • Pré-validation : se produit avant l’opération principale et tous les contrôles de sécurité. Cette phase vous permet de valider ou d’annuler des opérations tôt dans le processus.
  • Pré-opération : s’exécute dans l’étendue de la transaction avant la validation de l’opération. Cette phase vous permet de modifier des données.
  • Opération principale : réservée aux opérations internes et prise en charge uniquement dans les API personnalisées et les tables virtuelles.
  • Post-opération : s’exécute à l’issue de l’opération et au sein de la transaction. Couramment utilisée pour les intégrations sortantes.

Remarque

L’intégration utilise généralement la phase de post-opération avec une 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 d’Azure Service Bus et d’Event Hubs
  • Webhooks

Événement et lot

Les architectes de solutions doivent classer les scénarios de données sortantes comme pilotés par des événements ou basés sur des lots. Le schéma suivant compare ces deux approches :

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

Modèle de transfert

Le modèle de transfert est couramment utilisé pour le traitement basé sur des événements. Dans ce modèle, un événement dans Dataverse déclenche un processus qui envoie des données à un système externe.

Pour éviter les problèmes de performance et le couplage étroit, assurez-vous que les appels externes déclenchés depuis Dataverse sont optimisés et non bloquants.

Important

Les plug-ins font l’objet d’un délai d’expiration de deux minutes. Utilisez le traitement asynchrone pour les tâches de longue durée.

Modèle d’extraction

Le modèle d’extraction repose sur des systèmes externes qui lancent l’extraction de données depuis Dataverse selon un calendrier ou en réponse à des événements externes.

Remarque

Le déclencheur de périodicité dans Power Automate est fréquemment utilisé dans les implémentations du modèle d’extraction.

Suivi des modifications

La fonctionnalité de suivi des modifications de Dataverse permet une synchronisation efficace en identifiant les enregistrements modifiés depuis la dernière synchronisation.

Lorsqu’il est activé sur une table, le suivi des modifications permet de récupérer uniquement les lignes modifiées, réduisant ainsi le transfert de données.

Remarque

Le suivi des modifications doit être explicitement activé pour chaque table.

Intégration Azure

Dataverse prend en charge l’intégration sortante aux services Azure au moyen de l’infrastructure d’événements. Le schéma suivant illustre ces points d’intégration :

Schéma des intégrations à Azure.

Azure Service Bus

Dataverse peut publier des messages sur Microsoft Azure Service Bus, permettant ainsi une communication sécurisée et découplée entre les systèmes. En voici les avantages :

  • Équilibrage de charge entre les processus Worker
  • Acheminement et transfert de messages sécurisés au-delà des limites du service
  • Coordination de flux de travail transactionnels à haute fiabilité

Schéma de l’intégration à Azure Service Bus.

Une application d’écouteur telle qu’une application logique Azure Logic Apps ou une fonction Azure Functions reçoit des messages de Service Bus et les traite en fonction du contexte de l’événement (comme le nom de la table, l’ID d’enregistrement, l’utilisateur initiateur et les modifications de données).

Voici les étapes d’intégration :

  • Enregistrement d’un point de terminaison Azure Service Bus dans Dataverse à l’aide de Plug-in Registration Tool
  • Définition des étapes permettant de publier des messages sur les événements de données (comme la création d’enregistrements)

Les implémentations d’écouteurs peuvent inclure les éléments suivants :

  • Une application C# interrogeant des messages depuis Service Bus
  • Une application logique Azure Logic Apps déclenchée par de nouveaux messages
  • Une fonction Azure Functions qui répond aux messages publiés

Azure Service Bus est idéal lorsque le système récepteur a une disponibilité limitée ou doit limiter de gros volumes de messages.

Méthodes de publication de messages :

  • Basée sur la configuration (no-code) : définissez une étape qui envoie le contexte de l’événement à Service Bus.
  • Personnalisée (code) : développez et enregistrez un plug-in qui publie un message personnalisé sur Service Bus.

Voici des cas d’utilisation :

  • Création d’applications cloud évolutives avec messagerie
  • Gestion du trafic en rafale avec des files d’attente de messages
  • Découplage de systèmes pour une mise à l’échelle indépendante
  • Prise en charge de la remise de messages commandés à plusieurs consommateurs

Azure Relay

Azure Relay permet une communication sécurisée et bidirectionnelle entre les services cloud et locaux sans ouvrir de ports de pare-feu ni modifier l’infrastructure réseau.

Relay prend en charge des scénarios tels que les suivants :

  • Messagerie unidirectionnelle et de requête/réponse
  • Publication/abonnement pour la distribution d’événements à étendue Internet
  • Communication par sockets au-delà des limites du réseau

Important

Azure Relay permet aux systèmes connectés d’échanger des réponses et des accusés de réception sur des canaux sécurisés sans nécessiter d’accès direct au réseau.

Azure Event Hubs

Azure Event Hubs est un service d’ingestion d’événements à haut débit capable de gérer des millions d’événements par seconde.

Il est bien adapté à la diffusion en continu du Big Data et s’intègre aux solutions d’analyse en temps réel. Event Hubs vous permet de :

  • diffuser des événements sur plusieurs systèmes ;
  • filtrer les messages au moyen de groupes de consommateurs ;
  • diffuser en continu des événements sur des services tels que Microsoft Power BI.

Schéma d’Azure Event Hubs.

Remarque

Les rubriques d’Azure Service Bus offrent des fonctionnalités similaires pour le filtrage et la distribution des messages.

Webhooks et fonctions Azure Functions

Les webhooks fournissent un modèle léger basé sur HTTP pour l’intégration de Dataverse à des services externes.

Enregistrés à l’aide de Plug-in Registration Tool, les webhooks envoient des requêtes POST avec des charges utiles JSON à des points de terminaison externes lorsqu’ils sont déclenchés par des événements.

Les webhooks :

  • prennent en charge les étapes synchrones et asynchrones ;
  • utilisent les technologies web standard sur toutes les plateformes ;
  • peuvent être sécurisés avec des en-têtes d’authentification ou des jetons de chaîne de requête.

Les fonctions Azure Functions peuvent servir de points de terminaison de webhook pour implémenter une logique d’intégration évolutive.

Choix entre webhooks et Service Bus

Fonctionnalité Webhooks Azure Service Bus
Scalabilité Limitée par la capacité des points de terminaison Mise en file d’attente à haut débit
Persistance des messages Nécessite une nouvelle tentative personnalisée Mise en file d’attente et nouvelles tentatives intégrées
Prise en charge des étapes synchrones et asynchrones Prend en charge les étapes synchrones et asynchrones Prend en charge uniquement les étapes asynchrones
Simplicité Légère De qualité professionnelle
Hébergement Toute application web Infrastructure Azure

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

Les flux de cloud Power Automate et les applications logiques Azure Logic Apps partagent un runtime commun, mais diffèrent par leurs fonctionnalités et leurs cas d’utilisation.

Power Automate :

  • comprend la prise en charge avancée des connecteurs Dataverse ;
  • peut être intégré dans le cadre d’une solution ;
  • prend en charge l’automatisation robotisée des processus (RPA) avec des flux de bureau ;
  • offre des approbations et notifications intégrées ;
  • fait l’objet de limites mensuelles d’exécution de flux.

Azure Logic Apps :

  • est conçu pour l’integration d’entreprise (notamment EDI) ;
  • offre un débit et des performances plus élevés ;
  • prend en charge une gestion et un monitoring robustes des erreurs au moyen d’outils Azure ;
  • n’est pas intégré à des solutions Power Platform ;
  • utilise une tarification basée sur la consommation ou fixe au moyen d’un abonnement Azure.