Workflow Preacher 《工作流之星光》——系列文章针对 workflow 培训
1/1 Writen by 银狐 999
Workflow Preacher
工作流之星光
系 列
作者 : 胡长城 [ 银狐 999 ]
Email: james-fly@vip.sina.com
Blog : http://blog.csdn.net/james999
Web : http://www.javafox.org
MSN : fcxiao2000@hotmail.com
早就想写这么一篇文档,对 workflow 一个大概而又全面地介绍。能够让很多迷茫的朋友
在 workflow 的漫长道路上,看见一点星光。
想了半天的名字,最终还是采用“工作流之星光”,希望这一点微薄的星光,能够燎原 china
workflow 的研究。
说明:本系列文章的中【1】符号,代表参考资料应用,请到参考资料
章节按照符号序号
查找;【3,P2】代表序号为【3】的参考资料中的第二页。
本文是一个阶段系列文章,目前最后更新日期为 2005-3-2 。详细和以后的最新文档,
请访问 www.javafox.org
(银狐 999 的个人主页)。
Workflow Preacher 《工作流之星光》——系列文章针对 workflow 培训
2/2 Writen by 银狐 999
前言 ......................................................................................................................................................3
1. 工作流概述 ..................................................................................................................................4
1.1. 什么是工作流技术...........................................................................................................4
1.2. 什么是业务过程...............................................................................................................6
1.2.1. 职能域...................................................................................................................6
1.2.2. 业务过程...............................................................................................................7
1.2.3. 业务活动...............................................................................................................7
1.3. 什么是工作流...................................................................................................................7
1.4. 工作流的核心思想...........................................................................................................8
1.5. 逻辑和行为的划分.........................................................................................................10
1.5.1. 逻辑上划分.........................................................................................................11
1.5.2. 行为上划分.........................................................................................................11
2. 工作流发展的历史 ....................................................................................................................12
2.1. 七十年代的诞生时期.....................................................................................................12
2.2. 八十年代的商用诞生时期.............................................................................................12
2.3. 九十年代的飞速发展和标准化进程.............................................................................14
2.4. 工作流发展的相关因素制约.........................................................................................15
3. 工作流管理系统 ........................................................................................................................16
3.1. 什么是工作流管理系统.................................................................................................16
3.2. 工作流管理系统的通用系统结构.................................................................................16
4. 工作流参考模型 ........................................................................................................................17
4.1. 为什么要诞生工作流参考模型.....................................................................................17
4.2. 工作流参考模型概述.....................................................................................................18
5. 工作流基本概念 ........................................................................................................................19
6. 业务过程建模概述(引入) ....................................................................................................20
6.1. 过程分类 ........................................................................................................................20
6.2. 职能域 ............................................................................................................................21
6.3. 业务过程建模.................................................................................................................21
7.
过程建模概述 ............................................................................................................................22
7.1. 过程与工作流(Process and Workflow).....................................................................22
7.2. Control Flow...................................................................................................................22
7.3. 过程建模方法.................................................................................................................22
8. 工作流模式 ................................................................................................................................24
8.1. 概述 ................................................................................................................................24
8.2. 工作流模式.....................................................................................................................24
8.2.1. 基本控制模式.....................................................................................................24
8.2.2. 高级分支和同步模式.........................................................................................26
8.2.3. 结构模式.............................................................................................................28
8.2.4. 多实例模式.........................................................................................................28
8.2.5. 基于状态的模式.................................................................................................30
8.2.6. 取消模式.............................................................................................................31
8.3. 分支算法 ........................................................................................................................31
8.3.1. 分散(Split) .....................................................................................................31
Workflow Preacher 《工作流之星光》——系列文章针对 workflow 培训
3/3 Writen by 银狐 999
8.3.2. 聚合(Join)......................................................................................................32
9. 工作流数据建模 ........................................................................................................................33
9.1. 流程相关数据.................................................................................................................33
9.2. 形参 ................................................................................................................................33
9.3. 实参 ................................................................................................................................33
9.4. 工作项的数据.................................................................................................................33
参考资料 ............................................................................................................................................34
前言
工作流在国内的大范围兴起,已经至少四年了。然而四年来,国内并没有多少实质性的
文档或者书籍,对工作流(workflow)作过一个全面地介绍。且到目前为止,也没有几家产品
拥有扎实的理论基础原型,这也充分暴露出国内工作流产品研究的缺陷。
这方面是无法与国外相当一部分工作流产品竞争的,当然目前这种情况,也存在历史的
必然性,毕竟国内仅仅只拥有几年的工作流产品市场经验。而从世界范围来说,国外的工作
流产品,经历七十年代的理论雏形诞生、八十年代近十年的理论研究、九十年代的商业应用
竞争;算来三十来年的积累和研究,这的确是国内环境所无法比拟的。
然而,这几年的历史,并没有换来国人对 workflow 深度反省,反而沉寂在所谓的“国情
特色”感叹中。没有几家工作流公司能够踏踏实实深入工作流的研究中。也许这本不是国内
大大小小几十家工作流公司的错误,但是原本应该深入研究的教育领域呢?我记得最近几年
各个学府的成千上万的学生在做着工作流的毕设和课题研究,但是成果呢?
当很多人都在随波逐流的时候,也许我们这些人应该站出来了,用我们那微不足道的笔
墨,用我们 open 的思想,去帮助迷茫的人群—— 人们称我们为 Workflow Preacher,让我们记
住这些人的名:浆糊、Hongsoft、银狐 999、破门······
我们经验也许依然是那么的脆弱,但是,我们在一点点地开拓,一点点地追寻。我们期
待更多的人,踏着我们足迹继续寻觅、探索。
http://www.eworkflowing.com
http://www.wfchina.org
http://www.javafox.org
Workflow Preacher 《工作流之星光》——系列文章针对 workflow 培训
4/4 Writen by 银狐 999
第一部分:基础篇
1. 工作流概述
1.1. 什么是工作流技术
在传统开发应用系统的方式中,这里我指的是 harkcode 的方式。当然 hardcode 并不排除
你使用一些技术框架,比如 struts web framework,spring framework 等等,但是涉及到具体业
务的和具体业务过程的处理上,却是采用 hardcode 的方式。
比如开发一个简单的订单处理系统:
有如下几个主要的“业务活动”:
(1) 接收订单,也就是客户填写了订单
(2) 一些审批确认信息:比如客户的信誉度、订单金额的计算
(3) 检查库存(如果库存缺货,那么需要返回给客户信息)
(4) 如果有库存,那么就需要进行一些装配工作
(5) 发货。
这是一个简单的业务过程,但是用传统 hardcode 的方式,你需要做什么呢:
Workflow Preacher 《工作流之星光》——系列文章针对 workflow 培训
5/5 Writen by 银狐 999
针对每一个活动点,你都需要开发 web 界面程序、后台的业务处理数据、后台的业务数
据的存储、不得不进行硬性的下一步指定、不得不硬性的指定下一步的执行者、需要存储于
业务过程流转相关的数据······等等。如果业务是不变的,或者说客户在进行 demo 评判的
时候和需求调研的时候,业务需求和业务过程基本不更改,那么这种 hardcode 的方式是可以
应付的。但是这完全是一种理想的情况,在现实中,业务和客户的需求总是在变的,一方面
是需求的不确定性,一方面是客户的业务经营过程的调整。
让我们来看看 hardcode 的方式,有哪些缺陷吧,这些缺陷是致命的:
• 每个活动都要单独开发大量的页面和处理类
• 每次活动处理都需要硬判断下次活动以及活动的处理人
• 每次操作都需要维护业务数据和流程的一些数据
• 一旦流程改动活动,就需要大量的更改代码
• 不能跟踪流程的处理情况
• ······
那么,如果我们采用工作流系统呢?—— 这将是另外一种完全不同的开发方式。
评论0