Un Distributed Execution Manager (DEM) esegue la logica di business di modelli personalizzati, interagendo con il database e, quando necessario, con database e sistemi esterni.

Ciascuna istanza DEM opera nel ruolo di Worker o in quello di Orchestrator. Il ruolo Worker è responsabile dell'esecuzione dei workflow. Il ruolo Orchestrator è responsabile per il monitoraggio delle istanze DEM Worker, la pre-elaborazione dei workflow da eseguire e la pianificazione dei workflow.

Il DEM Orchestrator esegue le attività seguenti.

  • Monitora lo stato dei DEM Worker e garantisce l'esecuzione dei workflow di un'istanza Worker che ha smesso di funzionare o ha perso la connessione con il Model Manager, inserendoli in un coda da cui vengono prelevati da un altro DEM Worker.

  • Gestisce i workflow pianificati creando nuove istanze di workflow nell'istante programmato.

  • Garantisce che in un dato momento sia in esecuzione una sola istanza di un particolare workflow pianificato.

  • Pre-elabora i workflow prima che vengano eseguiti, eseguendo tra le altre cose il controllo delle precondizioni per i workflow, utilizzate nell'implementazione della funzionalità RunOneOnly, e creando la cronologia di esecuzione dei workflow.

Questa attività vengono eseguite da un'istanza di DEM Orchestrator designata come attiva. Dato che il DEM Orchestrator è essenziale per l'esecuzione dei workflow, installare almeno un'istanza di Orchestrator aggiuntiva su una macchina separata per assicurare la ridondanza. Orchestrator viene installato automaticamente nella macchina in cui viene eseguito anche il Servizio di gestione. Il DEM Orchestrator aggiuntivo monitora lo stato dell'istanza Orchestrator attiva, in modo da poterne prendere il posto nel caso in cui questa vada offline.