工作流引擎设计的一些思考

1.1    流程的元素

事件、(活动)节点、网关、转移线

事件分开始事件与结束事件。

活动是完成操作的节点,分人工节点和自动节点,节点只能一进一出。活动按实例多少分单/多实例(并发)节点;按是否是子流程分为子流程节点,非子流程节点。

网关分为异或网关、与网关及或网关。

转移线分为条件、普通、默认转移线。条件转移线上可设置表达式进行求真运算,跟异或网关一起构造“多选一”转移。

1.2    流程的路径

流程在没有分叉时,只有一条路径。路径可分叉与汇聚,形成主-从路径关系。分叉属于分叉前的路径,汇聚属于汇聚的后径。

1.3    流程分叉与汇聚规则

分叉与汇聚都由专门的网关处理,即活动不支持分叉与汇聚。分叉、汇聚都使用与网关及或网关,根据输入、输出特点很容易区分是分叉还是汇聚。

网关对称原则:有几个分叉就有几个汇聚相对应,这样能确保分叉-汇聚在同一路径上。

由于有网关、路径识别及网关对称性,很容易计算分叉与汇聚关系。

猜你喜欢

转载自dawnlong2000.iteye.com/blog/1429358
今日推荐