跨组织工作流管理关键技术研究∗
2017-08-01曾扬贲可荣雷义伟
曾扬 贲可荣 雷义伟
(1.海军工程大学计算机工程系武汉430033)(2.91245部队葫芦岛125001)
跨组织工作流管理关键技术研究∗
曾扬1贲可荣1雷义伟2
(1.海军工程大学计算机工程系武汉430033)(2.91245部队葫芦岛125001)
随着网络技术发展,当前企业应用呈现出异构、松耦合和动态性特征,企业整体业务目标需要跨组织协同完成,导致传统集中式工作流管理方式在实现系统的可扩展性、可伸缩性和可用性等方面存在不足。为此,论文提出一种分布式工作流框架,为不同组织设置独立的工作流管理系统,并通过工作流管理系统间的协同交互实现网络环境下的跨组织工作流管理。
工作流;工作流管理系统
Class NumberTP311.15
1 引言
工作流是指能够全部或部分自动化执行的业务流程,其文档、信息和任务能够按照预定义规则在执行者之间进行传递[1]。工作流管理系统(Workflow Management System,WFMS)用于定义、创建工作流以及管理流程执行过程,并通过其内部工作流引擎按照预先设计好的工作流逻辑自动化解析、执行工作流实例[2]。
由上述定义可知,工作流管理系统在实现工作流定义、运行、管理、监控以及分析执行过程等方面起着重要作用。文献[3]对常见的JBPM工作流管理系统进行了研究,结合铁路线路故障报修系统实例,阐述了主要设计思路和实现关键技术。文献[4]将JBPM工作流引擎用于实现办公自动化系统,利用该引擎基于UML活动图的流程设计特点,降低用户与开发人员之间的沟通难度以及流程实现难度。文献[5]提出了一种基于Web的工作流引擎设计方案,以XML过程定义语言定义业务流程,采用J2EE架构构建系统,并详细介绍了工作流管理系统设计过程。文献[6]为使工作流管理系统具有动态适应能力,提出一种基于Web的柔性工作流设计方法,并给出了柔性工作流引擎的动态适应策略。文献[7]针对现有工作流系统集成中存在的不足,提出了一种面向服务集成的工作流模型,实验表明基于该模型的系统具有较好的性能。文献[8]提出了一种元数据驱动的工作流引擎技术,活动之间不直接关联,而是通过改变相关的元数据使工作流在具体执行过程中形成流程,从而实现弹性工作流管理。
以上研究将工作流管理系统应用于具体领域,并对已有技术进行了相应改进,提高了企业工作效率,使工作流管理技术得到一定程度发展。然而,随着企业信息系统网络化,企业业务目标的实现越来越依赖外部其他参与者,因此构成工作流的任务分布于各个不同的组织中,这种松耦合、异构和动态环境给上述集中式工作流管理方式带来挑战。针对该问题,本文提出一种分布式工作流管理系统框架,其中位于不同组织的工作流管理系统对各自内部任务的执行过程进行管理,系统之间通过共享工作流信息进行交互,以达到共同实现企业业务目标的目的,进而实现网络环境下跨组织工作流管理。
2 工作流管理系统参考模型
工作流管理联盟(Workflow Management Coali⁃tion,WfMC)于1994年提出了工作流管理系统的参考模型[9],工作流管理系统供应商此后基于该模型开发出了各自产品,如Shark、ActionWorkflow、JB⁃PM等[10]。工作流管理系统参考模型如图1所示,它主要由下列五部分组成。
图1WfMC工作流管理系统参考模型
1)工作流定义模块:工作流开发人员将其用于设计工作流业务逻辑或工作流模板。
2)工作流执行服务模块:在工作流执行过程中被用来分析、解析工作流业务逻辑,创建并执行工作流实例,主要包括内部工作流执行服务和外部工作流执行服务,其核心为工作流引擎。
3)工作流管理模块:对工作流实例执行过程进行监测,对过程中所需资源进行管理,以及采取必要措施保证工作流执行质量和性能。
4)客户端程序:为用户提供交互界面,当工作流程中存在需要用户执行的任务时使用户能够加入工作流过程。
5)被调用程序:提供外部程序调用接口,当工作流需要外部程序提供的服务时,能够执行外部程序。
尽管WfMC工作流管理系统参考模型提供了外部工作流执行服务接口,工作流管理系统可通过该接口调用执行外部工作流,但系统内外工作流的执行过程均由系统内部工作流管理模块来控制。由此可知,在该参考模型基础上开发的工作流管理系统为集中管理方式,当企业应用处于动态、异构和松耦合环境中时,采用该类管理方式的工作流管理系统具有其局限性。
3 分布式工作流管理系统框架
为监测、分析和控制跨组织工作流的执行过程,本文在WfMC工作流管理系统的基础上,提出了一种如图2所示的分布式工作流管理系统框架。该框架中各工作流管理系统分别位于不同的组织,它们各自独立自主地管理着其内部工作流的执行过程。当系统执行过程涉及到跨组织工作流时,由流程中任务所涉及的分系统协同完成,以此实现对工作流的非集中管理。分布式工作流管理系统框架主要由下列六部分组成:
1)客户端程序接口:用来接收客户端程序发来的工作流请求,并在工作流执行完成后,向用户返回业务结果。
2)工作流定义模块:供开发者用于设计工作流业务逻辑或工作流模板。
3)工作流解释模块:负责解析预定义的工作流业务逻辑或模板,生成待完成任务队列,并管理任务执行过程中的状态信息。
图2分布式工作流管理系统框架
4)任务指派模块:是对工作流管理系统的一个重要扩展,用来将跨组织工作流中的任务,按照其业务功能指派给不同的工作流管理系统去完成,从而实现跨组织工作流的协同执行。
5)程序调用接口:为系统提供调用外部程序或服务的接口。
6)外部工作流管理系统接口:为系统提供同其他工作流管理系统进行交互的接口,用于接收其他工作流管理系统发来的任务请求,或向其他工作流管理系统指派任务。
4 基于任务指派的分布式工作流管理技术
对于本文所提出的分布式工作流管理系统的各组成部分,任务指派模块是实现跨组织工作流管理的关键。任务指派模块通过分析工作流中任务之间的依赖关系,将工作流按照依赖关系分解为多个子工作流,分别指派给不同的工作流管理分系统去实施,从而实现对跨组织工作流的分布式管理。
4.1 工作流、任务及其依赖关系的形式定义
对跨组织工作流的分布式管理基于各工作流管理系统之间的交互,因此需要构建系统之间可共享的工作流信息,为此本文给出了任务、依赖关系和工作流的形式定义。
定义1工作流:工作流W形式上可定义为W=<T,D,E,J>,其中T为W中任务集合,D为任务之间依赖边集合,E为任务依赖边上表达式集合,J为依赖边之间连接关系集合。
定义2任务:任务t形式上可定义为t=<A(t),Op(t),I(t),O(t)>,其中A(t)为执行任务t的主体,Op(t)为完成任务t需要执行的活动集,I(t)为任务t的输入变量集,O(t)为任务t的输出变量集。
定义3依赖关系:任务ti到tj的依赖关系di,j形式上可定义为di,j=<ti,ei,j,tj>,其中ti,tj∈T,ei,j∈E,ti为依赖关系的源任务节点,ei,j表示依赖关系的依赖表达式,tj表示关系的目的任务节点。系统在执行依赖关系的目的任务前,将检查当前状态是否满足依赖表达式ei,j,以确定当前是否从执行源任务转变为执行目的任务。
任务之间的依赖关系构成任务依赖边,当某一任务被多个任务依赖时,可使用分离关系表示依赖边之间的逻辑关系;当某一任务同时依赖于多个任务时,可使用汇合关系表示依赖边之间的逻辑关系。分离关系和汇合关系均包含“与”和“或”两种类型,“与”分离同“与”汇合以及“或”分离与“或”汇合总是成对出现,分别表示工作流分支的并发关系和选择关系。
图3为两种分离-汇合关系示意图:图3(a)为与分离-汇合关系示意图,表示任务D的前继任务B和C均完成时,任务D才能开始执行;图3(b)为或分离-汇合关系示意图,表示任务D的前继任务B、C至少有一个完成时,任务D即可开始执行。
图3两种分离-汇合关系
4.2 基于依赖关系的任务指派
当前任务所属组织的工作流管理系统在完成该任务后,需检查该任务的后置条件,以确定该任务是否正确完成,并通过分析与该任务存在依赖关系的后继任务,确定下一步需要指派的任务。系统对跨组织工作流中任务进行指派时,需检查该任务的前提条件,以确定当前系统状态是否满足任务的执行条件。
定义4前提条件、后置条件:任务t的前提条件Pre(t)为系统执行t时必须具备的条件;任务t的后置条件Post(t)为t完成后其输出所能满足的条件。
任务tj的前提条件Pre(tj)和与其存在依赖关系的前继任务ti,ti+1,…,ti+n(n≥0)的后置条件以及tj处的分离-汇合类型有关,因此Pre(tj)可根据任务依赖表达式以及tj处的分离-汇合类型等信息计算得到。任务tj的前提条件Pre(tj)的计算方法如下:
1)与分离-汇合点上任务tj的前提条件的计算式为
其中,ei,j,ei+1,j,…,ei+n,j分别为与任务tj存在依赖关系的前继任务ti,ti+1,…,ti+n到任务tj的依赖表达式。
2)或分离-依赖汇合点上任务tj的前提条件Pre(tj)的计算式为
其中,ei,j,ei+1,j,…,ei+n,j分别为与任务tj存在依赖关系的前继任务ti,ti+1,…,ti+n到任务tj的依赖表达式。
任务ti的后置条件Post(ti)由ti执行后的输出确定,即由ti的业务功能决定。
定义5工作流划分:假设任务ti为当前任务,与ti存在依赖关系的后继任务为tj,tj+1,…,tj+n(n≥0),则当ti完成时,工作流中任务的剩余部分可划分为:Pj={tj}∪Tj,Pj+1={tj+1}∪Tj+1,…,Pj+n={tj+n}∪Tj+n,其中,Tj,Tj+1,…,Tj+n分别为从tj,tj+1,…,tj+n可达任务构成的任务集合。
工作流划分的一个重要作用为:当前工作流管理系统进行任务指派时,将包含该任务的工作流划分交付给该任务所属组织的工作流管理系统进行管理,从而实现对跨组织工作流的协同管理。例如,与任务ti存在依赖关系的后继任务为tj,tj+1,…,tj+n,则当任务ti完成时,ti所属组织的工作流管理系统M(ti)将tj,tj+1,…,tj+n分别指派给M(tj),M(tj+1),…,M(tj+n)去完成,同时将工作流划分Pj,Pj+1,…,Pj+n交付给M(ti)与M(tj),M(tj+1),…,M(tj+n)管理。
基于任务指派和工作流划分可给出跨组织工作流管理算法。该算法如算法1所示。在工作流管理初期,整个工作流管理系统作为一个划分(行1)。若工作流划分中首任务节点ti处为与分离-汇合,则检查与ti存在依赖关系的所有后继节点任务前提条件是否均满足,若不满足则表明存在后继节点任务不具备执行条件,即工作流不能够正常完成(行2-8)。若与ti存在依赖关系的所有后继节点任务前提条件均满足,则计算以各后继节点任务为首任务的划分,将后继任务和包含该任务的划分分别指派和交付给相应工作流管理系统去执行和管理(行9-12)。若工作流划分的首任务节点ti处为或分离-汇合,则检查前提条件满足的任务,并分别计算以上述任务为首任务的划分,将任务和包含该任务的划分分别指派和交付给相应工作流管理系统去执行和管理(行13-17)。递归对剩余未完成工作流进行协同管理,当剩余工作流全部执行完时,工作流管理过程结束(行18-19)。
算法1跨组织工作流管理算法
1 InterManage(W){//输人工作流W
2 PartitionPi=W;//初始时划分为W
3 if(Pi=∅){//划分中有未完成任务
4 Taskti=FirstTask(Pi);//读取划分的首任务
5if(split_type(t)==AND){//与分离-汇合类型
6foreach(Tasktjwheretjdepends onti){
7if(Pre(tj)==false)//任务tj前提条件不满足
8return false;//作流无法正常完成
9else{
10Pj={t|t is reached fromtj}由tj可达的任务集
11Dispatch(M(tj),tj);//将tj指派给M(tj)执行
12Deliver(M(tj),Pj);}}}//将Pj交付给M(tj)管理
13else{//或分离汇合类型
14foreach(Tasktjwheretjdepends onti&&Pre(tj)= true){
15Pj={t|t is reached fromtj};
16Dispatch(M(tj),tj);//将tj指派给M(tj)执行
17Deliver(M(tj),Pj);}}}//将Pj交付给M(tj)管理
18InterManage(Pj);}//递归划分工作流
19 else return true;}//当工作流执行完毕时,管理过程结束
5 结语
针对已有集中式工作流管理方式在管理跨组织工作流方面存在的不足,本文提出了一种分布式工作流管理框架。为实现各种不同组织的工作流管理系统之间的交互,给出了任务、依赖关系和工作流的形式定义。通过分析任务之间的依赖关系以及依赖关系边之间的分离-汇合类型,将系统工作流划分为多个子工作流,分别交付给相应的工作流管理系统执行和管理,从而能够实现对跨组织工作流的分布式协同管理。
[1]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907. ZHOU Luobin,FAN Yushun,WU Deng.Overview of Workflow Technology[J].Journal of Software,2000,11(7):899-907.
[2]Meng Fanbo,Jin Minli,Peng Wuliang.A Business Process Management System based on Workflow Technologies[C]// Proceedings of the Third International Conference on Intel⁃ligent Networks and Intelligent Systems,Shenyang,China,2010:168-172.
[3]许爱军.JBPM工作流管理系统的研究与实现[J].计算机技术与发展,2013,23(12):100-108. XU Aijun.Research and Realization of Workflow Manage⁃ment System[J].Computer Technology and Development,2013,23(12):100-108.
[4]金达文.JBPM工作流引擎在OA系统中的应用[D].北京:北京邮电大学,2007. JIN Wenda.The Application of JBPM Workflow Engine in OA Systems[D].Beijing:Beijing Post University,2007.
[5]张洪山,殷人昆,张素琴.基于Web的工作流引擎设计[J].计算机工程,2004,30(4):83-85. ZHANG Hongshan,YIN Renkun,ZHANG Suqin.Design of Workflow Engine Based on Web[J].Computer Engi⁃neering,2004,30(4):83-85.
[6]路春光,孟丽丽,郝立文,等.基于Web的柔性工作流引擎的设计[J].微计算机信息,2006,22(5):21-23. LU Chunguang,MENG Lili,HAO Liwen,et al.Design of Flexible Workflow Engine Based on Web[J].Microcom⁃puter Information,2006,22(5):21-23.
[7]张型龙,李松犁,肖俊超.面向服务集成的工作流模型及其实现方法[J].计算机应用,2015,35(7):1993-1998. ZHANG Xinglong,LI Songli,XIAO Junchao.Service Inte⁃gration-Oriented Workflow Model and Implementation Method[J].Journal of Computer Applications,2015,35(7):1993-1998.
[8]熊道德,焦永杰,吴东峰.元数据驱动的工作流引擎技术[J].制造自动化,2015,37(7):143-145. XIONG Daode,JIAO Yongjie,WU Dongfeng.The Technol⁃ogy of Workfl ow Engine Based on Metadata[J].Journal of Automatic Manufacture,2015,37(7):143-145.
[9]Hollingsworth D.The Workflow Reference Model[DB/ OL].http://www.wfmc.org,1994.
[10]范玉顺,吴澄.工作流管理技术研究与产品现状及发展趋势[J].计算机集成制造系统,2000,6(1):1-7. FAN Yushun,WU Cheng.Current State and Develop⁃ment Trends of Workflow Management Research and Products[J].Computer Integrated Manufacturing Sys⁃tems,2000,6(1):1-7.
Research on Inter-Organization Workflow Management Techniques
ZENG Yang1BEN Kerong1LEI Yiwei2
(1.Department of Computer Engineering,Naval University of Engineering,Wuhan 430033)(2.No.91245 Troops of PLA,Huludao125001)
With the development of network technology,current enterprise applications present the characteristic of heteroge⁃neous,loose coupling and dynamic,and the global business goals need to be collaboratively achieved by inter-organizations,which leads to defections of centralized workflow management pattern to realize the system scalability,flexibility and usability.Therefore,this paper presents a decentralized workflow management framework,which sets independent workflow management system for each organizations,and realizes the inter-organization workflow management in the network environment by collaborative interactions be⁃tween different workflow management systems.
workflow,workflow management system
TP311.15
10.3969/j.issn.1672-9722.2017.07.032
2017年1月1日,
2017年2月13日
曾扬,男,硕士研究生,研究方向:软件质量保证技术。贲可荣,男,博士,教授,研究方向:软件工程和人工智能。雷义伟,男,博士,工程师,研究方向:计算机网络。