Condividi tramite


Architettura di elaborazione del flusso di lavoro

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

Il sistema di gestione dei processi in Microsoft Dynamics 365 include Microsoft Dynamics CRM SDK, plug-in, moduli e altri componenti.

In questo argomento

Diagramma di architettura dei processi

Il processo e il modello di eventi unificato

Ciclo di vita del processo

Il processo e il servizio asincrono: solo per i flussi di lavoro

Persistenza e chiusura del processo: solo per i flussi di lavoro

Diagramma di architettura dei processi

Il diagramma seguente illustra l'architettura di sistema a livello elevato per Microsoft Dynamics 365 e vengono evidenziate le parti del sistema specifiche sui processi.

Architettura di elaborazione

Questo diagramma illustra l'architettura di Microsoft Dynamics 365 inclusi i componenti interni, i componenti esterni, l'infrastruttura e i dati.

Componenti interni. I componenti interni che supportino il modello di programmazione di processo Microsoft Dynamics 365 includono servizi Web, piattaforma condivisa e regole business. La piattaforma condivisa consiste nei componenti comuni Microsoft Dynamics 365 che forniscono registrazione, cache dei metadati e servizi di accesso ai dati. Le regole business contengono l'implementazione di regole business per entità aziendali Microsoft Dynamics 365.

Componenti esterni. I componenti esterni sono i seguenti:

  • Modello a oggetti Windows Workflow Foundation che contiene un set di classi utilizzate per creare e analizzare definizioni di processo del flusso di lavoro nel formato XAML.

  • Esecuzione Windows Workflow Foundation che contiene un set di classi utilizzate per eseguire processi del flusso di lavoro.

Infrastruttura di processi. L'infrastruttura di processi Microsoft Dynamics 365 è costituita dai componenti seguenti:

  • Modello di entità del processo, che contiene un set di classi che utilizzano il modello a oggetti Microsoft Dynamics 365 ed espongono le attività del flusso di lavoro Windows Workflow Foundation.

  • Regole business del processo che implementano regole business per le entità specifiche del processo.

  • Esecuzione del processo che fornisce servizi di esecuzione del flusso di lavoro, come l'hosting del flusso di lavoro e la persistenza.

Dati dei processi. Il modello di programmazione del processo Microsoft Dynamics 365 viene supportato dai seguenti dati:

  • Dati aziendali che contengono informazioni associate alle entità Microsoft Dynamics 365.

  • Dati di configurazione del processo che includono le definizioni dei processi del flusso di lavoro, i processi del flusso di lavoro compilati e le impostazioni di processo del flusso di lavoro.

  • Dati di runtime dei processi, necessarie per l'esecuzione dei processi del flusso di lavoro e per l'implementazione delle funzionalità di processo del flusso di lavoro, ad esempio la persistenza e le notifiche.

Il processo e il modello di eventi unificato

Microsoft Dynamics 365 utilizza un modello di eventi unificato utilizzato nei plug-in (chiamate) e nei processi. Il sottosistema di elaborazione eventi aggiunge una maggiore flessibilità all'esecuzione dei processi e dei plug-in introducendo il modello di esecuzione della pipeline.

Utilizzando questo modello, i processi e i plug-in vengono eseguiti in base alla registrazione, al tipo di messaggi e a un set predefinito di parametri configurabili. Le operazioni della piattaforma principali partecipano alla sequenza di esecuzione per creare un modello di esecuzione molto più affidabile ed estendibile.

Ciclo di vita del processo

Il ciclo di vita di un processo descrive le transizioni di stato dalla creazione all'esecuzione. Un processo può essere in uno dei seguenti stati: pronto, sospeso, bloccato e completato. Gli eventi che si verificano durante la durata del processo causano una transizione da uno stato a un altro.

Flussi di lavoro

Il ciclo di vita del flusso di lavoro è come segue:

  1. Quando si crea un flusso di lavoro, si trova nello stato Bozza. È necessario attivare il flusso di lavoro prima di poterlo eseguire. Quando si attiva un flusso di lavoro, viene sottoscritto a eventi specifici Microsoft Dynamics 365. Quando questi eventi vengono attivati nella piattaforma, uno snapshot delle dipendenze del flusso di lavoro e i parametri di input vengono creati e una nuova operazione asincrona viene aggiunta alla gestione di coda dei servizi asincroni. L'operazione asincrona indica un processo di esecuzione del flusso di lavoro e attende l'esecuzione nella coda nello stato Pronto.

  2. Quando l'operazione asincrona viene elaborata, un'istanza del flusso di lavoro, associata a questa operazione, viene creata dal motore di runtime di Windows Workflow Foundation e lo stato viene modificato da Pronto a Bloccato.

  3. L'operazione asincrona viene aggiornata con stato dell'istanza del flusso di lavoro su ogni transizione. Quando l'operazione asincrona viene bloccata, il motore di runtime di Windows Workflow Foundation inserisce l'istanza del flusso di lavoro in stato Sospeso e la rimuove dalla memoria. Quando le condizioni di stato Sospeso sono soddisfatte, l'istanza del flusso di lavoro viene caricata nuovamente nella memoria.

  4. L'esecuzione del flusso di lavoro viene ripresa inserendo l'istanza del flusso di lavoro nello stato Pronto e quindi Bloccato. Nello scenario semplice, l'istanza del flusso di lavoro si sposta sullo stato Completato quando tutte le attività del flusso di lavoro sono state completate correttamente.

    Lo stato delle operazioni asincrone può anche essere modificato dall'utente. Ad esempio, un'operazione asincrona che si trova in uno stato Sospeso può essere riavviata in modo esplicito dall'utente.

Interazioni

Il ciclo di vita di un dialogo è come segue:

  1. Quando si crea un dialogo, si trova nello stato Bozza. È necessario attivare il dialogo prima di poterlo eseguire. Un dialogo può essere eseguito dal modulo e dalla griglia dell'entità primaria oppure direttamente utilizzando l'URL del dialogo. Per ulteriori informazioni, vedere Avviare un'interazione tramite un URL.

  2. Per ogni esecuzione di un dialogo, viene creata un'istanza di sessione del processo per il dialogo. Mentre avanza l'esecuzione del dialogo, l'entità di sessione del processo viene aggiornata con le azioni eseguite durante l'esecuzione del dialogo.

  3. Se è stata completata correttamente l'esecuzione del dialogo, il record di sessione del processo corrispondente viene creato con stato Completato. Se è stato annullato il dialogo senza completarlo, il record di sessione del processo corrispondente viene creato con stato Non completato.

Il processo e il servizio asincrono: solo per i flussi di lavoro

Il servizio asincrono consente di eseguire, monitorare e gestire diverse operazioni ad esecuzione lunga, ad esempio l'importazione in blocco, la posta elettronica inviata in blocco e i processi del flusso di lavoro. Per migliorare le prestazioni, la scalabilità e l'affidabilità di Microsoft Dynamics 365, queste operazioni vengono eseguite in modo asincrono. Pertanto un'operazione richiesta non viene elaborata immediatamente, ma aggiunta a una coda ed elaborata da Microsoft Dynamics 365 nel momento appropriato.

Quando un evento viene generato nella pipeline della piattaforma Microsoft Dynamics 365, tutti i flussi di lavoro associati all'evento vengono eseguiti dal servizio asincrono. I gestori eventi del flusso di lavoro vengono aggiunti alla coda asincrona e vengono elaborati in base all'ordine di esecuzione eventi.

Persistenza e chiusura del processo: solo per i flussi di lavoro

Un flusso di lavoro può essere un'operazione business ad esecuzione lunga che potrebbe richiedere ore, settimane o mesi per essere completata. Può rimanere inattiva per lunghi periodi di tempo in attesa dell'input da parte degli utenti o da altri sistemi.

Per migliorare le prestazioni, la scalabilità e l'affidabilità di Microsoft Dynamics 365, le operazioni ad esecuzione lunga, come i flussi di lavoro, utilizzano il servizio asincrono.

Il servizio asincrono, quale host del motore di runtime di Windows Workflow Foundation, non può sempre memorizzare nella cache e mantenere attivi tutti gli oggetti che si accumulano durante l'attività del flusso di lavoro continuata. Quando certe condizioni, ad esempio il riavvio o la chiusura si verificano quando un flusso di lavoro è in esecuzione, il motore di runtime del flusso di lavoro utilizza un servizio di persistenza per salvare lo stato dell'istanza del flusso di lavoro sul disco. Il servizio di persistenza viene richiamato quando si verificano altre condizioni, ad esempio quando un flusso di lavoro diventa inattivo e rimane in attesa che si verifichi qualche evento esterno. Persistere queste istanze di flusso di lavoro inattive salva la memoria e aumenta notevolmente la scalabilità. Se il server che esegue il servizio asincrono è chiuso o se il flusso di lavoro subisce un arresto anomalo durante l'esecuzione, il flusso di lavoro può essere riavviato dal relativo ultimo passaggio persistente dopo che è stato riavviato il server. Se il flusso di lavoro non è più inattivo, lo stato dell'istanza di flusso di lavoro viene ripristinata nella memoria allo stato dell'ultimo passaggio persistente.

Ulteriori informazioni:Persistenza del flusso di lavoro.

Vedere anche

Servizio asincrono in Microsoft Dynamics CRM 2015
Pipeline di esecuzione evento
Introduzione al framework degli eventi
Scrivere i flussi di lavoro per automatizzare i processi aziendali.

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright