工作流管理技术介绍
 

2009-11-25 作者:葛志春 来源:希赛网

 

摘 要:本文主要对工作流技术的起源,工作流的概念,研究的技术的内容及工作流管理系统作了深入的介绍;并对工作流技术在国内外的应用现状及不足作了深入的分析。

关键词:工作流、表单

1、工作流技术应用背景

传统的计算机管理信息系统的主要功能有三个:即信息处理、事务处理与决策支持。信息传递和信息处理构成了企业和行政管理部门的业务工作内容之一,也是计算机信息系统的主要功能之一,它是企业和行政管理部门进行事务处理和决策支持的基础。

当PC机没有作为信息处理工具而出现的时候,纸张是进行日常业务活动不可取代的载体。这种传统的纸张为载体的信息传递与处理方式的效率很低,需要花费相当的人力、物力来完成信息的处理、组织、存储以及查询检索,同时这种方式降低了对客户需求的响应速度,给企业和行政管理部门的生产经营都带来了及不利的影响。在计算机得到了广泛普及、计算机应用水平日益提高的情况下,企业与行政管理单位的工作人员希望能够以一种无纸化的、计算机使能的工作环境来开展日常业务工作。一些企业和行政管理部门因此建立了相应的文件、表单传递系统(Forms-routing applications)用来实现日常表单处理的电子化与自动化。这种简单的文件、电子表单系统可以看作是工作流应用的雏形。

企业的经营过程是由一系列相关的任务组成的;这些任务按照企业的管理规章与业务流程串行或并行的执行,最终完成企业的经营目标。自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,它是企业管理的主要研究内容之一。只不过在没有引入计算机信息系统的支持以前,这些工作是由人工来完成的。随着市场经济的发展,市场竞争的日益激烈,企业要求其业务过程能够进行快速重组;业务过程的不断变化也相应要求信息系统能够快速重组。这样,单靠人工对企业过程进行重组和传统的面向功能的信息化计算机系统已经不能适应现代企业的发展。因此,企业希望有一种能够实现企业快速业务流程重组和业务过程自动化的软件系统。在计算机网络技术和分布式数据库技术迅速发展、多机协同工作技术日臻成熟的基础上于20世纪80年代中期开始提出了工作流的概念。工作流技术的提出与发展为企业更好的实现这些经营目标提供了先进的手段。

随着经营业务的展开企业的物理位置逐渐分散、部门间的协作日益频繁;决策过程的分散性也日益明显,对日常业务活动详细信息的需求也日益提高。因此,企业又要求信息系统必须具有分布性、异构性、自治性。在这种大规模的分布式应用环境下高效地运转相关的任务,并且对执行的任务进行密切监控已成为一种发展趋势。在这种技术背景下,工作流管理系统也有最初的创建无纸化办公环境,转而成为同化企业复杂信息环境、实现业务流程自动化的必要工具。这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究。

1993年工作流技术的标准化组织工作流管理联盟(Workflow Manangement Coalition 简称:WfMC).的成立标志着工作流技术在计算机应用领域之中被明确的划分出了自己的一席之地,相应的概念与术语也得到了人们的承认。在全球范围内,对工作流的技术研究以及相关的产品开发了进入了更为繁荣的阶段。

2、工作流定义

工作流是从英文单词Workflow翻译而来的。Work表示工作或任务;Flow则表示流动、流程或者流量。Flow反映了一种变化及变化的过程,本身意义比较抽象,但是当它与某一个具体过程相联系时就有了具体的含义,如电流、水流、气流。在经营管理与生产组织中Flow也有重要的意义,如表示物料传输过程的物料流、表示资金流动的资金流、反映信息处理和传递过程的信息流,同样还有价值流、决策流、控制流等概念。依此,用活动及活动之间变化的过程表示的业务流程就是工作流。

十几年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义,但到目前为止,对于工作流仍没有统一的定义。下面列举了一些有代表性的定义,可以使我们对工作流的一些基本特征有一定的理解。

WfMC的定义:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。

Forrester Report的定义:日常的业务处理或协同工作能按预先定义好的规则和过程进行流动,并且这一流动过程能被跟踪和监控。

Giga Group的定义:工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行它,支持任务的信息流、评价与控制任务的跟踪、报告机制。

IBM Almaden Research Center的定义:工作流是经营过程中的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个单独步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。

Amit Sheth 的定义:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体完成。一项任务定义了需要做的某些工作,它可以以各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条信息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(如:邮递员、一个应用程序、一个数据库管理系统)。

以上这些定义,虽然表述方式略有不同,但是基本上都说明了这样一个问题,即工作流是业务过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流作为业务过程的实现技术首先要求工作流系统能够反映业务过程的如下几个问题:即业务过程是什么(有哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、有谁来做(人或计算机程序,也就是组织角色的定义)、做的怎样(通过工作流管理系统对执行过程进行监控)。因此,可以说工作流是一种反映业务流程的计算机化的模型,它是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务系统。

3、工作流技术研究的主要内容

工作流技术,在初期主要由工作流产品供应商推动其发展。随着工作流产品在实际应用中不断取得良好的效果而得到了人们日益的重视,并且到了迅速发展。相对于工作流产品的繁荣,工作流相关理论研究则显得滞后。在过去很长一段时间里,有关工作流技术方面的研究主要有商品化的工作流产品供应商所领导。本着把工作流产品推向市场的目的,这些供应商大多把研究的注意力放在工作流管理产品的开发实施方面。目前在工作流设计方法学,工作流概念模型等方面还没有形成一套比较成熟的理论和方法。在工作流理论与实施技术方面,研究的主要内容包括:

  • 工作流管理系统体系结构;
  • 工作流模型与工作流定义语言;
  • 工作流的事务特性;
  • 研究如何实现高级事务处理技术与工作流管理技术的结合,用定义良好的模型语义与恢复机制来提高工作流系统的正确性与可靠性,从而能够更好的支持复杂的业务过程;
  • 工作流实现技术:包括面向对象技术、异构分布式计算技术、图形化用户界面、消息通信、数据库、WEB等在内的与工作流系统的设计实现有关的各项技术及方法;
  • 工作流的仿真与分析方法;
  • 基于工作流的应用集成与互操作技术;
  • 研究异构应用系统的集成以及不同工作流系统之间的互操作问题;
  • 工作流与经营过程的重组:研究如何通过工作流系统的实施支持快速的实现经营过程重组;
  • 工作流技术的其他应用:研究如何将工作流技术在不同的领域进行运用,包括在CIMS中的应用。

上述主要研究课题可以归纳为三个方面(如图1):第一方面是工作流的理论基础,包括工作流管理系统的体系、模型与定义语言(工作流的建模方法、工作流模型的形式化表示、工作流定义语言)等的研究。这一部分是工作目前相对来说比较薄弱,还有许多问题需要进一步研究。第二方面是工作流的实现技术,包括工作流的事务特性、各种先进软件技术的应用、工作流仿真。这方面研究工作的目标是提高工作流管理系统的性能,尤其是提高工作流管理系统可靠性及其在处理大规模复杂的且具有并行业务的流程方面的能力。第三方面是工作流技术的应用,包括工作流实施技术在不同应用领域的应用(如在企业经营过程重组、并行过程、敏捷制造)方法、应用软件集成等。这几方面研究的目标是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有向实现手段。

图1:工作流技术研究内容

4、研究工作流的意义

工作流技术的应用将给组织单位带来巨大的效益。首先,采用工作流管理将使组织单位改变传统的按照功能来配置人员的组织结构,变成按照要实现的主要业务流程来配置组织结构,这样可以大大缩短主要业务过程的处理时间,提高对市场的响应能力。其次,组织结构的改变将大大减少在组织内部不必要的的物料、信息的传递时间。当然,整个组织结构的调整首先需要调整传统的以部门为单位的做法,变成以项目来组织生产和人员的工作方法,如:一个人可能同时从属于多个项目。应用工作流管理系统主要可以取得如下好处:

  1)提高管理的规范化程度;
  2)更好地与上下游单位形成快速响应市场的供应链网络;
  3)降低业务过程的整个处理时间,如在办公自动化环境中,通过更好的规划工作流程,并行执行相互独立的活动,减少文档的传递时间;
  4)降低管理成本,如避免不必要的重复的工作,提高工作人员的工作效率;
  5)改进工作质量,如自动完成某个任务所需要的相关信息。在客户服务中,能够快速方便的访问所有相关数据和工作流程,从而大大提高客户服务质量;
  6)在工作人员之间更好的均衡负荷,如在工作人员缺勤的情况下,自动柔性分配替代人员;
  7)通过在工作流模型中加入可预计的故障的处理策略来提高系统的柔性;
  8)通过对已经完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程;
  9)使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员进行单调乏味并且十分耗时的文档查找工作。

采用工作流管理系统可以在最大程度上集成组织的现有信息资源,实现资源的充分利用。由于工作流管理系统具有较好的柔性和开发性,因此,可以保证信息系统能够顺利的扩展以满足不断变化的市场环境。另外,工作流管理系统在工作流模型的基础上进行业务过程进行,这就意味着信息系统已经从过去没有一个具体的可量化指标的管理信息系统,发展到了一个建立在工作流模型上(并且是可以利用BPR或者其他仿真工具进行优化后的模型),按照预先定义好的规则进行执行,并且对于执行的结果随时进行监控和评价的规范化阶段。这种由过程建模—〉模型分析—〉过程优化—〉执行结果—〉统计分析—〉改进业务过程—〉优化运作的实施方法为成功地实施信息系统奠定了坚实的基础。

5、工作流管理系统

工作流技术是当今一项飞速发展的技术,它最基本的特性就是它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。

工作流是业务的自动化处理过程,在这个过程中,根据预定义的规则将文档、信息在过程参与者中传递,最终完成业务的处理。工作流管理系统(WFMS)是通过管理一序列工作行为以及与活动步骤、相关人员、资源设备来提供业务处理程序上的自动控制,它是通过计算机软件来定义、管理和执行工作流,计算机的执行顺序是由工作流逻辑的计算机描述来驱动的。

工作流管理系统主要具备以下三个功能特征,如图2:

工作流定义功能,主要是对业务处理过程的计算机定义,提供了一种或多种分析、建模、系统定义技术,将一个现实世界的业务处理过程转换成计算机可处理的定义;最终的定义叫作过程模型、过程模版或过程定义,可以表现为文本、图形或自然语言符号。

运行控制功能,对过程的定义进行解释,创建并控制过程的运行实例,调度过程的各种行为步骤,调用适当的人工和IT应用程序资源;工作流管理系统的核心部件就是工作流管理控制软件(工作流引擎)。

运行交互接口,提供与人员或IT应用程序工具进行交互接口来处理各种活动步骤,交互接口对于活动间的控制传递是必须的,如确定过程的状态,调用应用程序工具,传递应用程序数据等。

图2WFMS的三个特征

6、工作流管理系统的分类

根据所实现的业务过程,工作流管理系统可分为四类:

1) 管理型工作流(administrative workflow):在这类工作流中活动可以预定义并且有一套简单的任务协调规则,例如,大学里的课程选修,完成论文后的学位申请等。

2) 设定型工作流(ad hoc workflow):与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。

3) 协作型工作流(collaborative workflow):参与者和协作的次数较多。在一个步骤上可能反复发生几次直到得到某种结果,甚至可能返回到前一阶段。

4) 生产型工作流(production workflow):实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。与管理型工作流相比,生产型工作流一般应用在大规模、复杂的和异构的环境下,整个过程会涉及许多人员和不同的组织。

根据底层实现技术, 可将工作流产品分为三类:

1)以通讯为中心:以电子邮件为底层的通讯机制。这种类型的工作流管理系统适合于协作型工作流和不确定型工作流,而不适于生产型工作流。

2)以文档为中心:基于文档路由,它同外界应用的交互能力有限。许多基于表的管理型工作流可以用以文档为中心的工作流实现。

3)以过程为中心:这种工作流系统对应生产型工作流。它们一般建立在数据库之上,有自己专用的通信机制并且提供了同外部进行交互的接口。

根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类:

1)基于文件的工作流系统:以共享文件的方式来完成任务项传递。这种类型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。

2)基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。代表产品有Novell与FileNet合作开发的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。

3)基于Web的工作流系统:通过WWW来实现任务的协作。这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供应商纷纷改进原有产品或开发新产品以增加对Web的支持。代表产品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。

4)群件与套件系统:虽然这一类产品与上面介绍的三种产品在任务传递方式上有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office与Exchange、Novell公司的GroupWise。

7、工作流管理系统的实施

工作流管理系统不同于ERP和普通的企业管理信息系统,ERP与普通的企业管理信息系统是事务处理系统,其主要目的是满足企业业务操作功能,提高企业事务处理的效率和水平。从企业整体的业务流程和企业经营目标上看,事务处理系统一般局限于解决某个或者某些领域的问题;事务处理系统的另外一个局限性是它一般局限于解决组织内部的具体操作问题,面向组织内部功能,而不是面向市场和面向客户的系统。工作流管理系统的着眼点是面向市场、面向客户,其目标是在整个企业的业务层提高企业的业务处理水平、强化企业的市场意识、提高对市场的应变能力。

由于工作流管理系统与普通事务处理系统存在显著的差别,工作流管理系统在实施方法上也不同于普通的事务处理系统。要实施工作流管理系统首先要在战略层次上对经营目标进行分析,确定战略目标和组织要求。工作流管理系统实施的层次结构,如图3。

图3 WFMS实施的层次结构

在完成了战略目标分析和工作流实施战略后,工作流管理系统才能够进入真正的实施阶段。工作流管理系统在实际系统中的应用一般分为3个阶段,如图4,即模型建立阶段、模型实例化阶段和模型行阶段。模型建立阶段通过利用工作流建模工具完成经营过程模型的建立,将实际经营过程转化为计算机可处理的工作流模型。模型的实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源(包括资源、人员、应用)。模型执行阶段完成经营过程的执行,在这个过程中重要的任务是完成人机交互和应用的执行,并对过程与活动的执行情况进行监控与跟踪。

图4 WFMS 实施的三个步骤

8、国内外应用现状与不足

8.1 应用现状

目前工作流技术的研究正日益受到人们的重视,许多大学和研究机构都开展了很多研究项目,取得了重多的研究成果,对工作流技术的发展做出了贡献。

由于工作流应用环境大多是在复杂的分布异构环境中,如企业内部网或因特网,因此应用最新的分布对象处理技术和Web技术,实现工作流管理成为当前研究的重点。有影响的工作流原型系统有:

1)美国佐治亚大学研制的Meteor系统:该系统是一个支持多范型的工作流管理系统,主要用于处理医疗保健应用。多范型是指该系统能够支持分布异构环境下的企业内和企业间的各种工作流。这些工作流可以是数据库管理系统和分布式事务处理系统中的事务,也可以是EDI等特殊应用。Meteor系统可以在Web或CORBA环境下运行。

2) 美国普度大学开发的CORBAflow系统:该系统提出了基于CORBA的体系结构,支持跨平台的异构分布系统集成,支持弹性ACID性质;扩展了IDL语言以定义事务性工作流中的补偿事务。

3) 土耳其中东大学开发的METUFlow系统:该系统提出了一种基于CORBA环境的工作流服务,包括基于ACTA扩展事务模型的工作流模型、块结构化定义语言、工作流调度管理和并发控制机制等。

工作流的许多概念来自于办公自动化、文档管理、计算机支持协同工作(CSCW)等领域。至今约有300个称为工作流工具的商品化软件,但只有数十个是真正的WFMS软件。一些著名的WFMS产品有:

1)IBM公司的FlowMark系统[9]该系统由对象数据库管理系统ObjectStore支持。主要组件包括服务器、建立客户器、运行客户器和程序执行客户器。服务器负责与数据库交互及协调工作流执行;建立客户器提供用于设计工作流的图形接口;运行客户器提供工作表方式的用户接口;程序执行客户器提供API调用方式的应用接口。

2)Action公司的ActionWorkflow系统该系统由微软的SQL服务器或Lotus Notes支持,包含三个基本组件:①管理系统内核用于集成和管理工作流事务;②分析器提供设计工作流的专门工具;③应用建立器用于将工作流定义转化成可执行的过程。此外,还提供辅助工具,如报表器用于查询工作流的进展状态。

3)Sigma图象系统公司的OmniDesk系统它使用提供ODBC接口的数据库。其中,路径管理器用于工作流管理和负载平衡;路径建立器用于定义路径逻辑;表格建立器用于创建工作流接口。虽然OmniDesk系统主要是为图象文档管理设计的,但是也可以管理其他类型的工作流。

4)Wang公司的OPEN/workflow系统该系统建立在自含的数据库引擎之上。系统分为数据库服务、图形过程建立器、集成工具箱、报表工具。数据库服务提供基本的完整性、安全性、并发控制、恢复和管理功能;图形过程建立器用于定义过程;集成工具箱提供应用之间交互需要的API调用和通信服务;报表工具如查询建立器和报表建立器用于访问有关过程执行的信息。

8.2 工作流应用技术的不足

实际上,大多数产品的开发由于没有清楚地理解用户的需求,而不能满足用户的迫切需要。许多工作流系统主要是解决共享和协作(某些问题仍未很好解决,如异构平台环境、多媒体数据),而像性能、可伸缩性、可靠性对于复杂应用系统来说至关重要的问题,现有工作流软件并没有考虑。主要原因是,这些系统的建立不是基于在线事务处理(OLTP)技术和数据库技术,只是使用数据库做底层存储,因而在这些领域缺乏技术成熟性和系统健壮性。

另外,由于已有的绝大多数WFMS产品和原型系统的设计是面向普通的办公室应用,因此存在以下不足:

1)工作流模型只能描述如办公自动化中电子邮件或文档等简单的工作流,而不能描述工程设计等复杂过程处理。

2)经营业务流程往往是复杂的异构环境,现有产品不能提供很好的互操作性。例如,在异构环境中,IBM的FlowMark不提供API接口以支持一个工作流的输出,作为下一个工作流的输入。

3)一个工作流可能涉及到多个单位和车间,或多个工厂和企业,例如,在虚拟制造应用中,可能包含成百上千个用户,覆盖广域网络中的数十个场地,上百台计算机系统。大多数现有工作流软件只是设计为一种协作工具,适用于小群体之间业务的工作流,在体系结构上存在缺陷,缺乏可伸缩性。

4)现代组织应用要求系统具备非常高的可用性和健壮性。现有工作流软件只适合于小团体和轻负载,缺乏有效的后备机制,不具备强的故障恢复能力。

为了进一步研究开发支持应用集成的CIMS工作流管理技术,我们认为,需要解决以下关键技术:

1)面向CIMS的工作流建模技术包括工作流模型和定义语言。如何采用弹性事务模型、分层事务模型和工程数据模型相结合的方法,设计出一种适合于CIMS工程应用的工作流模型。

2)基于CIMS信息集成平台的工作流管理系统体系结构CORBA软件总线提供了良好的平台透明性和分布透明性,以及分布对象操作能力,如何充分利用CORBA软件总线和信息集成平台,实现一个高效的工作流管理系统。

3)面向分布对象的工作流管理和执行技术CORBA软件总线系统提供了对象引用、启动和联编机制。工作流管理与执行机制需在此基础上完成作为对象任务的创建、调度、执行、提交或取消,保证工作流的正确性和可靠性。还需要考虑在CORBA软件总线上增加新的公共服务,如持久性对象仓储服务、故障恢复服务等。

4)面向CIMS目标产品的集成技术工作流管理系统是一种中间件技术,适合于任何计算机分布处理系统,在CIMS应用集成涉及的有关系统中,如PDM、MRPII等,都需要这方面的集成技术。

参考文献

[1] 林惠萍、范玉顺、吴澄 ,“支持企业经营过程重组的工作流仿真技术研究”,http://www.simflow.net

[2] 范玉顺 ,《工作流管理技术基础》 ,清华大学出版社 ,2001.4

[3] 陶冶、范玉顺、罗海滨 ,“分布式工作流系统的可靠性研究”,http://www.simflow.net

[4] 罗海滨 、范玉顺、吴澄 ,“工作流技术综述” ,http://www.simflow.net

[5] 范玉顺、吴澄,“基于工作流的CIMS应用集成支持系统研究” ,http://www.simflow.net

[6] 刘佚名、范玉顺 ,“基于工作流的企业过程的建模和仿真技术研究” ,http://www.simflow.net

[7] 范玉顺、吴澄,“基于协调理论的工作流建模方法” ,http://www.simflow.net

[8] 陶冶、范玉顺、罗海滨 ,“提高分布式工作流管理系统的可扩展性”,http://www.simflow.net

[9] 鲍震宁、范玉顺 ,“企业组织模型结构和建模方法研究” ,http://www.simflow.net

[10] 罗海滨 、范玉顺、吴澄 ,“一种面向企业用户的工作流模型” ,http://www.simflow.net


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织