Présentation de Dataverse et de Common Data Model

Effectué

Dataverse vous permet de stocker et gérer en toute sécurité les données utilisées par les applications métier. Dataverse stocke les données des applications métier dans un ensemble de tables (anciennement appelées « entités »). Une table est un ensemble de lignes (anciennement appelées « enregistrements ») et de colonnes (anciennement appelées « champs/attributs »). Chaque colonne de la table stocke un certain type de données, par exemple le nom, l’âge, le salaire, etc. Dataverse comprend un ensemble de base de tables standard qui couvrent les scénarios classiques. Vous pouvez également créer des tables personnalisées dédiées à votre organisation et les renseigner avec des données à l’aide de Power Query. Ensuite, les créateurs d’applications peuvent créer des applications destinées aux utilisateurs finaux utilisant ces données à l’aide de Power Apps.

Avantages de Dataverse

Dataverse s’appuie sur plusieurs capacités de stockage de données Azure, y compris Azure SQL, Cosmos DB et le stockage Azure. Dataverse réunit les technologies sous-jacentes pour fournir un ensemble unifié de fonctionnalités qui vous permettent de créer des définitions orientées métier des données et des processus métier de votre organisation dans différentes applications. Les données et les métadonnées étant toutes stockées dans le cloud, les applications sont simples à gérer et à administrer. De plus, un modèle de sécurité intégré vous permet de contrôler l’accès aux tables et aux fonctionnalités en fonction des différents rôles utilisateur au sein de votre organisation.

Microsoft a créé plusieurs applications internes sur Dataverse, y compris Dynamics 365 for Sales, Service, Field Service et Customer Insights - Journeys. En créant vos applications sur la même plateforme Dataverse, vous pouvez étendre d’autres applications ou interagir avec leurs données au sein de Dataverse.

Utiliser tout type de données

Dataverse est conçu pour être compatible avec les types de données les plus courants et intègre toutes les principales catégories de technologies de données dont votre organisation a besoin : données relationnelles, données non relationnelles, fichier, image, recherche et lac de données. En général, cela oblige les développeurs à utiliser plusieurs API provenant de différents moteurs de données. Dataverse fournit une API unifiée en amont de toutes les données, ce qui garantit une exécution cohérente de toute logique métier personnalisée qui étend le comportement par défaut.

Dataverse comprend un ensemble de concepteurs visuels permettant de créer, de modifier et d’interagir avec les données et les modèles de données. Les concepteurs facilitent la définition rapide de tables, relations, règles métier, formulaires, vues et flux de travail adaptés à votre activité. En outre, l’API permet aux développeurs d’interagir par programme avec les métadonnées de la plateforme, par exemple pour créer des tables et des colonnes.

Dataverse prend également en charge les tables virtuelles. Les tables virtuelles mappent les données sur une source de données externe afin qu’elles semblent exister dans Dataverse. Les tables virtuelles permettent à Dataverse d’exécuter des opérations de données en temps réel sur la source de données externe. Les développeurs peuvent créer des fournisseurs de données à l’aide de code pour faciliter la connexion à des sources de données externes. Pour en savoir plus, consultez Créer et modifier des tables virtuelles comportant des données provenant d’une source de données externe.

Utilisation de tout type d’application

Lorsqu’une organisation souhaite créer une nouvelle application, elle peut bénéficier d’autres gains de productivité en utilisant Dataverse avec Power Apps. Power Apps comprend les riches métadonnées que comporte Dataverse et les exploite de plusieurs manières pour vous aider à créer rapidement des applications de qualité, sécurisées et évolutives, et à les mettre à disposition sur les ordinateurs de bureau, le web, les appareils mobiles et Microsoft Teams.

Pour les développeurs qui souhaitent intégrer des données Dataverse à des applications existantes ou écrire de nouvelles applications à l’aide d’un code personnalisé, Dataverse fournit une API REST pour faciliter cette intégration. Cette API REST assure une couverture complète des fonctionnalités de Dataverse et offre ainsi un modèle d’extensibilité illimité pour la création d’expériences entièrement personnalisées.

Modèle de sécurité intégré

En tant que développeur créateur d’une application, vous avez l’habitude de devoir concevoir et créer votre propre modèle de sécurité pour l’application. Dataverse comprend un ensemble prédéfini de dispositifs pour permettre la configuration d’un modèle de sécurité d’application. À l’aide de la sécurité basée sur les rôles, Dataverse rassemble une collection de privilèges couvrant à la fois l’accès aux données avec une granularité au niveau des lignes et les fonctions métier pouvant s’étendre sur plusieurs tables. Ces rôles de sécurité peuvent être associés directement à des utilisateurs individuels, ou être associés à des unités commerciales et des équipes Dataverse.

Étant donné que le contrôle d’accès au niveau de la ligne n’est pas toujours suffisant dans certains scénarios métier, Dataverse dispose d’une fonction de sécurité au niveau des colonnes pour assurer un contrôle plus granulaire de la sécurité au niveau de la colonne.

Dataverse inclut également deux dispositifs de sécurité qui peuvent être utilisés pour les hiérarchies : la hiérarchie des responsables et la hiérarchie des postes. Avec la hiérarchie des responsables, un responsable doit appartenir au même centre de profit que sa liaison hiérarchique, ou à la division mère du centre de profit de la liaison hiérarchique pour avoir accès aux données de celle-ci. La hiérarchie des postes permet d’accéder aux données entre les unités commerciales. Cela peut être utile pour créer des modèles de sécurité plus complexes.

Les développeurs peuvent également automatiser les tâches de sécurité à l’aide de l’API.

Quand écrire du code

En tant que développeur Power Platform, vous devez comprendre les différences entre ce qui peut être accompli par la configuration et par l’écriture de code. Parfois, les fonctionnalités existantes peuvent ne pas fournir les fonctionnalités nécessaires pour répondre à un besoin, et Dataverse fournit différents points d’extension où les développeurs peuvent étendre les fonctionnalités communes à l’aide de code.

Pour identifier les lacunes là où les fonctionnalités n’existent pas déjà, il est essentiel que les développeurs Power Platform se familiarisent avec les fonctionnalités de Dataverse. Si vous ne connaissez pas bien la création d’applications avec Power Apps en utilisant Dataverse, nous vous recommandons de suivre le parcours d’apprentissage Créer une application pilotée par modèle dans Power Apps ainsi que la procédure guidée Créer une application canevas à partir de zéro en utilisant Microsoft Dataverse de la documentation dédiée aux créateurs de Power Apps.

Types d’extensibilité

En général, toute activité de personnalisation au moyen de code est appelée « extension » d’une application. Par conséquent, si vous rencontrez des termes comme « extensibilité », cela correspond généralement à du code en termes de développement Power Apps. Dans le modèle d’extensibilité, les activités sont regroupées en deux ensembles plus larges : extension de l’expérience utilisateur et extension de la plateforme ou de Dataverse lui-même.

Extension de l’expérience utilisateur de Power Apps

Pour étendre l’expérience utilisateur d’une application Power Apps, vous pouvez créer des composants utilisables avec tous les types d’applications Power Apps à l’aide de Power Apps Component Framework (PCF). Une application Power Apps pilotée par modèle expose également une API client JavaScript qui vous permet d’interagir avec les pages d’application pour implémenter la logique métier sur les formulaires d’application.

Bien que les applications canevas n’offrent pas de fonctionnalités de script, leur logique est créée à l’aide de Microsoft Power Fx. Power Fx est le langage low-code utilisé dans Microsoft Power Platform. Il s’agit d’un langage de programmation polyvalent, fortement typé, déclaratif et fonctionnel. Les développeurs de plateforme expérimentés doivent être familiers de l’utilisation de ce langage et de sa modification éventuellement nécessaire dans les fichiers source, ainsi qu’être capables de déboguer les applications à l’aide d’outils tels que Monitor. Pour en savoir plus, consultez Présentation de Power Apps avec Monitor.

TypeScript est un langage recommandé dans de nombreux scénarios de script. Étant donné que TypeScript est transpilé en JavaScript, les deux langages sont regroupés de manière générique sous le terme de « script client ». Avec le script client, vous pouvez configurer les gestionnaires d’événements de formulaire de la même manière qu’un élément de formulaire HTML. Vous pouvez également appeler des fonctions de script à partir d’une barre de commandes (ruban) et consommer des ressources web de script client à partir de ressources web HTML.

Les ressources web HTML sont les prédécesseurs des composants de code PCF et permettent également d’afficher la logique de présentation personnalisée d’un formulaire dans les applications pilotées par modèle lorsque des besoins plus poussés ne peuvent être satisfaits par les formulaires standard prêts à l’emploi. Vous pouvez en rencontrer lorsque vous travaillez avec des applications créées avant que les composants de code PCF ne soient devenus disponibles.

Extension de Dataverse

L’extension de Dataverse en tant que plateforme est requise chaque fois qu’apparaît un besoin d’un certain niveau d’automatisation ou d’un comportement non pris en charge par les fonctionnalités existantes. Ces types de points d’extensibilité s’exécutent en tant que code côté serveur au moyen d’un dispositif appelé plug-in. Power Automate et d’autres options permettent l’automatisation et la logique asynchrones, mais ne sont pas capables de faire tout ce que peuvent faire les plug-ins en termes de comportement synchrone. Lorsqu’il existe des exigences d’opérations synchrones dans une application, des plug-ins sont toujours requis. Le traitement synchrone par les plug-ins permet de traiter toutes les modifications dans Dataverse comme une seule unité de travail dans une transaction.

Les développeurs peuvent également créer leurs propres API dans Dataverse à l’aide de la fonctionnalité d’API personnalisée. Vous pouvez consolider une ou plusieurs opérations dans une API personnalisée que vous pouvez appeler à partir de code, d’applications canevas Power Apps ou de Power Automate.

Le développement de plug-ins est une compétence essentielle et une tâche courante des développeurs Power Platform.

Solutions Dataverse

L’un des concepts fondamentaux du développement et de l’extension de Dataverse est la construction de solutions. Les solutions Dataverse sont des conteneurs pour les applications et d’autres composants tels que les plans de site, les tables, les processus, les ressources web, les choix, les flux, etc. Les solutions permettent de transporter des applications et des composants d’un environnement à un autre ou d’appliquer un ensemble de personnalisations à des applications existantes. Les solutions sont également la façon dont les applications internes de Microsoft et les applications d’éditeurs de logiciels indépendants sont installées dans votre environnement.

Les solutions sont le mécanisme d’implémentation d’Application Lifecycle Management (ALM) dans Power Platform. Pour en savoir plus sur les concepts de solution, consultez Solutions dans Power Apps dans la documentation relative à Dataverse. Power Platform Build Tools permet, conjointement avec Azure DevOps ou GitHub, d’automatiser les opérations ALM Power Platform. Pour en savoir plus sur l’utilisation de solutions Application Lifecycle Management, consultez Présentation d’ALM avec Microsoft Power Platform dans le Guide ALM Microsoft Power Platform.

Présentation de Common Data Model

Microsoft a publié un modèle de données Common Data Model composé d’une collection extensible de schémas représentant des concepts métier courants. En utilisant un schéma commun à toutes les applications d’entreprise telles que les contacts, les prospects, les comptes ou les produits, l’interopérabilité des données est grandement simplifiée.

L’infographie suivante représente effectivement l’état actuel fourni des schémas Common Data Model de base. Common Data Model est un écosystème en évolution ; de nombreux autres apparaîtront au fil du temps.

Utilisation de Common Data Model

Common Data Model est influencé par les schémas de données présents dans Dynamics 365, couvrant divers domaines d’activité. Si vous êtes un client ou partenaire utilisant Dynamics 365, vous utilisez déjà Common Data Model. Dataverse implémente les entités standard Common Data Model telles que Compte et Contact. Certaines entités standard de Common Data Model sont intégrées à chaque base de données Dataverse. D’autres entités standard sont installées dans le cadre d’une solution, notamment des applications internes (telles que Dynamics 365 Field Service) ou des accélérateurs de solutions sectorielles (tels que Dynamics 365 Automotive Accelerator).

Common Data Model est conservé dans GitHub. Les schémas sont conservés sous forme de fichiers JSON. Pour accéder à une référence d’entité complète, consultez Présentation d’ApplicationCommon. Microsoft fournit également un Navigateur d’entité visuelle qui permet aux utilisateurs de naviguer visuellement dans les entités de Common Data Model.

Lors de la création par rapport à Common Data Model, vous devez comprendre l’approche en couches adoptée pour créer le schéma de votre application personnalisée. À la base d’une application Common Data Model se trouve un schéma de base qui comporte des entités couramment utilisées telles que Compte et Contact. À partir de là, vous pouvez superposer des modèles fonctionnels ou sectoriels pour accélérer davantage le développement de votre propre application personnalisée, après quoi vous pouvez créer vos propres modèles.