Since there's no complete BPM framework/solution in ColdFusion as of yet, how would you model a workflow into a ColdFusion app that can be easily extensible and maintainable?
A business workflow is more then a flowchart that maps nicely into a programming language. For example:
How do you model a task X that follows by multiple tasks Y0,Y1,Y2 that happen in parallel, where Y0 is a human process (need to wait for inputs) and Y1 is a web service that might go wrong and might need auto retry, and Y2 is an automated process; follows by a task Z that only should be carried out when all Y's are completed?
My thoughts...
- Seems like I need to do a whole lot of storing / managing / keeping
track of states, and frequent checking with
cfscheuler
. cfthread
ain't going to help much since some tasks can take days (e.g. wait for user's confirmation).- I can already image the flow is going to be spread around in multiple UDFs, DB, and CFCs
- any opensource workflow engine in other language that maybe we can port over to CF?
Thank you for your brain power. :)