|
GraphBasedWorkflow
Why graphs are good for describing workflow
<-- Prev: What is Workflow ... Next: Core Concepts --> Graphs and ProcessesGraphs have been used for a long time to visually represent processes. Some examples are:
Graphs are visual, intuitive and ubiquitous. That finite state machines are graphs shows their expressive power. A graph combined with some storage is roughly equivalent to a Turing Machine, capable of executing any computation. AlternativesThere are other ways of representing workflows. For example, one could just list out the actions along with their dependencies. The engine could then properly sequence the actions, For example, the simple Order Fulfillment example could be defined as
While this would work fine for simple processes, it doesn't offer a way to define cycles. If for example, the warehouse people determine that they are out of stock, they may need to send the workflow back to the sales department so they can interact with the customer. This mechanism also lacks a clear means of flow control. For example, a single workflow may cover the order fulfillment process for many different product types. It is likely that some sections of the workflow would only apply to specific products. |
Sign in to add a comment