`

工作流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算法表,一个一个上就没劲了。

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

相关推荐

    详解SOA五种基本架构模式

    目前,面向服务的架构(SOA)已成为连接复杂服务系统的主要解决方案。虽然SOA的理论很容易理解,但...工作流化如何提高服务对不断变化的业务流程的适应性?边缘组件如何将服务的业务功能从无关的交叉问题(比如安全、登

    研磨设计模式 PDF ZIP.001(三个压缩包)

    从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...

    研磨设计模式 PDF ZIP.002(三个压缩包)

    从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...

    二十三种设计模式【PDF版】

    23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例...

    研磨设计模式 PDF ZIP.003(三个压缩包)

    从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...

    windowsnt 技术内幕

    怎样准备70-073考试 理解工作站与客户端 理解为什么要参加70-073测试 理解Windows NT体系结构 深入理解用户模式内核模式 Windows NT Executive简介 理解Windows NT内存模型的优点 理解中央管理的优点 登录到Windows ...

    工作流技术在警务装备系统中的研究与应用 (2011年)

    针对目前政务信息系统基本结构,将工作流技术引入警务装备维修管理系统的设计与开发。从系统架构、功能模块设计、访问控制设计上探讨工作流技术的应用,解决了权限管理实际操作中角色定义不明确、授权过程难理解的...

    asp.net知识库

    .NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 ...

    8软件工程实验报告.doc

    如果是取款,系统计算利息并印出利息清单给储户 实验结果(及调试过程) 四、实验体会 通过了本次实验我了解了visio的工作环境及知道了软件工程中数据流图的基本结构 ,知道了数据流图的常见模式及其控制结构。...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:可以把 Quartz 引入到工作流中,主要讲了单独用 Quartz 来把 Job 组成 Job 链,模拟成一个酷似工作流的东西。 第十四章. 工作流中使用 Quartz (第二部分) 内容提要:OSWorkflow 工作流快速入门,讲了 ...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

     作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!  本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...

    Toad开发套装版

    提供了供Oracle专业人员创建和执行查询、以及建立和管理数据库对象时所需要的基本工具和基础功能,用户可以得益于格式... 自动化设计器-记录工作流步骤并重放。  ER制图和代码路线图-可视化和更好地理解架构环境。

    三种服务器的结构.doc

    看完上面的简单介绍,相信各位对这3种服务器已经有个基本的认识了,下面我们就来 一一细说,为大家做更详细的讲解: 什么是塔式服务器: 塔式服务器应该是大家见得最多,也最容易理解的一种服务器结构类型,因为它的...

    传智播客扫地僧视频讲义源码

    本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...

    软件工程(最全、最简式总结)

    目标:在给定成本、进程的前提下、开发具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性并满足用户需要的软件产品。 2、常见的软件开发方法包括: (1)结构...

    1000道互联网Java工程师面试题.pdf

    这些内容不仅是面试的重要考点,也是我们在实际工作中需要掌握的基本技能。接下来,小编将从这些方面为大家做详细介绍。 核心Java: 在Java面试中,核心Java是最基础也是最重要的部分。我们需要了解Java的基本语法、...

Global site tag (gtag.js) - Google Analytics