摘要:Internet/Intranet应用的普及和Web技术的发展,为Web工作流管理系统的实现提供了一个理想的平台,而基于Web的工作流管理服务为异地办公及跨企业的合作提供了良好的基础,采用Web技术已成为新一代工作流管理系统的主要特征。本文研究开发的工作流管理系统原型将Web技术
与XML相结合,给出了基于xml的过程定义语言与工作流执行机的设计与实现方法。
关键词:工作流、工作流管理系统、XML,集成、工作流执行机
Abstract:The rapid growth of Internet/Intranet usage and development of Web technologies,provides a ideal platform to construct a Web_based workflow management.And the Web_based workflow management service provides condition for distributed working and inter-enterprise corporatin ,and it has become the characteristic of the next-generation workflow management.The WFMS prototype which this paper researched on combines the Web technologies and XML ,and provides a method of designing and implementing xml_based process definition language and workflow engine.
keywords:Workflow ,workflow management systems ,XML,Integration、Workflow Engine
1、引言
工作流的概念起源于生产制造业与办公自动化领域。工作流是一类能够完全或部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务在不同的执行者之间传递、执行。工作流的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本,提高企业生产经营管理水平和企业竞争力,实现现代企业经营过程重组(BRP)、经营过程自动化。
根据工作流系统所采用的任务项传递机制的不同,工作流管理系统主要有三种方式:(1)、基于文件的工作流管理系统——以共享文件的方式来完成任务。这种类型的产品是产生最早、发展最成熟、最具多样性的,通常包含有Client/Server模式的图像、文档与数据库管理系统。(2)、基于消息的工作流管理系统——通过用户的电子邮件系统来传递文档信息。这种产品都实现了一种或多种电子邮件系统的集成。(3)基于Web的工作流管理系统——随着计算机网络技术的发展和Internet应用的不断普及,Web技术因其界面的一致、简单及与平台的无关性,在其出现之后就得了迅速发展。同时Internet的发展及企业Intranet的建构为人们提供一个理想的协同工作环境,同时也使基于Web的工作流管理系统成为可能。
Web应用程序开放、跨平台的特性使基于Web的工作管理系统已经成为一种必然的发展趋势。但目前因为不同的研究者、厂商使用不同的工作流的描述方法,这样就造成了不同的工作流产品之间不能进行互操作,因而在很大程度上阻碍了工作流技术的推广与应用。
为了使工作流管理系统具有的良好的互操作性,本文研究开发了一个基于Web的工作流管理系统,其中工作流过程定义采用了基于XML的过程定义语言。XML是用来描述文档的组织结构,XML具有简单、自定义的优点,可以实现不同产商之间的工作流产品之间的互操作性,实现异构信息的集成。
本文首先介绍了当前工作流管理系统的一些相关概念,分析了在本系统中的一些关键技术,包括系统的体系结构,工作流模型中的主要实体的XML描述及工作流执行机的设计与实现等。
2、工作流管理系统的介绍
基于Web的工作流管理技术是实现企业协同工作环境的一个良好方法,它能方便的与企业内原有的应用、信息集成。
为了实现对业务过程的工作流管理,需要相应的软件系统的支撑。此种软件系统为工作流管理系统(Workflow Management System,WfMS)。根据WfMC 的定义,工作流管理系统是“一种在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统”,其主要目标是对业务过程中各活动发生的发后次序及同活动相关的相应人力或信息资源的调用,进行管理而实现业务过程的自动化。工作流的过程定义是指对业务过程的形式化表示,它定义了过程运行中的活动和所涉及到的各种信息。这些信息包括过程的开始和完成条件、构成过程的活动以及进行活动间导航的规则、用户所需要完成的任务、可能被调用的应用、工作流机的引用关系以及与工作流数据的定义。其中活动指的是工作流中的一个逻辑步骤;工作流实例指的是工作流的一次执行过程;工作流机是一个为工作流实例的执行提供运行服务环境的软件或“引擎”,它是工作流执行服务的核心,负责对解释过程定义、控制过程实例的执行、控制工作流中各个活动的执行顺序、并完成与其它工作流机的交互与通讯。
1994年11月,工作流管理联盟发布了工作流管理系统的参考模型(见图1),该模型定义了一个基本的工作流管理系统所需要的6个基本模块,并制定了各模块之间的接口标准。其基本的模块功能如下:
1) 过程定义工具:为用户提供一种对实际业务过程进行分析、建模的手段,并生成业务过程的可被计算机处理的形式化描述。
2) 工作流执行服务:它借助于一个或多个工作流机,激活并解释过程定义的全部或部分,并同外部的应用程序进行交互,完成工作流过程实例的创建、执行与管理,为工作流程的运行提供一个运行时环境。
3) 其他工作流执行服务:在大型的WfMS中,工作流可能需要多个工作流机共同完成,甚至需要其他异质的工作流执行服务来辅助来完成,这涉及到WfMS系统之间的互联。
4) 客户应用程序:它给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务。每一个这样的任务就被称为一个工作项。WfMS为每一个用户维护一个工作项列表,它表示当前需要该用户处理的所有任务。
5) 被调应用程序:指工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。在过程定义中包含这种应用程序的详细信息,如类型、地址等。
6) 管理及监控工具:其功能是对WfMS中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等。
工作流模型:工作流模型包括过程模型、组织模型和信息模型。它为执行服务提供和解释模型。
执行服务:按照模型创建过程实例,根据过程流转规则推进过程,处理过程及活动的状态,维护工作流控制数据及相关数据。
数据服务:存取数据源,为引擎提供数据访问服务。
引擎运行体:为使引擎在服务器操作系统启动后无人干预的情况下自动启动运行,使用操作系统服务来驱动引擎的运转。
3.管理和监视工具及应用服务设计
系统参与者调用管理和监视工具观察业务流程的执行进度,工作流管理系统或参与者调用应用服务完成相应的业务。工作流管理界面通过调用工作流引擎的工作流管理功能接口方法,完成对工作流实例和工作流包含活动的监控功能,接口方法包括:创建工作流实例,并为工作流相关数据赋值;启动工作流实例;
挂起 / 恢复工作流实例;中止工作流实例的运行;删除工作实例;查询、监视工作流实例运行的情况;工作流实例执行中的异常情况处理。
应用服务主要是完成人机交互和应用的执行。在系统设计过程中,根据用户职责的不同将其分为过程创建者、系统管理员、一般用户三种。过程创建者主要负责流程的定义建模,一般由业务人员与技术人员结合组成;系统管理员负责监控整个系统的运行,包括对系统的配置和维护,以及对系统中执行的过程监视和控制;一般用户是人工活动的执行者,系统为其分配任务、给予指示,配合完成流程的执行。工作流管理实施的三个阶段如图2所示:
结束语
本文以工程项目管理系统为背景,分析了工程项目管理的特点,将项目管理理论、工作流管理技术和Web技术相结合,给出了基于Web的工作流管理系统的设计和实现方法。
通过基于WEB工作流管理系统的设计与实现,将业务过程逻辑从具体的业务实现中分离出来,以不修改具体功能而只修改过程模型来改变系统功能,较好的解决了工程项目管理中业务流程多样化和不确定性带来的问题,实现了对业务流程过程的集成管理。通过应用该系统,加强了业务处理流程的透明度,提高了工作效率,有较强的实际意义和应用价值。
CIO之家 www.ciozj.com 公众号:imciow