While Windows workflow is an excellent framework for implementing business processes, it lacks direct support for human activities. Several approaches to solving this problem exist, but they are not generic enough for general usage. Boris shows a completely generic implementation of human activities in WF, using a work queue manager as a decoupling layer between workflow engine and human activity execution:
This is a centralized service keeping track of all tasks for all of the users of the system. Any workflow (or a service/application containing workflow), which requires a human activity, invokes a custom workflow activity, which submits the request to the work queue manager persisting them and allowing other components of the system to work with these requests. By doing this a work queue manager is becoming a decoupling layer between workflow engine and human activity execution, thus providing support for the cases where user is not present in the system during workflow execution. Also by being a centralized service a work queue manager allows to combine all of the tasks for a given user, regardless of the process that they have initiated from. Because different user tasks can require different input information and can produce different outputs, communications between workflow and human activity is XML in and XML out, which allows processing any possible request and response generically.Boris elaborates on the internals of the whole system, highlighting important design decisions and the rationale behind them. Check out the full article for more information.
Community comments
Great article!
by Julien Jacobs,
Source Code
by Tobias Hertkorn,
Superb!
by Haris Sheik,
It's the Humans Stupid!
by John Reynolds,
Very Helpful!
by Derrick Bell,
Excellent Article
by Gustavo Marotta,
Great article
by Shirvan Noormohammadifar,
Would like to now more..
by Sharad Patel,
Great article!
by ttotpt ttotpt,
Great article!
by Julien Jacobs,
Your message is awaiting moderation. Thank you for participating in the discussion.
Thank you for this great "real-life" article!
We are working on a project involving workflows and lots of human activities, and this article re-enforces what we started to put in place.
Is there any plan for publishing the source code?
Source Code
by Tobias Hertkorn,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hi,
thank you for this excellent article. I really enjoyed it.
Like julien I would be very interested in the source code as well. Could we have some feedback if a release of the source is possible or if we have to implement it ourself.
Tobi
Superb!
by Haris Sheik,
Your message is awaiting moderation. Thank you for participating in the discussion.
I really enjoyed this article. Like other two commenters I would like to see the code.
It's the Humans Stupid!
by John Reynolds,
Your message is awaiting moderation. Thank you for participating in the discussion.
Great article... But isn't it strange that Human Powered Services were an afterthought?
Very Helpful!
by Derrick Bell,
Your message is awaiting moderation. Thank you for participating in the discussion.
Thank you for this article. We have project underway that has a lot of human interaction. Of course looking at source code would be nice.
Excellent Article
by Gustavo Marotta,
Your message is awaiting moderation. Thank you for participating in the discussion.
Really it's a excellent article. It solve my questions about human activities in an workflow. If is possible, I like to see the code too.
Great article
by Shirvan Noormohammadifar,
Your message is awaiting moderation. Thank you for participating in the discussion.
It helps me so much in working with human activities.
It will be helpful to see the source code for this if possible.
Tanx
Would like to now more..
by Sharad Patel,
Your message is awaiting moderation. Thank you for participating in the discussion.
about this if it is going to be a commercial/open source product. If there is source code available I would like to know from where. Also, I would like to know how far this architecture would lend itself to being used by 'business' users - e.g. the workflow designer is hosted in a custom tool that works on a code-free model.
Many thanks,
Sharad
Great article!
by ttotpt ttotpt,
Your message is awaiting moderation. Thank you for participating in the discussion.
Is there any plan for publishing the source code?
Thanks.