工作流技术综述 2010-12-02
一、工作流技术的起源与发展
工作流技术的标准化组织工作流管理联盟(Workflow Management Coalition)于1993年成立。网站为http://www.wfmc.org/
在工作流这一框架下,比较基本的、主要的研究内容包括以下几个方面:
(1)工作流管理系统体系结构的研究
(2)工作流模型与工作流定义语言
(3)工作流的事务特性
(4)工作流的实现技术
(5)工作流的仿真与分析方法
(6)工作流的集成和互操作技术
(7)工作流与业务过程重组
二、工作流技术的研究现状
(一)工作流定义
WFMC的定义
工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。
工作流是业务过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。
(二)工作流模型
工作流模型是对工作流的抽象表示,也就是对经营过程的抽象表示。
基于语言行为理论的工作流模型是由一系列闭合的工作流环相互连接而成的,每个工作流环都被四个语言行为(Speech Acts)分为四个阶段,包括需求阶段、协商阶段、执行阶段与满意阶段。
为了便于交换和在不同格式的模型之间相互实现转换,有的模型提出了规范的描述语言,我们称之为“工作流定义语言”。比较典型的有工作流管理联盟推出的WPDL(Workflow Process Definition Language),IBM FlowMark的FDL(FlowMark Definition Language),METEOR2项目定义的WIL(Workflow Intermediate Language)等。NIST单独提出了一种过程描述语言PSL(Process Specification Language),旨在统一各种与制造业过程定义有关的语言,当然也包括对工作流的定义。
(三)工作流系统的实现方案
确定一个工作流系统的实现方案,一般包括两个重要方面:(1)首先是选择系统所给予的底层通讯基础结构,这一基础结构将关系到系统中的各个组成部分之间以怎样的方式来进行互操作,这是分布式应用赖以存在的基础。(2)要确定系统各组成部分之间的协作过程。从模型的提交、运转到结束,这一过程必然会涉及到多个软件模块间的协作,那么这些具有不同功能且相互独立的模块之间在所确定的底层通讯基础结构上的互操作过程就是实现工作流运转的过程。这部分工作主要包括接口定义、数据维护方式、操作处理过程等的确定。
几种典型的工作流系统实现方案
(1)ORBWork:基于CORBA的分布式工作流系统
(2)WebWork:基于Web的工作流系统
(3)Exotica/FMQM:基于永久消息队列的分布式工作流系统
(4)EVE:事件驱动下的分布式工作流执行系统
(5)DartFlow:基于可移动代理的工作流管理系统
Dart是达特茅斯大学计算机系设计开发的一种基于可移动代理的工作流系统,所谓“可移动代理”,是指一段可以在自身的控制下由异构网络系统中的一台机器转移到另外一台机器上运行的程序,也就是说,可移动代理能够在执行到某一点时关起自身程序,将代码传递到另外的网络节点上去继续执行。
(四)工作流中的事务管理
事务的概念来自于数据库研究领域,用以解决数据的并发访问和出错恢复问题。
ACID:是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。