工作流系统之三十 流程的静态分支与动态分支
来源:互联网 发布:淘宝下单与发货时间 编辑:程序博客网 时间:2024/06/10 19:20
业务流程的流转过程中,经常会有需要并发处理的过程,即流程流转到下一步,同时产生多个当前需要处理的过程,这些过程不分先后处理顺序,只要都处理完成了,最后汇聚到一起,再接着主流程运行,就可以了。例如:一份报销单,填写完成后,同时启动财务部门审核和本部门的审核,这两部分的审核不分先后顺序,只要都完成后,再将结果返回给报销单填写人,继续下面的流转。这种的并行处理的过程,就需要流程引擎支持分支和聚合。
分支又分为 静态的分支 和动态的分支。
静态的分支,即在业务流程建模之初,就能确定好有多少个分支,每个分支的具体流转,具体处理过程。
动态的分支,即在业务流程建模的时候,只能确定好一条分支的模版处理过程,在流程实例运行时,每流程实例根据自己的情况确定本次能产生多少个分支,然后依据分支模版的处理过程,复制出n个并发的分支线路,每分支线路的运行轨迹根据动态分支参数的设置而不尽相同。
聚合也分为 静态聚合 和 动态聚合
静态聚合,和静态分支匹配,当有静态的分支并发流转发生后,需要用静态聚合来汇聚并发的线路。
动态聚合,和动态分支匹配,当有动态的分支并发流转发生后,需要用动态聚合来汇聚并发的线路。
静态分支模式:
动态分支模式:
静态分支里面可以嵌套 静态分支:
动态分支里面也可以嵌套 动态分支:
静态分支里面可以嵌套 动态分支 (暂未做示例)
动态分支里面也可以嵌套 静态分支:
注意:静态分支,必须用静态聚合来汇聚, 动态分支必须用动态聚合来汇聚。
为了 方便 设置汇聚条件,分支嵌套的时候,避免 内层聚合--到--外层聚合 的 这种流程建模方式,如果业务流程中,确实是内层聚合--到--外层聚合 的流转,那就增加一个 自动步骤的 节点。即 内层聚合--自动步骤--外层聚合。此自动步骤,带有自动执行的方法,当流程流转到这里时,会自动完成此步骤。
静态分支后产生的并发流程,在流程建模时候,和普通的流程节点一样设计。
动态分支后产生的并发流程,有些参数需要在流程实例运行时设置,如动态分支的个数,每分支的步骤执行人等等。
动态分支节点,在流程建模时,先定义好需要那些参数,在分支模版节点中,引入这些参数。流程实例运行时,各流程实例根据实际情况给参数赋值,分支节点中遇到参数表达式,解释并得到参数值,参与到流程的流转中。
参见 web工作流管理系统开发之二十 动态创建流程多分支节点
http://www.cnblogs.com/webreport/archive/2010/05/30/1747537.html
- 工作流系统之三十 流程的静态分支与动态分支
- 工作流管理系统开发之二十 动态创建流程多分支节点
- 分支流程的设置
- git创建分支,提交分支,删除分支的开发流程
- Git用法之分支管理和分支开发工作流
- jbpm工作流引擎之分支结构
- 工作流产品 BizFlow 的分支实现
- 如何实现工作流控件BizFlow 的分支
- Git工作流 - 分支的策略
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- Git 分支 - 分支的新建与合并
- UVA 1481 Genome Evolution(高效算法优化)
- 小白日记31:kali渗透测试之Web渗透-扫描工具-Arachni
- Python - 静态页面抓取(抓取‘糗事百科’段子)
- 第八周项目1 -建立顺序串的算法库
- [刷题]算法竞赛入门经典(第2版) 5-14/UVa1598 - Exchange
- 工作流系统之三十 流程的静态分支与动态分支
- 一些重要网站链接
- 观察到一种光盘加密的方法
- 工作流系统之三十一 回退流的实现
- android中的通信机制总结
- Thinking in Java 里关于class的理解
- HDU-2845-Beans(简单DP)
- 工作流系统之三十二 设计模式在工作流系统开发中的运用
- 浙大数据结构基础 week3 4-2