Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Article: Implementing Manual Activities in Windows Workflow

Article: Implementing Manual Activities in Windows Workflow

In a new InfoQ article, SOA editor Boris Lublinsky explains how to handle human activities in a workflow managed by Windows workflow foundation (WF).

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.

Rate this Article