做最好用的工作流引擎,奉献社会.http://ccflow.org

驰骋.net工作流程引擎设计开发讲座: 工作流程类型模式

驰骋.net工作流程引擎设计开发讲座:工作流程类型模式

我们总结一下流程类型的模式,那有助与我们在开发流程引擎,或者在设计与分析流程是以便可以对号入座,说明:本文尽量用通俗的语言来描述。

第一种类型:平面流程,也可以称呼它为单线程流程,这种类型的流程在我们工作中非常多,比如:请假流程、报销流程、借款流程、出库流程。它的特点是:整个流程中只有一个流程ID.不允许两个在在同一个时间点处理一件工作,工作是一个步骤接着一个步骤。它的转向是根据一定的条件来完成的。

第二种类型:分发式流程,也可以叫它为分发式多线程流程。这类的流程开始节点必须是分流节点。结束节点可以是合流节点,也可以是普通节点。比如:周例会流程,销售周总结汇报流程。以“销售部周总结汇报流程”为例来说明,第一部系统定期在周1启动起来流程,把工作(或者说填写销售表)发送给各个销售人员。各个销售人员接受到任务后,发送给销售部经理汇总处理。这类的流程叫分发式多线程流程。

第三种类型:汇流式流程,也可以称为汇总式多线程流程。这类流程的特点是发起流程的人员是不确定的,但是处理这个事务是成批的。用现实的生活举例:小区门口的邮政信箱,邮寄信件的人是不固定的,我们把每个客户看作一个工作线程,邮递员可以根据需要在规定的时间去收取一次。如果没有一个信件要邮寄,他就不收取为空,也就是不进行下一步。这种类型的结束点,也是不确定的可以是汇总的合流点接受,也可以普通点结束。但是开始点必须是普通的节点。

第四种类型:唤醒流程,也称为父子流程,一个平面流程在特定的节点上需要唤醒其它的流程。比如:工程管理流程,一般来说有如下几个环节。 签订合同-》实施工程=》验收工程。

在实施工程这个点上,可以延伸很多的子流程比如:催款流程,派工流程,设计流程。等等。项目经理可以根据需要在任何时间唤醒子流程。工程管理流程叫主流程,催款流程,派工流程。。。则是子流程。这种流程与第二三种模式不同那种,可以称呼为线程,这种也可以叫父子流程。

唤醒的子流程与手工发起的流程的区别是它有一个流程ID。由流程ID.来确定这种流程

综上所述:大千世界,各种流程都可以被提炼,归纳,分类,抽象出来这四种模式。你可以把你分析与设计的流程对号入座,驰骋业务流程引擎已经把完全实现这四种工作模式,并且0代码实现。

如果你是一个工作流程引擎设计人员,分析这四种模式是必须的。


类别:默认分类 查看评论
posted on 2011-02-12 19:19  驰骋工作流  阅读(251)  评论(0编辑  收藏  举报

做最好用的工作流引擎,奉献社会.http://ccflow.org