• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
bobmazelin
博客园    首页    新随笔    联系   管理    订阅  订阅

【工作流】工作流结构模式整理

工作流结构模式整理

  注:1、表格中模式名和描述都是我自己根据理解写的,并没有完全翻译这些模式的完整描述;

        2、有关流程模式的完整描述请参考http://www.workflowpatterns.com/;

        3、PE实现一栏是只在ProcessEngineer这个系统中有关结构模式的实现情况,PE设计器的详细文档将会在下月公布;

        4、这些都是小弟的一己愚见,如有不正之处还请大虾们多多指点,这也是我把这个放在blog上的主要目的。

模式E名

模式名

描述

PE实现

1. Sequence

顺序流

当一个活动完成时,后一个活动才可执行

BPMN实现

2. Parallel Split

并行分支

多个活动分支同时执行

BPMN实现

3. Synchronization

并行同步

多个分支合并,多个分支活动都完成时,才继续执行下一个活动

BPMN实现

4. Exclusive Choice

多选一分支

多个活动分支中选择其一执行

BPMN实现

5. Simple Merge

多选一合并

多个分支合并,其中任意一个活动完成,就继续执行下一个活动。

BPMN实现

 

 

 

 

6. Multi-Choice

多选多分支

多个活动分支中选择任意多个分支执行

BPMN实现

7. Structured Synchronizing Merge

结构性同步合并

多个分支合并,不论其中多少分支活动正在执行,都等待这些分支活动完成后,才继续执行。

ORGateway中设置IsStructured属性实现

8. Multi-Merge

多分支合并

多个分支合并,等待多个分支活动中任意多个活动完成后,继续执行下一个活动

BPMN实现

9. Structured Discriminator

结构性鉴别器

多个分支合并,当其中一个活动完成,立即执行下一个活动;但其他分支活动执行完成后,不执行下一个活动

Gateway中设置Discriminator属性实现(合并ParallelGateway不支持该模式)

28. Blocking Discriminator

阻塞性辨别器

 

暂不支持

29. Cancelling Discriminator

取消性辨别器

多个分支合并,当其中一个活动完成,立即执行下一个活动;但其他分支活动被取消执行

Gateway中设置Discriminator属性实现(合并ParallelGateway不支持该模式)

30. Structured Partial Join

结构性部分合并

多个分支合并,等待多个分支活动中任意多个活动完成后,继续执行下一个活动;但其他分支执行完成后,不执行一下个活动

Gateway中设置Discriminator属性实现(合并ParallelGateway不支持该模式)

31. Blocking Partial Join

阻塞性部分合并

 

暂不支持

32. Cancelling Partial Join

取消性部分合并

多个分支合并,等待多个分支活动中任意多个活动完成后,继续执行下一个活动;但其他分支活动被取消执行

Gateway中设置Discriminator属性实现(合并ParallelGateway不支持该模式)

33. Generalised AND-Join

通用性并行同步

多个分支合并,多个分支活动都完成时,才继续执行下一个活动;同时多个实例同时到达,需按到达次序执行。

暂不支持

37. Local Synchronizing Merge

本地同步合并

多个分支合并,有多少分支完成时,才继续执行下一个活动是由本地数据来动态决定的。

ORGateway中设置规则实现

38. General Synchronizing Merge

一般性同步合并

 

暂不支持

41. Thread Merge

线程合并

活动需要等待多个流程实例完成该活动后,再继续执行下一个活动

Task中设置IsThreadMerge和ThreadCount属性实现

42. Thread Split

线程分支

每次执行活动时,会产生多个分支执行下一个活动

Task中设置IsThreadSplit和ThreadCount属性实现

 

 

 

 

12. Multiple Instances without Synchronization

非同步性多实例

每次执行活动时,会产生多个该活动的实例;它们并行、独立、互不相关地执行,不需同步,而且该活动后的活动不会重复执行

暂不支持

13. Multiple Instances with a Priori Design-Time Knowledge

设计时确定多实例

执行活动的次数由流程设计期间确定,这些实例需要同步后才继续执行

Activity的Loop功能实现

14. Multiple Instances with a Priori Run-Time Knowledge

运行前期确定多实例

执行活动的次数由活动运行前确定,这些实例需要同步后才继续执行

Activity的Loop功能实现

15. Multiple Instances without a Priori Run-Time Knowledge

非运行前期确定多实例

执行活动的次数由活动运行时确定,这些实例需要同步后才继续执行

Activity的Loop功能实现

34. Static Partial Join for Multiple Instances

静态部分合并多实例

执行活动的次数确定后,其中部分活动实例完成后,立即执行下一个活动,其他实例可以执行,但不继续执行下一个活动

Activity的Loop功能实现

35. Cancelling Partial Join for Multiple Instances

取消部分合并多实例

执行活动的次数确定后,其中部分活动实例完成后,立即执行下一个活动,其他实例被取消执行

Activity的Loop功能实现

36. Dynamic Partial Join for Multiple Instances

动态部分合并多实例

执行活动的次数确定后,运行期决定其中多少活动实例完成后,立即执行下一个活动;而其他实例可以执行,但不继续执行下一个活动

暂不支持

 

 

 

 

16. Deferred Choice

推迟选择

多个分支的选择,由其中哪个分支的活动先开始执行,即选择哪个分支执行。

BPMN实现(Event base XOR)

17. Interleaved Parallel Routing

依次并发

多个活动分支依次执行,一个分支中的活动完成后,执行下一个

暂不支持

18. Milestone

里程碑

只有当某个活动执行时,该活动(或分支)才能被执行;否则该活动(或分支)是不可见的

暂不支持(可以通过组合Gateway间接模拟)

39. Critical Section

互斥组

两个组的活动不能同时执行

暂不支持

40. Interleaved Routing

依次循环

多个活动分支依次执行,一个分支中的活动完成后,执行下一个;但执行顺序随机

暂不支持

 

 

 

 

19. Cancel Task

取消活动

只有当执行某个活动时,才能人为取消该活动所在流程实例的执行

暂不支持

20. Cancel Case

取消实例

人为在任何时间取消流程实例执行

通过流程管理模块实现

25. Cancel Region

取消区域

只有当执行某区域的活动时,才能人为取消该活动所在流程实例的执行

暂不支持

26. Cancel Multiple Instance Activity

取消多实例活动

当多实例活动执行时,才能人为取消流程实例的执行

暂不支持

27. Complete Multiple Instance Activity

完成多实例活动

执行多实例活动时,可以人为立即完成该多实例活动的执行,继续执行下一个活动

暂不支持

 

 

 

 

10. Arbitrary Cycles

主观的循环

通过Gateway来人工设计循环

BPMN实现

21. Structured Loop

结构性循环

 

暂不支持(通过循环子流程间接实现)

22. Recursion

递归

执行活动后,会重新从头开始流程实例执行,直到该活动的条件被满足

暂不支持

 

 

 

 

11. Implicit Termination

隐含结束

流程的结束不被明确表达

暂不支持

43. Explicit Termination

显示结束

流程的结束被明确表达

BPMN实现

 

 

 

 

23. Transient Trigger

瞬间触发

活动正在执行时,由其他流程或外部系统触发

BPMN实现(事件机制)

24. Persistent Trigger

永久性触发

不论活动是否正在执行,由其他流程或外部系统的触发效果都会被保留,等待活动被执行

暂不支持

posted @ 2008-10-31 10:13  bobmazelin  阅读(2752)  评论(7)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3