Partager via


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.

Extensions développeur pour Microsoft Dynamics CRM 2015

Connexion simplifiée à Microsoft Dynamics CRM 2015

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

Exemple : Démarrage rapide de l’API des outils XRM

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.

Développement de plug-ins

Activités de workflow personnalisées (assemblys de workflow)

Inscrire et déployer des plug-ins

Procédure pas-à-pas : inscrire un plug-in à l’aide de l’outil Plug-in Registration (Inscription de plug-in)

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.

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

Créer des classes d’entité à liaison anticipée à l’aide de l’outil de génération de code (CrmSvcUtil.exe)

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.

Utiliser la classe d’entité à liaison tardive dans le code

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.

Extensions développeur pour Microsoft Dynamics CRM 2015

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)

Attacher des entités au contexte (Dynamics CRM 2015)

Extensions développeur pour Microsoft 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.

Générer des requêtes avec FetchXML

QueryExpression

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.

Générer des requêtes avec QueryExpression

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