Sono di parte, sono uno degli autori di ruote .
variante 1) macchina a stati allegata a una risorsa (documento, ordine, fattura, libro, mobile).
variante 2) macchina a stati collegata a una risorsa virtuale denominata task
variante 3) motore del flusso di lavoro che interpreta le definizioni del flusso di lavoro
Ora la tua domanda è contrassegnata come "BPM" e possiamo essere espansa in "Gestione dei processi aziendali". Come si verifica questo tipo di gestione in ciascuna variante?
Nella variante 1, il processo aziendale (o flusso di lavoro) è sparso nell'applicazione. La macchina a stati collegata alla risorsa impone alcuni aspetti del flusso di lavoro, ma solo quelli relativi alla risorsa. Potrebbero esserci altre risorse con la propria macchina a stati che seguono lo stesso processo aziendale.
Nella variante 2, il flusso di lavoro può essere concentrato attorno alla risorsa dell'attività e rappresentato dalla macchina a stati attorno a quella risorsa.
Nella variante 3, il flusso di lavoro viene eseguito interpretando una risorsa chiamata definizione del flusso di lavoro (o definizione del processo aziendale).
Cosa succede quando il processo aziendale cambia? Vale la pena avere un motore del flusso di lavoro in cui i processi aziendali sono risorse gestibili?
La maggior parte delle librerie della macchina a stati ha 1 stato impostato + transizioni. I motori del flusso di lavoro sono, per la maggior parte, interpreti della definizione del flusso di lavoro e consentono di eseguire insieme più flussi di lavoro diversi.
Quale sarà il costo della modifica del flusso di lavoro?
Le varianti non si escludono a vicenda. Ho visto molti esempi in cui un motore di flusso di lavoro cambia lo stato di più risorse, alcune delle quali protette da macchine a stati.
Uso molto anche la variante 3 + 2, per le attività umane: il motore del flusso di lavoro, in alcuni punti durante l'esecuzione di un'istanza di processo, passa un'attività (elemento di lavoro) a un partecipante umano (l'attività della risorsa viene creata e posta nello stato 'pronto') .
Puoi fare molto con la sola variante 2 (la variante del task manager).
Potremmo anche menzionare la variante 0), dove non c'è macchina a stati, nessun motore di flusso di lavoro e i processi aziendali sono sparsi e / o codificati nell'applicazione.
Puoi fare molte domande, ma se non ti prendi il tempo di leggere le risposte e non ti prendi il tempo di provare e sperimentare, non andrai molto lontano e non acquisirai mai alcun talento per quando usarlo questo o quello strumento.