Introduzione al servizio Web di distribuzione

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

Il servizio di distribuzione consente di creare soluzioni per avvalersi del supporto per più organizzazioni, anche chiamato supporto multi-tenant.Microsoft Dynamics 365 consente di ospitare più organizzazioni di clienti in un'unica distribuzione. Questa funzionalità offre un notevole vantaggio alle aziende o alle soluzioni ospitate che richiedono una distinzione dei dati all'interno dell'organizzazione. Poiché l'uso del servizio di distribuzione richiede l'accesso al server CRM, può essere utilizzato solo per le distribuzioni locali di Microsoft Dynamics CRM 2015.

Con il supporto per più organizzazioni, l'applicazione Web e i servizi Web di Microsoft Dynamics 365 supportano l'archiviazione e il recupero di dati di più organizzazioni aziendali, pur mantenendo la sicurezza e la privacy di ogni singola organizzazione. Un singolo database di configurazione di Microsoft Dynamics 365 archivia le informazioni relative ai metadati e alle località per tutte le organizzazioni di clienti. Tuttavia, ogni organizzazione di clienti ha il proprio database su un server che esegue Microsoft SQL Server. Per ulteriori informazioni sulle entità e sulle impostazioni di configurazione controllate dal servizio di distribuzione, vedere Impostazioni di entità di distribuzione e di configurazione della distribuzione.

Microsoft Dynamics CRM 2015 non supporta un endpoint compatibile con le versioni precedenti per il servizio di distribuzione quindi tutti i codici scritti per il servizio di distribuzione di Microsoft Dynamics CRM 4.0 devono essere aggiornati e ricompilati con il nuovo assembly.

Aggiunta del servizio di distribuzione al progetto

È possibile utilizzare il servizio di distribuzione aggiungendo un riferimento all'assembly Microsoft.Xrm.Sdk.Deployment.dll, che è possibile trovare nella cartella SDK\bin. In alternativa, è possibile aggiungere il seguente riferimento al servizio alla soluzione.

http://myservername/xrmdeployment/2011/deployment.svc

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

Verrà generato un file di configurazione e un file di codice che contiene la classe client. Aggiungere questi due file all'applicazione client e utilizzare la classe client generata per chiamare il servizio.

Installazione del servizio di distribuzione

Per eseguire chiamate verso le entità della distribuzione di Microsoft Dynamics 365, il ruolo server del Servizio distribuzione deve essere installato correttamente su un server Microsoft Dynamics 365. Verificare che i criteri seguenti siano soddisfatti nell'installazione del proprio Servizio distribuzione:

  • Per utilizzare le operazioni dell'organizzazione come ad esempio la creazione o l'aggiornamento, è necessario installare il ruolo server del Servizio distribuzione utilizzando un utente di dominio. L'account utente di dominio deve disporre dei diritti di amministratore di sistema e di amministratore locale sul SQL Server in cui saranno ospitati i database dell'organizzazione.

  • Il Servizio distribuzione dovrà essere eseguito con un'identità di servizio diversa rispetto agli altri servizi e server applicazioni di Microsoft Dynamics 365. Se si utilizza il Servizio di rete, il ruolo server deve essere installato su un server distinto a se stante senza nessun altro ruolo server di Microsoft Dynamics 365 installato. L'installazione del ruolo Servizio distribuzione insieme ad altri ruoli server può causare rischi per la sicurezza perché entrambi i server vengono eseguiti sotto l'account di Servizio di rete. Se si utilizza l'account del servizio di rete non sarà possibile eseguire operazioni sulle organizzazioni tramite Windows PowerShell o il servizio Web di distribuzione.

Per ulteriori informazioni sull'installazione del servizio di distribuzione, vedere i ruoli server di Microsoft Dynamics CRM.

Microsoft Dynamics 365 include due componenti server primari: il server applicazioni di Microsoft Dynamics 365 e il Server Microsoft Dynamics 365. Ognuno include un gruppo separato di ruoli server installati quando viene eseguito il programma di installazione. Il ruolo del servizio di distribuzione viene installato automaticamente quando si utilizza l'Installazione guidata per installare il server di piattaforma di Microsoft Dynamics 365.

Autenticazione e rappresentazione del servizio di distribuzione

L'autenticazione del servizio di distribuzione è gestita tramite Active Directory, anche nota come autenticazione integrata di Windows. È inoltre possibile utilizzare la rappresentazione, che consente di chiamare i metodi del servizio Web per conto di un altro utente autenticato, per offrire una funzionalità o un servizio desiderati. Per chiamare il servizio Web di distribuzione, è necessario essere un amministratore distribuzione di Microsoft Dynamics 365. Per ulteriori informazioni, vedere Aggiungere un amministratore distribuzione.

Nell'esempio di seguito viene illustrato come utilizzare la classe ProxyClientHelper per l'autenticazione e l'uso del servizio di distribuzione mediante credenziali predefinite.

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);
}

I servizi Web diMicrosoft Dynamics 365 possono essere chiamati da vari client e servizi per conto di un utente di Microsoft Dynamics 365. Ogni chiamata deve essere una chiamata autenticata. La rappresentazione viene utilizzata per eseguire una chiamata per conto di un utente autenticato di Microsoft Dynamics 365. Nell'utilizzare la rappresentazione, evitare di occuparsi di questioni di autorizzazione e di autenticazione nel codice del servizio Web (ASP.NET). Invece, basarsi su Internet Information Services (IIS) per autenticare l'utente e per passare un token autenticato al servizio Web. Se l'utente non può essere autenticato, IIS passa un token non autenticato.

Nell'esempio di seguito viene illustrato l'utilizzo della rappresentazione con il servizio di distribuzione.

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);
}

Funzionalità del servizio di distribuzione

Il servizio di distribuzione segue un modello di sviluppo simile al servizio Web principale di Microsoft Dynamics 365. Sono disponibili entità, metodi e messaggi da utilizzare per interagire con il servizio di distribuzione. Per ulteriori informazioni sul servizio Web principale di Microsoft Dynamics 365, vedere Usare i servizi Microsoft Dynamics CRM 2015 nel codice.

Esistono due tipi di entità per il servizio di distribuzione: entità della distribuzione e impostazioni di configurazione della distribuzione. Entrambi sono accessibili da parte dello stesso set di metodi. Per ulteriori informazioni su queste entità, vedere Impostazioni di entità di distribuzione e di configurazione della distribuzione.

Oltre alle entità di distribuzione principali, il servizio di distribuzione offre la possibilità di leggere e modificare le impostazioni avanzate determinate dai metadati. Queste impostazioni avanzate consentono l'accesso alle informazioni archiviate nel database di configurazione.

Il servizio di distribuzione supporta messaggi sia sincroni che asincroni per il metodo Execute. Per ulteriori informazioni, vedere Messaggi del servizio Web di distribuzione.

Nella tabella seguente sono elencati i metodi disponibili nel servizio di distribuzione.

Nome del metodo

Descrizione

IDeploymentService.Delete

Elimina un record dall'entità di distribuzione.

IDeploymentService.Execute

Esegue una richiesta del servizio di distribuzione. Per ulteriori informazioni, vedere Messaggi del servizio Web di distribuzione.

IDeploymentService.Retrieve

Recupera un record da un'entità di distribuzione o dalle impostazioni di configurazione della distribuzione.

IDeploymentService.RetrieveAll

Recupera tutti i record per un'entità di distribuzione o impostazioni di configurazione della distribuzione.

IDeploymentService.Update

Aggiorna un record da un'entità di distribuzione o dalle impostazioni di configurazione della distribuzione.

Vedere anche

IDeploymentService
Microsoft.Xrm.Sdk.Deployment.Proxy
ProxyClientHelper
Amministrare la distribuzione utilizzando il servizio Web di distribuzione
Impostazioni di entità di distribuzione e di configurazione della distribuzione
Messaggi del servizio Web di distribuzione

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright