`

工作流20种基本模式的理解

阅读更多

Aalst提出了工作流有20种基本模式。

如果不知道的可参考附件《Workflow Patterns-2002.pdf》

 

(当然了,后人陆续扩展、变化,模式数量不断变化,但万变不离其宗,可从这些基本模式看起)

 

下面是我的初步分析:

模式名称

模式关键字

模式说明

Basic Control Patterns

Sequence

Sequence

1

Parallel Split

AND Split

2

Synchronization

AND Join

3

Exclusive Choice

XOR Split

4

Simple Merge

XOR Join

5

ADVANCED BRANCHING AND SYNCHRONIZATION PATTERNS

Multiple Choice

OR Split

6

Synchronizing Merge

AND Join

7

Multi-merge

OR Join(+Multi)

8

Discriminator

OR Join(+Reset/Ignore)

9

N-out-of-M-join

OR Join(+Multi M)

9aN分支,M聚合即可

STRUCTURAL PATTERNS 

Arbitrary Cycles[自由循环]

XOR Split

10

Implicit Termination

Multi(OR/AND) Split End

11

PATTERNS INVOLVING MULTIPLE INSTANCES

MI without synchronization

Runtime independent thread by condition

12,在运行期创建独立实例(线程、程序等)

MI with a priori known design time knowledge

Design time priori Instance

13,设计期多实例,且需全部完成

MI with a priori known runtime knowledge

Runtime multi Instance by condition/free

14,运行期可基于条件创建多实例

MI with no a priori runtime knowledge

Runtime multi Instance free by people

15,运行期可手工随意创建多实例

STATE-BASED PATTERNS 

Deferred Choice

XOR Split(By choice)

16,“推着走”流程,或基于既定条件分支

Interleaved Parallel Routing

OR Split + OR Join, Parallel

17,多分支聚合,分支执行顺序由运行期确定

Milestone

Wait by Milestone

18,在“里程碑”节点等待

CANCELLATION PATTERNS   

Cancel Activity

Cancel in specified Activity

19,在指定的活动取消

Cancel Case

Cancel Anywhere/Anytime

20,任意时候可取消

 

可以看到,其实很多是类似的,这为下一步的工作流引擎需求、设计打下基础。

抛砖引玉,供大家参考。

分享到:
评论
2 楼 di1984HIT 2014-05-16  
好的、  
1 楼 itstarting 2009-08-11  
哈哈,楼上火气比较暴,要知道这20种(或者说21种)真的是“基础”,如果一个一个说,也许你会不屑一顾,但毕竟是大牛Aalst的作品,我们还是得好好消化,就好比9*9算法表,一个一个上就没劲了。

说实话,有些模式我还需要再消化,才能真正理解工作流的“业务”,并构造自己的工作流引擎的“能力”

相关推荐

    工作流模式

    1. **顺序流模式**:这是最基本的工作流模式,任务按照预定义的顺序依次执行。例如,一个文档从创建到审批,再到发布,每个步骤按顺序进行。 2. **分支/合并模式**:当决策点出现时,流程可能根据特定条件分支到...

    FireWorkflow_3_各种工作流模式的实现整理.pdf

    顺序、分支、汇聚是 FireWorkflow 3 中三种基本的工作流模式。 1. 顺序流程 顺序流程指的是流程元素之间的顺序关系,例如 Activity A -> Activity B -> Activity C。 2. 分支流程 分支流程指的是流程元素之间的...

    流程的永恒之道-工作流及BPM技术的理论、规范、模式及最佳实践

    首先,我们来了解一下工作流的基本概念。工作流是指在组织内部或跨组织之间,通过定义、执行和控制一系列任务或活动的有序流程,这些任务或活动通常涉及不同角色的人或系统。工作流管理系统(Workflow Management ...

    workflow 工作流参考模式

    本文档基于《工作流管理联盟规范WFMC——工作流参考模型》的部分内容,旨在深入探讨工作流的基本概念、发展历程及其在实际中的应用模式。通过本篇分析,读者可以更全面地理解工作流系统的构建原理以及其在业务自动化...

    用着色Petri网建模工作流模式

    1. **支持20种工作流模式**:研究结果表明,基于着色Petri网的工作流建模语言能够很好地支持由Wil van der Aalst提出的20种工作流模式。这其中包括了基本的控制流模式(如顺序执行、并行执行)以及高级模式(如多重...

    php 工作流源码

    首先,我们要理解工作流的基本概念。工作流通常由一系列任务组成,这些任务按照特定顺序执行,并可能涉及不同角色或部门的交互。在PHP中实现工作流,需要设计数据模型来存储流程状态、任务信息以及参与者信息。这个...

    c#编写的工作流引擎

    首先,我们需要理解工作流的基本概念。工作流是指一系列相互关联并有特定顺序的任务,这些任务由一个或多个参与者执行,以完成一个明确的目标。在C#中,我们可以使用设计模式如状态机或者活动图来表示和执行工作流。...

    工作流回退常用模式分析

    工作流回退是一种在工作流管理系统中常见的操作,它允许用户将流程实例回滚到先前的状态,以便纠正错误或响应业务需求...通过理解这些模式,开发者和业务分析师能够更好地设计和优化工作流,以适应各种复杂的业务场景。

    工作流源代码,学习开发工作流可以参考

    工作流是一种组织内业务流程自动化的方法,用于定义、执行和管理一系列有顺序的活动,这些活动可以是人或系统执行的。在IT行业中,工作流技术广泛应用于企业信息系统,如ERP、CRM等,以提高效率,减少错误,并实现...

    十分详细的工作流实例

    工作流是一种用于自动化业务流程的技术,它在IT领域中扮演着至关重要的角色,尤其是在企业级应用中。本资源集合提供了一份详细的工作流实例,包括完整的C#工作流系统源码和一篇研究生毕业论文,这对于深入理解和实践...

    ext工作流javascript

    首先,我们需要理解工作流的基本概念。工作流是指一系列相互关联的任务或活动,这些任务按照一定的规则和顺序进行,以完成一个特定的业务过程。在Web应用中,工作流通常用于审批流程、订单处理、项目管理等场景。...

    深入理解学习Git工作流.pdf

    Git作为一种流行的版本控制系统,被...对于Git初学者来说,理解这些工作流的基本概念和操作实践是快速融入团队并参与项目的前提。对于有经验的开发者,也可以从中得到灵感,优化现有的工作流程,提升团队协作的效率。

    C# 源码 工作流

    在提供的压缩包文件"Workflow"中,可能包含了C#源码实现的工作流示例,这些示例可以帮助我们更好地理解上述知识点,并在实际项目中应用工作流技术。通过学习这些源码,开发者可以进一步掌握如何在C#环境中设计、实现...

    工作流引擎开发参考资料

    首先,理解工作流(Workflow)的基本概念至关重要。工作流是指一个组织内或跨组织的业务过程,由一系列相互关联的任务组成,这些任务可能涉及不同的人员、部门或系统。工作流引擎则是驱动这个过程自动化的核心组件,...

    完整工作流系统源码

    工作流系统是现代企业信息化管理中的重要组成部分,它主要用于自动化业务流程,提高工作效率,确保...通过深入研究这些文件,不仅可以掌握工作流管理的基本概念,还能获得实践经验,提升开发和实施工作流系统的技能。

Global site tag (gtag.js) - Google Analytics