views:

67

answers:

1

I want to be able to interrupt a running workflow instance, say when a new activity is about to be invoked, and extract information both about the structure of the workflow and the data in the particular instance. Then I will consult with an external system and according to its response I will possibly alter the behaviour of the workflow. The options I would like to have are addition/removal of activities and altering parameters for the activities to be invoked.

I am currently struggling with the engine it's best to go with. I have looked at WWF, Apache ODE, Oracle Workflow and Active BPEL and as far as I understand they can all provide me with the options I need. I would really appreciate any recommendations on which one will be the easiest to work with for my purpose and any restrictions either of the above might have that would prevent me from reaching my goal.

Thanks

A: 

I am sorry not to directly answer your question, but you may be interested in a state machine framework called Stateless created by Nicholas Blumhardt (AutoFac). I have used this instead of Windows Workflow where I needed to quickly configure my steps for a work flow. I have one configuration file that I alter and can introduce new steps into the workflow quite easily. See my SO answer here for more details.

Essentially you define a state as State<T> and this allows you to persist your state in a database easily.

David Robbins
Thank you for your answer, David. I will definitely consider using what you suggest. So far, I have decided to use WWF and this might be an useful option for me. Just to confirm - Stateless can be used to reconfigure only the instances of the workflow and not the workflow itself?
Raya
Yes, you simply alter the states and triggers of the state machine.
David Robbins