Integrazione di Azure con Microsoft Dynamics CRM

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

È possibile collegare Aggiornamento di Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 con la piattaforma Microsoft Azure mediante l'accoppiamento della pipeline di esecuzione degli eventi di Dynamics 365 con Bus di servizio di Microsoft Azure. Questa connessione consente di inviare i dati elaborati come parte dell'operazione di Dynamics 365 corrente al bus di servizio. Le soluzioniBus di servizio di Microsoft Azure che "riconoscono Dynamics 365" possono ascoltare e leggere i dati inviati da Microsoft Dynamics 365 al bus di servizio. I dati inseriti vengono archiviati in un'istanza della classe RemoteExecutionContext che è una versione estesa di IExecutionContext passata in fase di esecuzione ai plug-in asincroni di Microsoft Dynamics 365.

Questa connessione tra Microsoft Dynamics 365 e la piattaforma Microsoft Azure fornisce un canale sicuro per la comunicazione dei dati di runtime di Dynamics 365 alle applicazioni line-of-business (LOB) basate su cloud esterne.

In questo argomento

Elementi chiave della connessione

Scenario di CRM e di un bus di servizio

Creare un contratto tra CRM e una soluzione Azure

Gestire gli errori di runtime

Elementi chiave della connessione

Di seguito sono riportati gli elementi chiave che implementano la connessione tra Microsoft Dynamics 365 e Bus di servizio di Microsoft Azure:

  • Servizio asincrono
    Il servizio asincrono è responsabile dell'inserimento del contesto di esecuzione remoto di Microsoft Dynamics 365 in Bus di servizio di Microsoft Azure. Ogni inserimento viene eseguito da un processo di sistema del servizio asincrono. Un utente può visualizzare lo stato di ogni processo di sistema tramite l'applicazione Web Microsoft Dynamics 365.

  • Plug-in
    Esistono due tipi di plug-in registrati asincroni supportati da funzionalità di connessione: predefinito (OOB), tali plug-in forniti con Dynamics 365 e personalizzati. Per ulteriori informazioni sull'utilizzo dei plug-in asincroni con Microsoft Azure, vedere Accedere a servizio di notifica.

    Un plug-in che supporta Azure è fornito con Dynamics 365. Questo plug-in viene eseguito con la piattaforma Microsoft Dynamics 365 con la massima attendibilità. Quando è registrato con Microsoft Dynamics 365, il plug-in può inviare notifica al servizio asincrono per inserire il contesto della richiesta corrente nel Bus di servizio di Microsoft Azure. Uno sviluppatore deve registrare un passaggio su questo plug-in che identifichi il messaggio e l'entità di destinazione per abilitare la funzionalità di inserimento nel bus di servizio.

    È inoltre possibile scrivere il proprio plug-in personalizzato che sia in grado di riconoscere Azure. Il plug-in personalizzato viene eseguito in modalità parzialmente attendibile nel sandbox e può chiamare tutti i metodi Microsoft Dynamics CRM SDK. Un plug-in personalizzato può iniziare l'inserimento del contesto Microsoft Dynamics 365 nel bus di servizio includendo alcune righe di codice standard che notifichino al servizio asincrono l'inserimento del contesto della richiesta. Questo codice specifico del cloud consente ai plug-in di riconoscere Azure. Per ulteriori informazioni sui plug-in in generale, vedere Scrivere un plug-in. Per ulteriori informazioni sui plug-in che riconoscono Azure, vedere Scrivere un plug-in personalizzato che riconosce Azure.

  • Attività flusso di lavoro personalizzate
    È possibile scrivere attività flusso di lavoro personalizzate per inserire il contesto dei dati della richiesta corrente nel Bus di servizio di Microsoft Azure.Ulteriori informazioni:Esempio: attività flusso di lavoro personalizzata che riconosce Azure.

  • Bus di servizi di Microsoft Azure
    Il bus di servizio inoltra il contesto di esecuzione remoto tra il Microsoft Dynamics 365 e i listener della soluzione Bus di servizio di Microsoft Azure.Servizio di controllo di accesso (ACS) di Microsoft Azure Active Directory gestisce la sicurezza dell'autenticazione basata sulle attestazioni.

  • Soluzione Microsoft Azure
    Affinché la connessione Dynamics 365 e Azure sia in grado di funzionare, deve essere presente almeno una soluzione in un account della soluzione Bus di servizio di Microsoft Azure, in cui la soluzione contenga uno o più endpoint del servizio. Per un contratto di endpoint di inoltro, un listener in grado di riconoscere Dynamics 365 deve essere attivamente in ascolto sull'endpoint per la richiesta di Dynamics 365 sul bus di servizio. Per un contratto endpoint coda, un listener non deve essere in ascolto attivamente. Un listener viene reso in grado di riconoscere Dynamics 365 collegandolo all'assembly Microsoft.Xrm.Sdk in modo da definire il tipo RemoteExecutionContext.Ulteriori informazioni:Scrivere un listener per una soluzione Microsoft Azure

    Per consentire l'inserimento del contesto di esecuzione remoto di Microsoft Dynamics 365 nel bus di servizio, è necessario configurare delle regole della soluzione. Per consentire l'inserimento, ACS deve riconoscere la distribuzione di Dynamics 365 come un emittente supportato.Ulteriori informazioni:Configurare l'integrazione di Azure con Microsoft Dynamics CRM 2015.

Importante

Per sviluppare un listener della soluzione per la piattaforma Microsoft Azure, è necessario installare la versione 1.7 e 1.8 di SDKMicrosoft Azure nel computer di sviluppo.

Scenario di CRM e di un bus di servizio

Verrà ora identificato uno scenario che implementa i componenti di connessione menzionati in precedenza. Come prerequisito, ACS è stato configurato affinché sia in grado di riconoscere Microsoft Dynamics 365 come emittente supportato e la soluzione Bus di servizio di Microsoft Azure è stata configurata con regole che consentono a Microsoft Dynamics 365 di effettuare inserimenti nell'endpoint in cui il listener è in ascolto.

Il diagramma seguente illustra gli elementi fisici che costituiscono lo scenario.

Scenario Microsoft Dynamics CRM e Bus di servizio

La sequenza di eventi come identificata nel diagramma è la seguente:

  1. Un listener è registrato su un endpoint della soluzione Bus di servizio di Microsoft Azure e inizia ad ascoltare attivamente aspettando di rilevare il contesto di esecuzione remoto di Microsoft Dynamics 365 sul bus di servizio.

  2. Un utente esegue un'operazione in Microsoft Dynamics 365 che attiva l'esecuzione del plug-in OOB registrato o di un plug-in personalizzato in grado di riconoscere Azure. Il plug-in avvia, tramite un processo di sistema del servizio asincrono, un inserimento del contesto della richiesta corrente al bus di servizio.

  3. ACS autentica le attestazioni inserite da Microsoft Dynamics 365. Il bus di servizio inoltra quindi il contesto di esecuzione remoto al listener. Il listener elabora le informazioni sul contesto ed esegue un' attività correlata all'azienda con tali informazioni. Al servizio asincrono viene comunicato dal bus di servizio il completamento corretto dell'inserimento e il processo di sistema correlato viene impostato sullo stato completato.

Creare un contratto tra CRM e una soluzione Azure

Per ogni endpoint della soluzione è possibile configurare un contratto che definisca la gestione di tali "messaggi" sul contesto di esecuzione remoto sul bus di servizio e la sicurezza che deve essere utilizzata sull'endpoint in questione. I messaggi del bus di servizio vengono ricevuti su un endpoint utilizzando uno dei contratti supportati elencati di seguito.

  • Coda
    Un contratto della coda fornisce una coda di messaggi nel cloud. Con un contratto della coda un listener non deve essere in ascolto attivamente per rilevare la presenza di messaggi sull'endpoint. Per le code, esiste una lettura distruttiva e una lettura non distruttiva. Una lettura distruttiva prevede la lettura di un messaggio disponibile dalla coda, quindi il messaggio viene rimosso. Una lettura non distruttiva non prevede la rimozione di un messaggio dalla coda.

    Esistono due tipi di code supportate in Microsoft Dynamics 365: una coda del buffer dei messaggi e una coda persistente. Per le code dei buffer dei messaggi, i messaggi nella coda vengono automaticamente eliminati se non vengono letti entro un intervallo di tempo preconfigurato che normalmente è inferiore a 10 minuti. Le code persistenti hanno una durata della disponibilità del messaggio molto più lunga che può essere specificata nel codice.

  • Unidirezionale
    Un contratto unidirezionale richiede un listener attivo. Se non c'è alcun listener attivo in un endpoint, l'inserimento del post di Microsoft Dynamics 365 nel bus di servizio ha esito negativo.Microsoft Dynamics 365 riproverà l'esecuzione in intervalli di tempo esponenzialmente più ampi fino a che il processo di sistema asincrono che sta inviando la richiesta non viene infine interrotto e lo stato viene impostato su "Non riuscito".

  • Bidirezionale
    Un contratto bidirezionale è simile a un contratto unidirezionale con l'eccezione che un valore stringa può essere restituito dal listener a Microsoft Dynamics 365.

  • REST
    Un contratto REST è simile a un contratto bidirezionale su un endpoint REST.

  • Argomento
    È simile a una coda tranne per il fatto che uno o più listener possono sottoscrivere la ricezione dei messaggi di notifica dall'argomento.

Importante

Per utilizzare questi contratti, è necessario scrivere le applicazioni listener tramite Microsoft AzureSDK v1.7 o 1.8.

Le code dei buffer dei messaggi sono state deprecate e non saranno supportate nella versione successiva di Microsoft Dynamics CRM SDK.

L'identificazione del tipo di sicurezza utilizzato da un contratto fa parte della configurazione del contratto. Un contratto può utilizzare la sicurezza del trasporto, la quale utilizza SSL (Secure Sockets Layer) (HTTPS).

L'autenticazione basata sulle attestazioni viene utilizzata per l'accesso sicuro al bus di servizio. L'attestazione utilizzata per l'autenticazione al bus di servizio viene generata in Microsoft Dynamics 365 ed è firmata dal certificato AppFabricIssuer specificato nel database di configurazione di Microsoft Dynamics 365.

Gestire gli errori di runtime

Se si è verificato un errore dopo un tentativo di inserimento nel bus di servizio, controllare lo stato del processo di sistema correlato nell'applicazione Web Microsoft Dynamics 365 per ulteriori informazioni sull'errore. Se il bus di servizio non è attivo o un listener/endpoint non è disponibile, il messaggio corrente in fase di elaborazione o in Microsoft Dynamics 365 non verrà inserito nel bus. Il servizio asincrono continuerà a provare a inserire il messaggio in un modo esponenziale in cui l'inserimento verrà tentato prima frequentemente poi con intervalli sempre più lunghi. Per un errore interno di Microsoft Dynamics 365, gli inserimenti del messaggio non vengono tentati. Per un errore del bus di servizio esterno o di rete, il processo di sistema correlato sarà in uno stato "Attesa".

Vedere anche

Estensioni Azure per Microsoft Dynamics CRM 2015
Configurare l'integrazione di Azure con Microsoft Dynamics CRM 2015
Scrivere plug-in per estendere i processi aziendali
Servizio asincrono in Microsoft Dynamics CRM 2015
Entità AsyncOperation (processo di sistema)

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright