Modèle d’extensibilité Microsoft Dataverse
Pour mieux comprendre comment étendre Microsoft Dataverse, il est important de découvrir son architecture sous-jacente. Comme Dataverse est une plateforme SaaS (Software as a Service), la plupart de ces détails tels que le stockage de données sous-jacent sont soustraits avec succès à nous en tant que développeurs, afin que nous puissions nous concentrer sur des éléments plus intéressants, comme la création d’une logique métier personnalisée et l’intégration à d’autres applications. Le graphique ci-dessous illustre ces composants sous-jacents, les sections mises en évidence sont les domaines où un développeur créant des applications Power Apps pilotées par modèle peut étendre l’exploitation du code.
Remarque
Cette unité est destinée uniquement à être une vue d’ensemble de l’architecture Dataverse. Pour une analyse plus approfondie de Dataverse, consultez le Guide du développeur Dataverse.
Métadonnées et compatibilité avec des solutions
Microsoft Dataverse propose une architecture basée sur les métadonnées offrant la flexibilité nécessaire pour créer des tables personnalisées et étendre les tables existantes. Grâce à cette approche, nous pouvons facilement transporter nos personnalisations sur l’ensemble des environnements à l’aide de solutions Dataverse.
Lorsque vous créez une table personnalisée, les métadonnées de cette table, ses colonnes et relations avec d’autres table et les composants d’interface utilisateur (tels que les formulaires et les vues) sont stockés en tant que métadonnées dans l’environnement Dataverse dans une solution.
Dataverse expose également un point de terminaison OData V4 RESTful, appelé API web Dataverse, qui peut être exploité pour afficher et manipuler des métadonnées dans un environnement Dataverse. Un mécanisme courant pour parcourir les métadonnées de votre solution consiste à exploiter le navigateur de métadonnées. Microsoft fournit celui-ci comme une solution que vous pouvez installer dans votre application. Pour obtenir les liens actuels, consultez Parcourir les définitions de table dans votre environnement. Cet outil peut être installé dans toute Power App pilotée par modèle. De plus, XrmToolbox dispose d’un outil de navigateur de métadonnées communautaire.
Assemblys .NET (plug-ins)
Les plug-ins Dataverse sont des classes de code géré enregistrées pour s’exécuter lorsque des événements Dataverse spécifiques se produisent. Lorsque l’événement se produit, ils passent par un pipeline d’exécution de plug-in composé de trois phases : Pre-Validation, Pre-Operation et PostOperation. Lors de l’enregistrement d’un plug-in, choisissez la phase à laquelle votre code doit s’exécuter. La phase à choisir dépend de l’objectif de l’extension. Vous n’avez pas besoin d’appliquer toute votre logique métier en une seule étape.
Vous pouvez configurer les plug-ins afin qu’ils s’exécutent de manière synchrone ou asynchrone. Les plug-ins synchrones s’exécutent immédiatement en fonction de la phase et de l’ordre d’exécution ; toute l’opération attendra leur achèvement. Les plug-ins asynchrones sont exécutés au moyen d’une tâche système une fois l’opération terminée et ne peuvent être enregistrés que pour la phase PostOperation.
Des plug-ins peuvent également être développés et enregistrés pour implémenter la logique des messages d’API personnalisée Dataverse.
API
Les API Dataverse fournissent une interface de programmation pour les applications et les services permettant d’accéder aux données métier, aux informations sur l’organisation et aux métadonnées stockées dans Dataverse. Les développeurs peuvent utiliser une API web RESTful OData ou des classes .NET typées au moyen du kit de développement logiciel (SDK) pour les assemblys .NET, en fonction de la manière dont ils doivent utiliser l’API. L’API web est la plus largement applicable, car elle nécessite uniquement la possibilité d’effectuer des requêtes HTTP et d’utiliser des réponses HTTP. Vous devez utiliser le kit de développement logiciel (SDK) pour .NET pour le développement de plug-ins Dataverse. Pour la plupart des autres utilisations, vous pouvez choisir le style d’API qui correspond le mieux à ce que vous créez.