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)
|
9a,N分支,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,任意时候可取消
|
可以看到,其实很多是类似的,这为下一步的工作流引擎需求、设计打下基础。
抛砖引玉,供大家参考。
分享到:
相关推荐
目前,面向服务的架构(SOA)已成为连接复杂服务系统的主要解决方案。虽然SOA的理论很容易理解,但...工作流化如何提高服务对不断变化的业务流程的适应性?边缘组件如何将服务的业务功能从无关的交叉问题(比如安全、登
从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...
从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...
23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例...
从事过专业的中间件研发,包括基于组件的Web页面框架、基于WFMC的工作流中间件、类似于Hibernate的ORM框架等等;参与或主持了多个中大型的企业级应用项目,拥有多年项目经理、技术部经理的管理经验。个人博客:...
怎样准备70-073考试 理解工作站与客户端 理解为什么要参加70-073测试 理解Windows NT体系结构 深入理解用户模式内核模式 Windows NT Executive简介 理解Windows NT内存模型的优点 理解中央管理的优点 登录到Windows ...
针对目前政务信息系统基本结构,将工作流技术引入警务装备维修管理系统的设计与开发。从系统架构、功能模块设计、访问控制设计上探讨工作流技术的应用,解决了权限管理实际操作中角色定义不明确、授权过程难理解的...
.NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 ...
如果是取款,系统计算利息并印出利息清单给储户 实验结果(及调试过程) 四、实验体会 通过了本次实验我了解了visio的工作环境及知道了软件工程中数据流图的基本结构 ,知道了数据流图的常见模式及其控制结构。...
内容提要:可以把 Quartz 引入到工作流中,主要讲了单独用 Quartz 来把 Job 组成 Job 链,模拟成一个酷似工作流的东西。 第十四章. 工作流中使用 Quartz (第二部分) 内容提要:OSWorkflow 工作流快速入门,讲了 ...
作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...
提供了供Oracle专业人员创建和执行查询、以及建立和管理数据库对象时所需要的基本工具和基础功能,用户可以得益于格式... 自动化设计器-记录工作流步骤并重放。 ER制图和代码路线图-可视化和更好地理解架构环境。
看完上面的简单介绍,相信各位对这3种服务器已经有个基本的认识了,下面我们就来 一一细说,为大家做更详细的讲解: 什么是塔式服务器: 塔式服务器应该是大家见得最多,也最容易理解的一种服务器结构类型,因为它的...
本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
目标:在给定成本、进程的前提下、开发具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性并满足用户需要的软件产品。 2、常见的软件开发方法包括: (1)结构...
这些内容不仅是面试的重要考点,也是我们在实际工作中需要掌握的基本技能。接下来,小编将从这些方面为大家做详细介绍。 核心Java: 在Java面试中,核心Java是最基础也是最重要的部分。我们需要了解Java的基本语法、...