(e alternative a un motore di workflow)
Problema:
Ho vari input con vari attributi.
Ad esempio {name: john, country: US} and {name: Jose, country: MX}
E ho i seguenti flussi di lavoro per l'attività Enter Country
Cittadino statunitense:
Step1 Validate US Passport
Step2 Declare Goods at Customs
Cittadino non statunitense
Step1 Provide Visa
Step2 Validate Country passport
Step3 Declare Goods at Customs
(Bare con me mentre sto cercando di pensare a un esempio coerente)
Caratteristiche, esistono passaggi condivisi tra i flussi di lavoro e in base al risultato (superato o non superato) può attivare un'altra attività (qualcosa come "Rifiutato dal Paese")
Le due opzioni sono:
- Posiziona la logica decisionale su ogni fase stessa, in cui vengono forniti gli input. (pros - nessuna duplicazione, contro - complicato leggere i passaggi usati)
-Posiziona la decisione come primo passo e scegli un flusso di lavoro come passo iniziale (pros - facile da leggere, contro - possibile duplicazione)
In futuro potrebbe esserci la necessità di far fluttuare questa logica agli utenti per creare flussi di lavoro personalizzati.
Qual è l'approccio migliore per questo tipo di problema?