Utiliser des plug-ins pour étendre les processus d’entreprise

Un plug-in est un gestionnaire d’événements personnalisé qui s’exécute en réponse à un événement spécifique déclenché lors du traitement d’une opération sur les données Microsoft Dataverse. Le plug-in est implémenté en tant que classe personnalisée compilée dans un assembly .NET Framework qui peut être téléchargé et inscrit auprès de Dataverse. Une ou plusieurs classes de plug-in compilées au sein d’un assembly peuvent être enregistrées sur des événements spécifiques (étapes) dans l’infrastructure d’événements Dataverse. Lorsque l’événement cible se produit pendant une opération de traitement de données, le code dans la classe de plug-in enregistrée s’exécute, fournissant un moyen d’augmenter ou de modifier le comportement de traitement de données par défaut de la plateforme.

Conseil

Le cas échéant, envisagez d’appliquer une des options déclaratives pour définir la logique métier. Pour plus d’informations, consultez : Appliquer la logique métier dans Dataverse

Utilisez des plug-ins lorsqu’un processus déclaratif ne répond pas à vos besoins.

Plus de détails sur les plug-ins

Toutes les classes d’un assembly qui doivent être enregistrées sur une étape d’infrastructure d’événements (pipeline) doivent implémenter l’interface IPlugin. Cette interface expose une méthode simple appelée Execute. Lorsqu’un événement se produit et qu’une classe compilée est enregistrée par rapport à lui, des données contextuelles sur l’opération de données en cours de traitement sont transmises à la méthode Execute du plug-in. Au sein de la méthode Execute, votre code personnalisé peut :

  • annuler l’opération du pipeline de traitement de données en cours et éventuellement afficher une erreur à l’utilisateur
  • apporter des modifications aux données commerciales en cours de traitement dans l’opération de pipeline actuelle
  • appeler d’autres opérations sur les données
  • se connecter à des systèmes externes
  • transmettre les informations à un autre plug-in « en aval » inscrit dans le même pipeline
  • Suite...

Les plug-ins peuvent être inscrits pour s’exécuter de manière synchrone ou asynchrone. Un plug-in synchrone impose à l’opération de données d’attendre jusqu’à ce que le code du plug-in se termine. Ce délai a un impact sur les performances perçues du système par l’utilisateur final, c’est pourquoi les plug-ins synchrones doivent s’exécuter et se terminer rapidement. L’exécution d’un plug-in asynchrone est mise en file d’attente et exécutée ultérieurement, une fois l’opération sur les données terminée.

Quand utiliser les plug-ins

Les gens comparent souvent les activités de workflow et les plug-ins personnalisés à des choix pour appliquer une logique métier personnalisée. Il existe un chevauchement important entre les capacités des activités de workflow et des plug-ins. Les plug-ins peuvent faire tout ce que les activités de workflow peuvent faire mais l’inverse n’est pas vraie. Ce fait ne signifie pas que vous devez simplement utiliser des plug-ins pour toute opération qui ne peut pas être effectuée avec un workflow. D’autres fonctionnalités permettent d’atteindre vos objectifs sans utiliser de plug-ins.

  • Les workflows peuvent utiliser des activités de workflow personnalisées qui vous permettent de créer des conditions et des actions réutilisables avec du code pouvant être utilisé dans plusieurs workflows.

  • Les champs calculés et les champs cumulatifs fournissent des fonctionnalités qui pouvaient précédemment être effectuées uniquement via les workflows.

  • Les actions personnalisées sont un type de processus similaire aux workflows qui permettent de créer des messages réutilisables pouvant faire l’objet d’un appel d’autres workflows ou de points de terminaison du service Web.

  • L’intégration Azure Service Bus et les webhooks peuvent être utilisés pour transmettre des données à des systèmes externes où une logique peut être appliquée en utilisant différentes ressources.

  • Power Automate offre de nombreuses fonctionnalités qui étaient exécutées précédemment à l’aide de plug-ins.

Vous devez évaluer chacune de ces options pour comprendre la meilleure façon de répondre à vos besoins.

Avantages des plug-ins

Voici les principaux avantages des plug-ins :

  • Les plug-ins sont efficaces. Un plug-in bien écrit fournit la manière la plus performante d’appliquer une logique métier personnalisée.
  • Les plug-ins sont puissants. De nombreux développeurs préfèreraient utiliser les compétences et les connaissances qu’ils possèdent pour définir la logique et utiliser les fonctionnalités pour travailler directement avec le service web Dataverse ou les services externes dans le code. Un développeur de plug-in expérimenté peut être très productif.
  • Les plug-ins étendent la capacité de Dataverse lorsqu’une solution commerciale prête à l’emploi n’existe pas.

Inconvénients des plug-ins

  • Les plug-ins requièrent les compétences spécialisées d’un développeur logiciel pour la création et la maintenance du code. Les petites entreprises n’ont pas forcément accès à un développeur possédant les compétences nécessaires. Les processus d’entreprise peuvent changer rapidement et fournir des options permettant d’effectuer des modifications sans faire appel à un développeur peut permettre au système de s’adapter plus rapidement.
  • Les plug-ins peuvent être utilisés à tort. Un plug-in mal écrit peut avoir un impact significatif sur les performances perçues du pipeline de traitement des données et, à terme, sur l’environnement interactif de l’utilisateur final. La puissance des plug-ins doit être exploitée avec précaution et en tenant compte de l’impact qu’ils ont sur le système dans son ensemble.
  • Les plug-ins ne disposent que d’une courte période de temps (une limite stricte) pour terminer leur travail.

Étapes suivantes

Utilisez le didacticiel suivant et les rubriques de procédures pour en savoir plus sur l’utilisation des plug-ins

Didacticiels

Ces rubriques vous feront parcourir le processus de base de la création, de l’inscription et du débogage de plug-ins simples.

Rubriques de procédures

Ces rubriques fournissent des détails supplémentaires communs au développement de plug-ins.

Une fois que vous avez lu et compris les concepts de plug-in répertoriés ci-dessus, envisagez d’explorer les fonctionnalités et technologies supplémentaires liées aux plug-ins.

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).