Sono responsabile di un team di sviluppatori che stanno per iniziare lo sviluppo di un sistema di reclami assicurativi leggero. Il sistema prevede molte attività manuali e flussi di lavoro aziendali e stiamo cercando di utilizzare il flusso di lavoro di Windows (.NET 4.0).
Un esempio del dominio aziendale è il seguente: un assicurato chiama il contact center per presentare un reclamo. Questo "evento" attiva due attività secondarie che vengono eseguite manualmente in parallelo e possono richiedere molto tempo per essere completate;
- Controlla il cliente per frode - Un processo manuale in base al quale un operatore chiama varie società di credito per verificare e valutare il potenziale di un cliente fraudolento. Da qui l'attività secondaria può inserire una serie di stati secondari (Controllo in corso, Controllo riferimenti non riusciti, Controllo riferimenti superato, ecc.)
- Invia articolo al centro riparazioni - Un processo manuale in cui l'articolo per il quale l'assicurato ha presentato il reclamo viene inviato al centro riparazioni per essere riparato. Da qui l'attività secondaria può immettere una serie di stati secondari (In attesa di riparazione, In corso, Riparato, Registrato, ecc.). La richiesta può procedere solo una volta che lo stato di ciascuna attività secondaria ha raggiunto uno stato predefinito (in base alle regole aziendali).
In superficie sembra che Workflow sia davvero la migliore scelta tecnologica; tuttavia ho alcune preoccupazioni nell'utilizzo di WF 4.0.
- Set di abilità - Guardando il set di abilità medio degli sviluppatori non vedo molti sviluppatori che capiscono o conoscono il flusso di lavoro.
- Manutenibilità - Sembra esserci scarso supporto all'interno della comunità per i progetti WF 4.0 e questo, unito alla mancanza di competenze, solleva preoccupazioni sulla manutenibilità.
- Barriera all'ingresso - Ho la sensazione che Windows Workflow abbia una curva di apprendimento ripida e non è sempre così facile da apprendere.
- Nuovo prodotto - Poiché il flusso di lavoro è stato completamente riscritto per .NET 4.0, vedo il prodotto come un prodotto di prima generazione e potrebbe non avere la stabilità necessaria.
- Reputazione - Le versioni precedenti di Workflow non sono state ben accolte, sono state considerate difficili da sviluppare e hanno comportato una scarsa accettazione del business.
Quindi la mia domanda è dovremmo usare Windows Workflow (WF) 4.0 per questa situazione o esiste una tecnologia alternativa (ad esempio, Simple State Machine , ecc.) O anche un motore di flusso di lavoro migliore da utilizzare?