Introduction au service Web de déploiement

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Le service de déploiement vous permet de créer des solutions pour tirer parti de la prise en charge de plusieurs organisations - également appelée prise en charge mutualisée.Microsoft Dynamics 365 vous permet d’héberger plusieurs organisations clientes au sein d’un déploiement unique. Cette fonctionnalité profite aux solutions hébergées ou aux entreprises qui requièrent une séparation des données au sein de l’organisation. Étant donné que le service de déploiement nécessite l’accès au serveur Dynamics 365, il ne peut être utilisé que pour les déploiements locaux de Microsoft Dynamics 365.

Avec la prise en charge de plusieurs organisation, l’application Web et les services Web Microsoft Dynamics 365 prennent en charge le stockage et la récupération des données sur plusieurs organisations commerciales tout en assurant la sécurité et la confidentialité de chaque organisation. Une seule base de données de configuration Microsoft Dynamics 365 stocke les métadonnées et les informations d’emplacement de toutes les organisations clientes. Cependant, chaque organisation cliente possède sa propre base de données sur un serveur exécutant Microsoft SQL Server. Pour plus d’informations sur les entités et les paramètres de configuration contrôlés par le service de déploiement, consultez Entités de déploiement et paramètres de configuration du déploiement.

Comme Microsoft Dynamics 365 ne prend pas en charge un point de terminaison à compatibilité ascendante pour le service de déploiement, le code écrit pour le service de déploiement Microsoft Dynamics CRM 4.0 doit être mis à jour et recompilé avec le nouveau assembly.

Ajouter le service de déploiement à votre projet

Vous pouvez utiliser le service de déploiement en ajoutant une référence à l’assembly Microsoft.Xrm.Sdk.Deployment.dll, que vous trouverez dans le dossier SDK\bin. Par ailleurs, vous pouvez ajouter la référence de service suivante à votre solution.

    http://myservername/xrmdeployment/2011/deployment.svc
    svcutil.exe http:// myservername/XRMDeployment/2011/Deployment.svc?wsdl

Elle génère un fichier de configuration et un fichier de code qui contient la classe client. Ajoutez ces deux fichiers à votre application cliente et utilisez la classe cliente générée pour appeler le service.

Installation du service de déploiement

Pour exécuter les appels sur les entités de déploiement Microsoft Dynamics 365, le rôle serveur Service de déploiement doit être correctement installé sur un serveur Microsoft Dynamics 365. Vérifiez que les critères suivants soient remplis dans votre installation du service de déploiement :

  • Pour utiliser les opérations d’organisation telles que créer ou mettre à niveau, vous devez installer le rôle serveur Service de déploiement à l’aide d’un utilisateur de domaine. Le compte d’utilisateur de domaine doit avoir les droits administration locaux et système sur le SQL Server où les bases de données de l’organisation sont hébergées.

  • Le service de déploiement doit être exécuté avec une identité de service différente du serveur d’application et des autres services Microsoft Dynamics 365. Si vous utilisez le service réseau, le rôle serveur doit être installé seul sur un serveur distinct sans aucun autre rôle serveur Microsoft Dynamics 365 installé. L’installation du rôle Service de déploiement à côté d’autres rôles serveur peut entraîner des risques de sécurité, car les deux serveurs fonctionnent sous le compte Service réseau. Si vous utilisez le compte Service réseau, vous ne pouvez pas exécuter des opérations d’organisation en utilisant Windows PowerShell ou le service Web de déploiement.

Pour plus d’informations sur l'installation du service de déploiement, voir Rôles serveur de Microsoft Dynamics CRM.

Microsoft Dynamics 365 propose deux composants serveur principaux : le serveur d’applications Microsoft Dynamics 365 et le serveur Microsoft Dynamics 365. Chacun inclut un groupe distinct de rôles serveur installés lors de l’installation elle-même. Le rôle Service de déploiement est automatiquement installé lors de l’utilisation de l’Assistant Configuration pour installer le serveur de plateforme Microsoft Dynamics 365.

Authentification et emprunt d’identité du service de déploiement

L’authentification du service de déploiement est gérée via Active Directory, qui est également appelée Authentification intégrée de Windows. Vous pouvez également utiliser l’emprunt d’identité, qui vous permet d’appeler les méthodes des services Web au nom d’un autre utilisateur authentifié pour fournir une fonctionnalité ou un service souhaité. Pour appeler le service web de déploiement, vous devez disposer du rôle Administrateur de déploiement Microsoft Dynamics 365. Pour plus d’informations, voir Ajouter un administrateur de déploiement.

L’exemple suivant montre comment utiliser la classe ProxyClientHelper pour authentifier et utiliser le service de déploiement à l’aide des informations d’identification par défaut.

DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://MyServerName/XRMDeployment/2011/Deployment.svc"));
RetrieveAllRequest request = new RetrieveAllRequest()
{   
   EntityType = DeploymentEntityType.DefaultOrganization};   
   RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}

Les services Web Microsoft Dynamics 365 peuvent être appelés par différents clients et services au nom d’un utilisateur Microsoft Dynamics 365. Chaque appel doit être un appel authentifié. L’emprunt d’identité permet d’exécuter un appel au nom d’un utilisateur Microsoft Dynamics 365 authentifié. Lors de l’utilisation de l’emprunt d’identité, évitez de gérer les problèmes d’authentification et d’autorisation dans le code du service Web (ASP.NET). Appuyez-vous à la place sur Internet Information Services (IIS) pour authentifier l’utilisateur et transmettre un jeton authentifié au service Web. Si l’utilisateur ne peut pas être authentifié, IIS passe un jeton non authentifié.

L’exemple suivant montre comment utiliser l’emprunt d’identité avec le service de déploiement.

DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri("http://myservername/XRMDeployment/2011/Deployment.svc"));
service.ClientCredentials.Windows.ClientCredential = new NetworkCredential("administrator", "myp@ssword!", "myservernamedom");
RetrieveAllRequest request = new RetrieveAllRequest() 
{   
   EntityType = DeploymentEntityType.DefaultOrganization};   
   RetrieveAllResponse response = (RetrieveAllResponse) service.Execute(request);
}

Fonctionnalités du service de déploiement

Le service de déploiement suit un modèle de développement similaire au service Web Microsoft Dynamics 365 principal. Ce sont les entités, méthodes et messages que vous utilisez pour interagir avec le service de déploiement. Pour plus d’informations sur le service Web Microsoft Dynamics 365 principal, voir Utilisation des services Microsoft Dynamics 365 dans le code suivant :

Il existe deux types d’entités pour le service de déploiement : les entités de déploiement et les paramètres de configuration du déploiement. Les deux sont accessibles par le même ensemble de méthodes. Pour plus d’informations sur ces entités, voir Entités de déploiement et paramètres de configuration du déploiement.

En dehors des entités de déploiement principales, le service de déploiement offre la possibilité de lire et de modifier les paramètres avancés conduits par les métadonnées. Ces paramètres avancés fournissent l’accès aux informations stockées dans la base de données de configuration.

Le service de déploiement prend à la fois en charge les messages synchrones et asynchrones pour la méthode d’Execute. Pour plus d'informations, voir Messages de service Web de déploiement.

Le tableau suivant répertorie les méthodes disponibles dans le service de déploiement.

Nom de méthode

Description

IDeploymentService.Delete

Supprime un enregistrement d’une entité de déploiement.

IDeploymentService.Execute

Exécute une demande pour le service de déploiement. Pour plus d'informations, voir Messages de service Web de déploiement.

IDeploymentService.Retrieve

Récupère un enregistrement des paramètres de configuration d’une entité de déploiement ou d’un déploiement.

IDeploymentService.RetrieveAll

Récupère tous les enregistrements pour les paramètres de configuration d’une entité de déploiement ou d’un déploiement.

IDeploymentService.Update

Met à jour un enregistrement des paramètres de configuration d’une entité de déploiement ou d’un déploiement.

Voir aussi

IDeploymentService
Microsoft.Xrm.Sdk.Deployment.Proxy
ProxyClientHelper
Administrer le déploiement à l’aide du service Web de déploiement
Entités de déploiement et paramètres de configuration du déploiement
Messages de service Web de déploiement

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright