WooW 工作流完全指南
Version:1.0
修改历史
日期 修改版 修改说明 作者
09/3/21 1.0 创建文档 杨新峰
09/5/19 2.0 大范围删改与补充 张昊
09/11/25
2.1 增加流程设计\查看器(flash)说明 张昊
目录
s 第 1 章 快速上手..........................................................................................................................5
1.1 开始前的准备..................................................................................................................6
1.2 运行工作流程序..............................................................................................................8
1.3 订单复合例子..................................................................................................................9
第 2 章 系统结构........................................................................................................................16
第 3 章 WooW 流程编辑与查看器 ...............................................................................................17
3.1 流程编辑器....................................................................................................................17
3.2 流程查看器....................................................................................................................25
第 4 章 WooW 工作流使用指南...................................................................................................25
4.1 处理器集........................................................................................................................26
4.2 配置文件指南................................................................................................................29
4.3 工作流配置文件............................................................................................................31
4.4 启动流程实例................................................................................................................37
4.5 委托管理........................................................................................................................40
4.6 外部节点的调用............................................................................................................40
第 5 章 集成与实施....................................................................................................................42
5.1 用户集成........................................................................................................................42
5.2 角色集成........................................................................................................................44
5.3 动态用户角色集成........................................................................................................46
5.4 类型转换器集成............................................................................................................48
5.5 通知的集成....................................................................................................................49
前言
如果数据库系统( database systems)像受人尊敬的智者讲述的条理清晰的故事,那么工
作流(workflow)就像一群乳臭未干的小子在大谈各自的“哲理”。之所以这样讲,我是想指出,
工作流系统 (workflow management systems)还处于技术发展曲线( technology hype curve )
上的初级阶段。在这个领域我们将面临一个激动人心的阶段。为了描述这一点,可以和关系
数据库系统(RDBMS)做一个对比。当在软件开发团队中谈论 RDBMS 时,大部分人会有一
个清晰的概念,在你和他们交流的时候,人们会通过轻微的点头表示认可或理解你所说的。
可当使用工作流术语讨论工作流时,他们会摇头表示不同意,因为每个人对工作流术语都有
不同的理解。
Figure 1: Workflow vs. RDBMS positioned in the hype-curve
导致形成这种状况的原因之一,是在工作流中使用了过多的概念。在这个领域中的大量
规范和工具没有一个是相似的。当然,它们相互之间有重叠并且会相互参拷引证。在介绍工
作流时有一个话题必须包括,那就是工作流和业务流程管理(BPM)的关系。术语“工作流”
通常描述人与计算机系统的一系列相关交互。在开发人员中,工作流经常被提及。有时,工
作流的意思是指一些不同的 UI 界面。业务流程管理的范围比较广,相比之下工作流多半局限
于技术领域。业务流程管理还从管理人员的角度涉及了非技术问题,比如分析、组织的效率。
那么什么是工作流呢?
工作流系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人
和应用之间分派活动。
为了后面的描述,我们先定义一些基本的术语:流程定义(process definition)和流程实
例(process instance). 一个流程定义
是一个业务流程或过程的规格化描述。一个流程实例是
流程定义的一个运行实体。 都目前为止,概念还比较清晰是不是?但当再深入一步时,我们
就要小心使用文字了。如何阐述流程中的步骤,现在还没有一个统一的方式。这是各种工作
流规范和工具之间主要的分歧。
工作流系统另一个重要的职责是维护每一个流程运行的上下文信息。 流程上下文变量
(process context variable) ,或简称变量,是与流程实例相关的变量。如,休假申请的开始
日期、数据库中一条记录的键值、文档管理系统中一篇文档的索引等。通常在流程定义中声
明这些变量,然后在流程实例生成时,这些流程变量被实例化。所有成熟的工作流管理系统
都支持定制的变量类型。
针对以上种种,WooW 工作流是基于现在开源项目中做的比较出类拔萃的JBoss jBPM 作为
其工作流引擎的内核,当然前者在设计上并非与后者之间是紧藕合的。它可以适用与任何其
它工作流引擎相集成,并且其自身自带有一个工作流引擎的内核以方便采用非开源框架项目
使用。
在此要简单阐述一下本团队开发这套系统的初衷了,在我们做过的大量项目中发现采用
国外的工作流产品或是开源框架,总是觉得不够人性化在很多功能上均不符合中国的国情。
总结目前市场上的工作流产品有如下几点不足之处:
1. 在技术上设计过度、功能的颗粒度太细,这就导致在开发过程要耗费大量的时间,
而且因为粒度过细所以晦涩难懂,大大增加了学习曲线。本来工作流只是个工具简
单易用是根本,却搞成了一门高深的说问,有些杨春白雪的味道~~
2. 在一些自带有流程监视图的产品中,流程图的展现形式过于技术化。流程图是给最
终用户看的,不只是给程序员开发用的,而对于一个好的工具产品来说前者要比后
者更为重要
3. 目前大部分的工作流产品在集成方面(包括人员、组织结构、权限、角色、通知方
式[或称催办])要么紧密与即有系统相关联无法将工作流从中拨离出去,要么就干脆
不做集成工作所有的数据都在工作流系统之中。总的来说这两种方式都不太可取,
原因我想大家都清楚,不言自明。
4. 现在的工作流产品在开发时都需要写大量或部分的代码,而 WooW 希望在零代码开
发工作流业务上做一些尝试
最后简单阐述一下 WooW 工作流理念和所独有的特点:
在设计理念上它不排斥任何其它的工作流产品或工作流引擎,而是在它们的基础上做有
益的扩展与补充。理论上 WooW 更应该称为一个框架(framework)就象 BSF
,把各种优秀的工
作流引擎集成到本系统中来,可以使您在不同的底层流程引擎中做自己偏爱的选择。很大一
部分工作流产品面向的用户群,而本产品更偏向于业务,更符合非计算机人员的思维方式。
在创新点上有如下几个方面:
可以无缝的与第三方应用系统集成,自身无需用户、权限、角色,完全依赖于第三
方系统(缺省依赖 Hi 平台)。在设计上 WooW 提供了大量接口规范与方法回调,使
其与第三方应用系统实现真正的无缝集成成为可能
提供的流程设计器与流程查看器,并不象其它工作流产品提供 eclipse 或相类似的 IDE
插件的形式,而是直截可以在 Web 浏览器编辑并实时发布
一旦将部署实施后工作完成后,对于软件工程师来说几乎是零代码开发。使您的精
力完全放在流程的业务上,而无需拷虑还要了解流程本身,从而大大提高开发效率
与降低学习曲线
理论上可以集成其它任何的工作流引擎,这就为您针对多变的业务需求和运行效率
提供更大的选择空间
第1章 快速上手
WooW 工作流是一个扩展性很强的工作流系统,百分百用 JAVA 语言开发,持久层采用
- 1
- 2
- 3
- 4
前往页