1.工作流管理概述
工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处理过程自动化,使人以及各种应用工具相互之间协调工作,以完成某项工作。其目的是为了让台适的人或软件在恰当的时间执行正确的工作。
工作流所关注的问题是处理过程的自动化,它根据一系列定义的规则,把文档、信息或任务在参与者之间传递,以达到某种目的。工作流管理联盟(Workflow Management Coalition,简称WfMC)分别给出了工作流和工作流管理系统的定义 :(1)工作流是一个业务过程部分或全部地用计算机自动执行;(2)工作流管理系统是一个完全定义、管理和执行工作流的系统,它通过计算机表示的工作流逻辑来驱动软件有序地运行。
工作流技术提供了把业务流程逻辑从具体IT工具的操作中分离出来的方法,并且还可以在以后把改变的流程逻辑规则添加进去。工作流管理可以在办公环境(如保险、银行、法律、行政管理等)以及工业和制造等领域得到广泛应用。
2.工作流管理产生的历史必然性[1]
工作流技术的历史可以追溯到70年代末的办公自动化和任务批处理0 。第一次使用工作流术语可追溯到8O年代初,但是那个时候还没有真正的工作流管理系统出现。
在以前,网络互联的应用不十分普及,并且功能相对较弱,各种软件系统被设计成用于处理单个任务 随着计算机网络技术的发展,计算机的处理模式从集中式处理向分布协作式处理发展 在这种新的处理模式中,人们可以更加精确地对高层的系统行为进行建模,开发的系统能够更快地对应用需求的变化作出反应。因此 应用系统不仅仅要处理单个任务,还要能够管理组织机构内部的工作流,这种应用需求推动了工作流管理的迅速发展。
为了更加深刻地认识工作流管理对未来的影响,有J必要回顾一下过去40年应用软件系统的演化历程,从历史的观点来认识工作流。图1显示了工作流管理系统成为应用软件系统的一个组成部分的历史发展过程。
在60年代,应用系统是一个个独立的程序,每个应用程序都有着自己特有的用户界面和专门的数据存取系统,各个应用程序之间互不相干。在7o年代,把数据管理部分分离出来,于是产生了数据库管理系统(DBMS),应用系统大大地简化了数据管理工作。到了8O年代,同样地又把用户界面部分分离出来,于是产生了用户界面管理系统(uIMs) 通过使用UIMS,应用程序不再过多地管理和用户的交互功能,并且使应用程序有相似的用户界面,方便了用户使用。直到90年代,工作流管理系统作为一个通用的应用功能开始出现,用于支持业务处理,使应用开发人员可以把业务流程从应用中提取出来。
进入90年代,越来越多的组织机构开始认识到需要有支持设计和执行业务流程的高级工具。业务流程问题成为目前信息系统开发中的突出问题,要求信息系统包含工作流管理系统以支持各种业务流程,其理由主要有4个:
(1)新的管理哲学激发了组织机构对业务流程的兴趣,如业务流程再造(BPR)和持续过程改进(CPI);
(2)组织机构内部的业务过程数量比以前大大增加,如今的组织机构比以前提供更多的产品和服务,并且产品和服务的生命周期也比以前大大缩短了,从而业务过程的数量也急剧增加;
(3)为了适应激烈的竞争,组织机构需要经常改变业务流程;
(4)业务历程变得更加复杂。
从工作流管理的发展历程可以看出,工作流管理的概念早在8O年代初就已提出,但是由于当时计算机技术发展的限制,一直未能得到充分发展。直到最近几年,随着计算机技术和网络技术的迅猛发展.以及伴随着市场竞争的加剧,企业对提高生产质量、缩短生产周期等的要求强烈,使得工作流管理成为企业界和研究领域的热门话题。种种迹象表明工作流管理将会对下一代的信息系统产生重大影响 。
3.工作流管理中存在的问题[1]
工作流管理作为一个新兴的研究领域,自然还存在很多问题有待于进一步研究解决,通过分析目前的工作流系统,我们总结出两个主要的不足:(1)工作流管理的定义不明确以及缺乏统一的概念模型;(2)工作流管理系统的系统结构和能力上的不足。
1、工作流管理的定义不明确以及缺乏统一的概念模型
目前工作流管理发展的状况非常类似于7O年代初关系数据模型和E—R模型出现以前数据库管理系统的发展状况,大家各持己见,没有一个统一的标准,所开发的产品大部分相互之间不兼容,使得很多用户不愿意使用商品化的工作流管理产品。
虽然WfMC在工作流概念和接口标准化方面作出了很多努力,但是这些标准仅仅是停留在技术层次上,而且重点放在语法上而不是语义上。在概念层次上至今仍没有统一的意见“ 。例如,在WfMC参考模型接口1的规范中,就没有关于状态及基本构造块(如AND/OR—split/join)的形式化描述。
总的来说,工作流的描述应当基于具有丰富语义表达功能的建模方法。这个方法应当具有清晰性、一致性、易表达性和可扩充性,应当能足以表达步骤、循环、分枝、条件、路径选择、任务分配、时间、调度和约束条件。其语义应当能够定义控制流、数据流、资源流.并且能够定义策略来处理这些流的中断。
2、工作流管理系统的系统结构和能力上的不足
商品化的工作流产品提供的功能决定了当前工作流管理的技术水平,通过分析这些工作流系统可以发现其中还有很多不足,这些不足之处不仅是我们研究工作流管理技术的重点和难点,也是目前许多企业不敢把工作流产品用于关键业务流程的主要原因。这些不足主要是:
(1)目前的工作流产品不适用于企业级的工作流管理。目前的商品化工作流系统起源于办公自动化系统 ,因此工作流系统一开始只是作为一个协同工具,是为小群体而设计的,要解决的主要问题是关于共享和协作。而当人们发现了工作流的应用潜力,想将其运用到大型环境中时,其本身的一些弊病就暴露出来了,如单数据库、通信支持的不足 不支持异构和分布的环境等,至于可测量性、可靠性等,则基本上未考虑。因此,目前的工作流产品不适用于企业级的工作流管理。
(2)目前的工作流系统缺乏健壮性和可用性,没有备份机制和有效的恢复手段,容错问题基本上没有考虑,系统对于出错的恢复弹性是极小的。一个大型的企业级工作流管理系统可能包括有几千个用户和几十万个并行运行的过程,并且分布在一个大型网络的几千个位置,其持续可用性就非常关键。
(3)目前工作流普遍使用的是c/s系统,其结构有一定的脆弱性,服务器的错误将导致整个工作流系统的失败。另外,集中式服务容易形成瓶颈,并因此很难对系统性能进行测量。
(4)不同的工作流产品之间缺乏互操作陛。
(5)大多数工作流产品的可视化建模方法都缺乏形式化语义 。
4.工作流管理的发展趋势
工作流管理的发展就是要解决现有的问题.更好地满足用户需求,由于工作流管理系统主要由工作流建模和工作流实施环境组成,因此工作流管理系统的发展趋势也可以从这两个方面分别考察。
1、工作流建模的发展趋势
目前工作流建模技术还远没有成熟,还处于百家争鸣的时代。我们对当前流程建模领域出现过的主流建模方法进行了归纳分析,以期确定出我们要研究的合理方向。通过归纳分析,可以把它们分成5大类:脚本语言、基于网的方法、基于规则的方法、基于逻辑的方法和代数方法。
(1)脚本语言(Script Language)
脚本语言中有描述控制流和数据流的语句结构,它提供了一种简明的描述方法,对于有经验的设计者来说更易于使用。它的主要缺点是缺乏流程本身的形式化语义,语言的语义主要是供语言解释器使用。
(2)基于网的方法
适合于流程的可视化建模,一般都使用状态变迁网,流程中的活动用结点表示,控制流用边表示。使用状态变迁网的主要问题在于是否有形式化的语义,大多数工作流产品的可视化建模方法都缺乏形式化语义。在具有形式化语义的状态变迁网中,使用得最多的就是Petr网和状态图(State Charts)。具有形式化语义的基于网的方法可以转换成其它建模方法,如基于规则的、时序逻辑的和脚本语言的方法等。
(3)基于规则的方法
目前研究得最多的基于规则的方法是ECA(Event/Condltion/Acton,简称EcA)规则,ECA规则是早用于AO0DBS,而后又被用于工作流管理领域。ECA规则具有形式化基础,也可以转换成其它的建模方法。如Petri网、时序逻辑等,但是ECA规则的可视化工作量比较大。另外,如果规则集比较大时就难以管理。
(4)基于逻辑的方法
基于逻辑的方法适合于描述系统的动态性,其中时序逻辑是一种常用的方法,它具有很好的形式化基础,验证工作流模型的属性比较方便。但是时序逻辑的主要缺点是很难实现可视化.不容易转换成其它的描述方法,描述业务流程的系统行为太复杂。
(5)基于代数的方法
过程代数(Proees Algebra)主要还是局限在理论探讨上,在工作流管理领域用得很少,只有一种基于过程代数的描述语言LOTOS被用于工作流管理领域。代数方法的主要缺点类似于基于逻辑的方法,并且在自动执行和形式化验证方面表现得比基于逻辑的方法更差,建模方法缺乏直观性,难以理解。
根据以上的比较可以看出,各种建模方法各有优缺点。但从总体上来看,脚本语言、基于网的方法和基于规则的方法更具有吸引力。
2、工作流实施环境的发展趋势
工作流管理系统应该支持异构、自治和分布环境中应用系统的集成和互操作,提供集成以前的应用系统的方法,以保护过去的投资,能够是活地支持组织机构的改组,并支持当今有关动态企业(Dynamic Enterprise)的技术具有一定的容错能力,在有错误产生时工作流管理系统能保证工作流执行的正确性和可靠性。
随着互联网的普及也出现了一些基于Web的工作流解决方案。通过观察当前商品化的基于Web技术的工作流管理系统,显示出大多数产品都仅仅是可以部分地使用Web,但是发展的趋势是越来越多地使用面向Web,这种趋势可以在目前的一些研究项目中体现出来,如WebFlo、OzWeb、DartFlow等。但是由于Web及浏览器本身的限制,只能提供Client/Server计算模式,并且所使用的CGI接口只有有限的编程能力,在位置透明性、支持事务功能、安全性、性能等方面还有待于进一步改善。
另外,工作流研究是一种跨多学科的研究,涉及到CSCW、人机交互、数据库、管理学、社会学等学科。任何缺乏多学科合作的研究都会阻碍工作流管理系统成为一个通用的系统,造成功能上的不足。