协同工作流提供流程设计器用于流程建模,提供给工作流引擎解释执行,支持各种复杂流程,大致罗列如下:
顺序流程:当前一任务完成之前,本任务不能执行(调度)。
1、并行分支流程:当前一任务完成之后,产生多个并发任务。
2、同步聚合流程:当两个并行任务都完成后下一任务才能开始执行。
3、排它选择流程:在流程中的某个活动中,依据一个结果或者流程控制数据,从多个分支路径中选定一个路径。
4、简单聚合流程:存在多个流程分支汇聚到一个活动,任一个流程到达活动入口时,该活动被触发。该聚合存在异步触发现象,具体活动可能被触发多次。
5、多路选择流程:流程中存在多个分支,由用户选择执行。
6、多路聚合流程:多路合并是指在流程中的某点,两条或更多分支无同步再收敛。如果存在多于一个分支被激活,可能同时被激活的任务执行后,合并时,对于每个流入的激活分支均响应一次。
7、鉴别器流程:多分子汇聚时,只有一个分支可以激活当前任务,任务激活后,其他分支被忽略。
8、M中选N流程:M条并行路径聚合到一个活动,只要其中的N条路径完成,则激活后续任务,所有其他剩余路径被忽略。
9、同步汇聚流程:流程中某点多条路径聚合成一个线程,如果多于一条路径触发,则活动线程按照同步执行处理;如果仅有一条路径触发,则按照异步执行处理。
10、任意循环流程:流程中的一个任务或者多个任务被重复执行。
11、多实例不同步流程(辅助流程):当前任务触发产生了多个流程实例,这些流程实例将独立执行,原流程继续执行,无需等待这些流程实例。
12、任务抢占流程:后续分支只允许被激活,一旦某一个执行,其他分支或者任务将被取消。
13、交叉并行流程:一组任务以任意顺序执行,其中的每个人物被执行,其执行顺序在运行时决定,没有两个任务在同一时间执行。例如:A到(B,C,D)到E。其执行的实例顺序可能是A,B,C,D,E;也可能是A,D,C,B,E;或者是A,C,B,D,E。
14、本地子流程(流程嵌套):支持配置实现主流程转移到子流程,并启动子流程。
15、远程子流程:支持配置实现本地主流程转移到异地工作流引擎服务器上的子流程,并启动子流程。
16、同步(异步)子流程:主流程转移到子流程时,支持子流程的同步或者异步方式启动。同步启动是主流程必需等待子流程结束后再继续进行;异步起动是主流程继续执行,无需等待子流程结束。
本文来源:协同·时光