这是在Windowsworkflow.net的论坛上面看的一个帖子如下:
First, I agree that human workflows are good for the state machine. First they are easy to understand because there are single state. So “Awaiting Approval”, and
”Completed PO” are easy to understand. However using this approach the workflow can only be in one state at anytime.
In human workflow a big advantage is to allow a task of items to be handled by more than one resource. So in underwriting you might have one person pulling a credit report, and another checking some other information. A lot of times you would want to people doing each task separately so they can both be working on the same tasks across processes. A pure state machine cannot handle this since the state machine only allow for one state at a time.
What I would like to propose and get opinion on is having a mixed state machine for the high level task (easy for people to understand) and sequential workflow within those states. This will allow for a lot of the parallel processing that might need to happen across resources and processes.
With this, can Windows WorkFlow start sequential workflow from a state change?
It seems like the combination of these two workflows is the right way to manage human based workflows. This allows for future system integration and the separation of workloads across both system and resources.
这里面提到三个概念,Human Workflow、State Machine、Sequential Workflow
对这个三个概念我的理解是:
Human Workflow 指的是我们根据客户的流程而定义的一种方式,以人为核心,就是所有流程都是围绕着人。
例如:java中的osworkflow
State Machine 是依据状态和状态之间的跳转来定义流程
Sequential Workflow 字面意思是顺序工作流,是指根据一定的条件约束自动运行,(该模式好像不能和人交互操作吧?)
不知道我的理解是否有误,帮忙纠正!
最近在看Windows WorkFlow Foundation,在其中只有State Machine、Sequential Workflow两种方式。