Datasheet
Conversely, a workflow does not have to be a set of ordered tasks. The
event-driven workflow
concept
introduced previously still has discrete steps that occur to advance a process, but these steps take place
based on some action or trigger. For example, a workflow that tracks software bugs may have states to
represent bugs that are active, fixed, and irreproducible (see Figure 1-2). A developer is first assigned a
bug by a tester, at which point the bug is active. After the code has been modified, the bug enters the
fixed state, a tester verifies the fix, and the bug is closed. However, what if the bug was not really fixed
by the developer? Instead of progress the bug to the closed state, the tester sends it back to the active
state. This cycle could happen over and over until the bug is actually eradicated. Of course, this state-
based workflow needs to jump logically from one state to another. It doesn’t make sense for a bug to
start in the closed state and then transition to the fixed state.
Figure 1-2
As previously mentioned, a workflow can define the interaction between people and systems. For example,
an order processing software application might notify a consumer if his or her credit check fails, prompting
him or her to provide an alternative form of payment. In addition, this same order processing workflow
could call a remote inventory web service to make sure the desired item is available for shipment. Both
examples describe a scenario in which the workflow hands off a portion of work to an external entity.
Workflow Implementation
You can implement a workflow in many different ways. The following sections describe a few examples
and how each relates to software systems.
Conceptual Implementation
Throughout history, the most common implementation of workflows probably involved no code or soft-
ware. Imagine all the process flow diagrams developed over the years that represent manual processes.
Just because a process is not automated does not mean it is not a workflow.
[Bug Created]
Active
Fixed
Irreproducible
[Cannot Reproduce Issue]
[Issue Reproduced]
[Conrmed]
[Test Successful]
[Test Unsuccessful]
[Bug Fixed]
8
Chapter 1: An Introduction to Workflow and Windows Workflow Foundation
04_053867 ch01.qxp 2/20/07 2:40 PM Page 8