Integrazione di Azure con Microsoft Dynamics 365

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

È possibile collegare Microsoft Dynamics 365 (online e locale) con la piattaforma Microsoft Azure mediante l'accoppiamento della pipeline di esecuzione degli eventi di Dynamics 365 con Bus di servizio di Microsoft Azure. Dopo aver configurato questa connessione, sarà possibile inviare i dati elaborati come parte dell'operazione di Dynamics 365 corrente al bus di servizio. Le soluzioni Bus di servizio di Microsoft Azure che "riconoscono Dynamics 365" possono ascoltare e leggere i dati di Microsoft Dynamics 365 dal bus di servizio.

Questa connessione tra Microsoft Dynamics 365 e la piattaforma Microsoft Azure fornisce un canale sicuro e affidabile 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 Dynamics 365 e Bus di servizio

Creare un contratto tra Dynamics 365 e una soluzione Azure

Gestire gli errori di runtime

Elementi chiave della connessione

Di seguito vengono descritti gli elementi chiave che implementano la connessione tra Microsoft Dynamics 365 e Bus di servizio di Microsoft Azure. Un diagramma nella sezione successiva mostra gli elementi in funzione.

  • Contesto dati
    Il contesto dati contiene i dati aziendali che sono elaborati come parte dell'operazione corrente di Dynamics 365. Questa elaborazione è stato avviata quando è stata fatta una richiesta di una determinata operazione da parte di un utente, un flusso di lavoro o un'applicazione, alla piattaforma di Dynamics 365. Il contesto dati è passato a tutti i plug-in o attività del flusso di lavoro personalizzate registrate con le pipeline di evento da eseguire su specifiche combinazioni di richieste ed entità al momento elaborate. Il contesto dati è di tipo IPluginExecutionContext quando viene passato con la pipeline di esecuzione dell'evento e RemoteExecutionContext quando verrà inserito nel bus di servizio.

    Il contesto dei dati contenuti nel messaggio inviato a Bus di servizio di Microsoft Azure può essere formattato in XML o in JSON oltre al formato binario predefinito .NET. Ciò consente l'interoperabilità su più piattaforme dove i client ospitati su Azure diversi da .NET possono leggere i dati di Dynamics 365 dal bus di servizio.Questa funzionalità è stata introdotta nell'Aggiornamento 1 di CRM Online 2016 e in CRM 2016 Service Pack 1 (locale)..

    Per ulteriori informazioni su sulle tecnologie descritte vedi: Informazioni sul contesto dati passato a un plug-in, Pipeline di esecuzione evento e Scrittura di un'applicazione del listener per una soluzione Microsoft Azure.

  • Plug-in
    I plug-in rappresentano uno dei due metodi utilizzati per iniziare la registrazione del messaggio contenente il contesto dati in Bus di servizio di Microsoft Azure, l'altro metodo è un'attività flusso di lavoro personalizzata. Esistono due tipi di plug-in supportati dalla connessione funzionalità di connessione Dynamics 365-Azure: predefiniti (OOB) e personalizzati. In entrambi i casi, si consiglia di registrare il plug-in a eseguire in modalità asincrona per migliori prestazioni del sistema.

    A un plug-in predefinito che riconosce Azure viene offerto Dynamics 365 e può essere registrato utilizzando lo strumento per la registrazione del plug-in nel download di SDK. Questo plug-in viene eseguito con la piattaforma Microsoft Dynamics 365 con la massima attendibilità. Devi registrare un "passaggio" del plug-in nel caso in cui la pipeline di esecuzione dell'evento che identifica la combinazione di messaggio ed entità che attiva il plug-in esegui la notifica di registrazione. Una volta eseguito, il plug-in notifica il servizio asincrono, tramite un servizio di notifica dell'endpoint di servizio (IServiceEndpointNotificationService), per registrare il contesto corrente di dati nel Bus di servizio di Microsoft Azure.

    È 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. Un plug-in personalizzato può iniziare la registrazione del contesto di dati nel bus di servizio tramite il servizio di notifica dell'endpoint di servizio. L'aggiunta del codice per richiamare questo servizio consente al 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
    Analogamente ai plug-in, le attività personalizzate del flusso di lavoro possono essere scritte per iniziare la registrazione del contesto di dati del messaggio di richiesta corrente nel Bus di servizio di Microsoft Azure utilizzando il servizio di notifica dell'endpoint di servizio (IServiceEndpointNotificationService).Ulteriori informazioni:Esempio: attività flusso di lavoro personalizzata che riconosce Azure.

  • Servizio asincrono
    Quando notificato dal servizio di notifica dell'endpoint di servizio, il servizio asincrono gestisce la registrazione del contesto di dati del messaggio di richiesta al momento elaborato dalla pipeline di esecuzione dell'evento 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 la visualizzazione Processi di sistema dell'applicazione Web Microsoft Dynamics 365.

    Per ulteriori informazioni su sul servizio asincrono, vedi Servizio asincrono in Microsoft Dynamics 365.

  • Bus di servizi di Microsoft Azure
    Il bus di servizio inoltra il contesto dei dati del messaggio di richiesta tra le applicazioni del listener della soluzione Microsoft Dynamics 365 e Bus di servizio di Microsoft Azure. Il bus di servizio fornisce inoltre la sicurezza dei dati in modo che solo le applicazioni autorizzate possano accedere ai dati Dynamics 365 registrati. L'autorizzazione di Microsoft Dynamics 365 per registrare il contesto di dati al bus di servizio e per la lettura da parte delle applicazioni del listener è gestita dalle firme di accesso condiviso di Servizio di controllo di accesso (ACS) di Microsoft Azure Active Directory o Microsoft Azure.

    Nota

    Informazioni sull'autorizzazioni SRS: Questa funzionalità è stata introdotta nell'Aggiornamento 1 di CRM Online 2016 e in CRM 2016 Service Pack 1 (locale). SRS è un modulo più moderno di autorizzazioni e mostra migliori prestazioni quando confrontato son ACS.

    Per ulteriori informazioni su sul bus di servizio, vedi Bus di servizioPer ulteriori informazioni su sull'autorizzazione del bus di servizio vedi Autenticazione e autorizzazione del bus di servizio.

  • Soluzione Microsoft Azure
    Affinché la connessione Dynamics 365-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'applicazione del 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:Scrittura di un'applicazione del listener per una soluzione Microsoft Azure

    Microsoft Dynamics 365 supporta l'invio di dati di evento a una soluzione Hub eventi di Azure.Questa funzionalità è stata introdotta nell'Aggiornamento 1 di CRM Online 2016 e in CRM 2016 Service Pack 1 (locale)..Per ulteriori informazioni su gli hub di evento, vedi Utilizzo dei dati di evento di Dynamics 365 nella soluzione Hub eventi di Azure.

Scenario Dynamics 365 e 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'applicazione del listener è registrata 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 dei dati di richiesta corrente al bus di servizio.

  3. Le attestazioni inserite da Microsoft Dynamics 365 vengono autenticate. 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 Dynamics 365 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.

    Il tipo di coda supportato da Microsoft Dynamics 365 è denominato coda persistente. Le code persistenti hanno una durata della disponibilità del messaggio lunga ma finita 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 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 al plug-in o all'attività del flusso di lavoro personalizzata o che ha avviato il post.

  • 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.

  • Hub eventi
    Questo tipo di contratto si applica alle soluzioni del hub eventi Microsoft Azure.

Importante

Per utilizzare questi contratti, devi scrivere le applicazioni listener tramite Microsoft AzureSDK v1.7 o successiva.

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 Transport Layer Security (TLS) o Secure Sockets Layer (SSL) (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 365
Configurare l'integrazione di Azure con Microsoft Dynamics 365
Scrivere plug-in per estendere i processi aziendali
Servizio asincrono in Microsoft Dynamics 365
Entità AsyncOperation (processo di sistema)

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright