Choisir votre style de développement pour le code géré
Date de publication : novembre 2016
S’applique à : Dynamics CRM 2015
Le SDK Microsoft Dynamics CRM propose diverses méthodes et technologies à utiliser lorsque vous écrivez du code pour accéder aux services Web Mise à jour de Microsoft Dynamics CRM 2015 et de Microsoft Dynamics CRM Online 2015 ou étendre l’application. Ce guide présente des outils et méthodes que vous pouvez utiliser pour effectuer différentes tâches de codage, et fournit des instructions relatives à leur utilisation.
Contenu de la rubrique
Authentifier à l’aide de code
Créer et déployer des plug-ins ou des activités de workflow personnalisées
Créer et déployer des workflows XAML
Programmation d’entité (liaison anticipée, liaison tardive et extensions développeur)
Requête (Fetch, QueryExpressions, LINQ et Extensions développeur)
Authentifier à l’aide de code
Le tableau suivant répertorie les options disponibles pour écrire du code qui authentifie l’appelant avec une installation de Microsoft Dynamics 365 pour les déploiements local, avec accès via Internet (IFD) ou en ligne.
Classes |
Description et utilisation |
Informations supplémentaires |
---|---|---|
Code d'assistance |
Les classes de l’exemple de code montrent comment se connecter aux services Web et authentifier l’utilisateur. Vous pouvez utiliser le code d’assistance comme base de votre propre code d’authentification personnalisé. Ce code est facile à utiliser et prend en charge tous les types de déploiement Microsoft Dynamics 365. Il prend également en charge l’enregistrement des mots de passe des utilisateurs dans le Gestionnaire d'informations d'identification Windows pour une réutilisation ultérieure. Le code source complet est fourni, vous pouvez donc le copier et le personnaliser en fonction de vos besoins. Il est recommandé d’isoler vos programmes des modifications apportées à ce code d’assistance dans les prochaines versions. |
Exemple : Démarrage rapide de Microsoft Dynamics CRM Utiliser l’exemple de code et le code d’assistance Code d’assistance : classe ServerConnection Ce code se trouve dans les fichiers SampleCode\CS\HelperCode\CrmServiceHelpers.cs et SampleCode\VB\HelperCode\CrmServiceHelpers.vb du kit de développement logiciel (SDK). Téléchargez le package Kit de développement logiciel (SDK) de Microsoft Dynamics CRM. |
Extensions développeur |
Ces assemblys sont fournis pour simplifier et accélérer le développement d’applications qui interagissent avec Microsoft Dynamics 365. Les extensions étendent les fonctionnalités du SDK Microsoft Dynamics CRM principal, notamment en ce qui concerne l’utilisation de la classe OrganizationServiceContext. Pour une méthode simple qui effectue le travail à votre place en quelques lignes de code, utilisez la classe CrmConnection. Ce code est facile à utiliser et prend en charge tous les types de déploiement Microsoft Dynamics 365. |
|
Client Xrm |
Pour les développeurs avancés qui doivent personnaliser la gestion du canal de service Windows Communication Foundation (WCF) et le processus d’authentification, utilisez les classes IServiceManagement<TService> et OrganizationServiceProxy dans l'espace de noms Microsoft.Xrm.Sdk.Client. L’utilisation directe de ces classes offre de meilleures performances de connexion et d’authentification, ainsi qu’une flexibilité accrue. Cependant, elles nécessitent des connaissances plus poussées du canal de service WCF et de l’authentification du serveur. En outre, vous devez écrire plus de code pour gérer tous les types de déploiement Microsoft Dynamics 365. |
Active Directory et authentification basée sur les revendications Exemple : Authentifier les utilisateurs avec des services Web Microsoft Dynamics CRM Améliorer les performances d'allocation des canaux de service |
Outils XRM |
Ces assemblys utilisent les API Dynamics 365 pour fournir la prise en charge facile de l’authentification avec moins de lignes de code et via les applets de commande Windows PowerShell. Tous les appels de fonction dans ces classes assurent la cohérence de thread pour les actions exécutées dans Dynamics 365 dans un environnement multithread. Ils fournissent un contrôle de connexion commun avec une logique d’authentification intégrée et la possibilité de stocker et de réutiliser les informations d’authentification pour fournir une expérience de connexion cohérente et transparente à Dynamics 365 à partir de vos applications clientes Windows. Ces classes fournissent également un suivi diagnostique intégré pour aider à la résolution des problèmes et à la création de rapports de performances sur les appels à l’action à partir de vos applications clientes Windows. Ces classes prennent en charge tous les types de déploiement et d’authentification Microsoft Dynamics 365, sauf OAuth. |
Créer des applications clientes Windows à l’aide des outils XRM Utiliser les outils XRM pour se connecter à CRM Utiliser les applets de commande PowerShell pour que les outils XRM se connectent à CRM |
Créer et déployer des plug-ins ou des activités de workflow personnalisées
Le tableau suivant répertorie les options disponibles pour écrire et déployer des plug-ins et des activités de workflow personnalisées.
Outil |
Description et utilisation |
Informations supplémentaires |
---|---|---|
Classes de plug-ins et d’activités de workflow personnalisées Outil d’inscription de plug-ins |
Les classes de plug-ins et d’activités de workflow personnalisées vous permettent de créer des gestionnaires d’événements pour exécuter une logique métier personnalisée que vous pouvez intégrer à Microsoft Dynamics 365 pour modifier ou améliorer le comportement standard de la plateforme. En utilisant ces classes directement, votre code ne contient aucun code d’assistance fourni dans le Kit de ressources pour les développeurs. Si vous écrivez entièrement des plug-ins et des activités de workflow personnalisées, vous devez utiliser l’outil Plug-in Registration (Inscription de plug-in) pour les inscrire. Cet outil fournit une interface graphique et prend en charge l’inscription des plug-ins et des activités de workflow personnalisées avec Microsoft Dynamics 365. Utilisez cette méthode dans les cas suivants : Vous savez comment utiliser les classes de plug-ins et d’activités personnalisées. Vous ne souhaitez pas qu’un code de bibliothèque supplémentaire soit généré automatiquement et placé dans vos fichiers de code. Vous ne voyez pas d’inconvénient à utiliser un outil externe et l’application Web pour inscrire et créer des packages d’assemblys de code personnalisés. |
Activités de workflow personnalisées (assemblys de workflow) |
Créer et déployer des workflows XAML
Le tableau suivant répertorie les options disponibles pour écrire et déployer des workflows XAML.
Outil |
Description et utilisation |
Informations supplémentaires |
---|---|---|
Concepteur de workflow Microsoft Visual Studio |
Les déploiements locaux et IFD de Microsoft Dynamics 365 prennent en charge la création de workflows XAML personnalisés. Le concepteur de workflow Microsoft Visual Studio vous permet de créer des workflows XAML personnalisés, également appelés workflows déclaratifs, en faisant glisser les activités de workflow de la boîte à outils vers la surface de conception, en créant des variables et en définissant les propriétés de ces activités pour implémenter la fonctionnalité du workflow. Vous pouvez utiliser les activités Windows Workflow Foundation intégrées ou les activités de processus spécifiques à Microsoft Dynamics 365. Utilisez cette méthode lorsque vous souhaitez simplement écrire des workflows XAML personnalisés. |
Écrire des workflows pour automatiser les processus d’entreprise |
Programmation d’entité (liaison anticipée, liaison tardive et extensions développeur)
Le tableau suivant répertorie les options disponibles pour écrire du code qui utilise les entités dans Microsoft Dynamics 365.
Classe |
Description et utilisation |
Informations supplémentaires |
---|---|---|
Liaison anticipée <optional namespace>.Account, <optional namespace>.Contact, etc. |
L’outil de génération de code (CrmSvcUtil) crée des classes d’entité à liaison anticipée, dérivées de la classe Entity, qui vous permet d’accéder aux données commerciales dans Microsoft Dynamics 365. Ces classes incluent une classe pour chaque entité dans votre installation, y compris les entités personnalisées. Utilisez cette méthode lorsque vous souhaitez que le compilateur vérifie les références de type au moment de la compilation. En outre, les attributs et les relations sont inclus dans la classe générée de sorte qu’ils fournissent la prise en charge d’IntelliSense pour les noms d’entité, d’attribut et de relation. L’utilisation de types forts est généralement la méthode par défaut et est utilisée dans la majorité des exemples de cette documentation du kit de développement logiciel (SDK). Cette approche présente les inconvénients suivants : Les classes doivent être régénérées chaque fois que les entités sont personnalisées pour tirer parti des modifications de schéma. Les coûts de sérialisation augmentent dans la mesure où les entités sont converties en types à liaison tardive pendant la transmission sur le réseau. |
Utiliser les classes d’entité à liaison anticipée dans le code |
Liaison tardive Microsoft.Xrm.Entity |
La classe Entity contient le nom logique d’une entité et un tableau conteneur des propriétés des attributs de l’entité. Cela vous permet d’utiliser la liaison tardive pour utiliser des types tels que les entités et attributs personnalisés qui n’étaient pas présents lors de la compilation de votre application. Un autre avantage est que la sérialisation est réduite, car les données d’entité sont transmises sur un réseau, ce qui entraîne des performances accrues. Cette approche présente les inconvénients suivants : Les types doivent être explicitement définis pour empêcher les casts implicites. Il est difficile d’isoler l’impact des modifications du schéma, car les noms des ressources, telles que les entités et les attributs, sont codés en dur. Il est plus facile de commettre des fautes d’orthographe pendant le codage, car les noms d’attribut sont des chaînes codées en dur. |
|
Extensions développeur Microsoft.Xrm.Client.CrmEntity |
La classe CrmEntity dérive de la classe Entity. En plus de fournir les mêmes fonctionnalités que la classe Entity, CrmEntity ajoute de nouvelles méthodes d’extension Get et Set pour simplifier les tâches de codage courantes, ainsi que deux nouveaux événements de modification des propriétés. |
|
Liaison anticipée à l’aide des extensions de l’outil de génération de code <optional namespace>.Account, <optional namespace>.Account, etc. |
À l’aide de la version Extensions développeur de l’outil CrmSvcUtil, vous pouvez générer des types à liaison anticipée qui sont dérivés de la classe CrmEntity. Utilisez cette option lorsque vous souhaitez tirer parti des autres fonctionnalités disponibles dans les extensions développeur. |
Générer du code avec les extensions de l’outil de génération de code (Dynamics CRM 2015) |
Requête (Fetch, QueryExpressions, LINQ et Extensions développeur)
Le tableau suivant répertorie les options disponibles pour créer des requêtes que vous pouvez utiliser pour récupérer des enregistrements de la base de données Microsoft Dynamics 365.
Style de requête |
Description et utilisation |
Informations supplémentaires |
---|---|---|
FetchXML |
Il s’agit d’un langage de requête XML personnalisé qui prend en charge toutes les fonctionnalités de QueryExpression, en plus des agrégats et du groupement. Les requêtes Fetch peuvent retourner des enregistrements pour plusieurs entités. En outre, les requêtes peuvent être sérialisées et enregistrées dans la base de données. Ce paramètre est utilisé pour enregistrer une requête comme une vue enregistrée appartenant à l’utilisateur dans l’entité UserQuery et comme une vue enregistrée appartenant à l’organisation dans l’entité SavedQuery. Utilisez ce langage de requête lorsque vous avez besoin d’une assistance pour les agrégats et le groupement ou que vous devez enregistrer la requête. |
|
Une expression de requête est utilisée pour rechercher des enregistrements pour un type d’entité unique. Les requêtes sont créées en tant que modèle d’objet. Cette classe prend en charge toutes les fonctionnalités dans FetchXML à l’exception des agrégats et du groupement. Elle prend également en charge les styles de programmation d’entité à liaison anticipée et tardive. |
||
LINQ |
Les requêtes sont créées avec le langage standard, mais Language-Integrated Query (LINQ) .NET utilise en interne QueryExpression. Il est donc limité aux fonctionnalités de QueryExpression.LINQ prend en charge les styles de programmation d'entité à liaison anticipée et tardive. |
Générer des requêtes avec LINQ (Language-Integrated Query .NET) |
Voir aussi
Vue d’ensemble du développeur
Didacticiels pour se familiariser avec le développement pour Microsoft Dynamics CRM 2015
Écrire des applications et des extensions de serveur
Modèles de programmation pour Microsoft Dynamics CRM 2015
© 2017 Microsoft. Tous droits réservés. Copyright