工作流在企业业务流程管理中的应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第31卷第2期苏 州 大 学 学 报(工 科 版)Vol 31No.2 2011年4月J O URNAL OF SOOCHO W UN I V ERS I TY(ENG I NEERI NG SCIENCE EDI T I ON)Apr.2011
文章编号:1673-047X(2011)-02-0075-06
工作流在企业业务流程管理中的应用研究
刘亚军
(明基逐鹿软件(苏州)有限公司,江苏苏州215006)
摘 要:近年来,企业在信息化建设上投入了大量的人力和物力,力图提高企业效率,提升企业竞争力,然而无论是ERP(企业资源计划)、CRM(客户关系管理)、PD M(产品数据管理),还是C I M(计算机集成制造),都脱离不开工作流技术。工作流技术在解决企业信息孤岛,加快企业业务流程重组方面有着显著的作用。结合多年企业应用经验,深入研究了工作流管理系统中工作流模型,提出了工作流引擎的预解析处理,提升了工作流引擎和业务流程的执行效率。
关键词:工作流;工作流系统;业务流程重组
中图分类号:O159 文献标识码:A
0 引 言
随着时代的发展和技术的进步,工作流管理系统不再仅局限于办公管理系统,已经涉及到了制造、销售等核心领域,与ERP、CRM、C I M等业务系统的关联也越来越紧密。企业中不可避免地存在很多已有的应用系统,分布在不同的软件平台,采用不同的开发工具和语言。工作流必须支持对这些异构软件的集成,从而构建企业级的业务平台。
工作流管理系统是以计算机支持的分布式、协同工作业务流程的自动或半自动化为研究目标的软件系统。随着计算机网络,特别是Inter net/Intranet的迅猛发展和应用,计算机支持的分布式、协同工作的工作流系统在企、事业单位中的地位显得越来越重要,有着广阔的前景。
1 工作流技术综述
1.1 工作流的提出
工作流来源于办公自动化领域,是针对日常工作中具有固定程序的活动而提出的一个概念,通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好地控制过程、增强对客户的服务、有效管理业务流程等目的[1]。
1.2 工作流定义
1993年工作流管理联盟(W orkflo w M anage m en t Coaliti o n,W F M C)作为工作流管理的标准化组织而成立,标志着工作流技术逐步走向成熟。W F M C对工作流给出的定义为:工作流是一类能够完全或者自动执行的经营过程,根据一系列过程规则、文档、信息或任务在不同的执行者之间进行传递与执行。
1.3 工作流系统定义
对于工作流管理系统,W F MC给出的定义是:工作流管理系统是一个软件系统,它能完成工作流的定义和管理,并按照在计算机中预先定义好的工作逻辑推进工作流实例的进行。
工作流管理系统包括三个主要功能,其结构关系如图1所示。
收稿日期:2011-01-19
作者简介:刘亚军(1978-),男,助理工程师,主要研究方向为软件工程。
76
苏州大学学报(工科版)第31卷
图1 工作流管理系统三个主要功能之间的关系
过程设计与定义模块主要通过工作流建模工具完成业务流程的模型建立,将实际的业务操作流程转为计算机可模拟处理的工作流模型;过程实例化与控制模块负责装载流程定义,将流程进行实例化,为具体业务流程办理提供工作流相关数据和工作流控制数据,并为业务流程的办理提供所需资源,控制流程实例的运行状态;人机交互模块主要完成业务流程的执行,重点是完成人机交互和系统内部应用或外部应用程序的调用。
1.4 工作流参考模型
W F M C提出的工作流系统参考模型包括五个接口与工作流运行控制器,其结构如图2所示。
图2 WM FC工作流系统参考模型
接口1是工作流定义交换接口,用于在建模和定义工具与执行服务之间交换工作流定义;接口2是工作流客户端应用接口,用于工作流客户端应用访问工作流引擎和工作列表,通过WAPI完成;接口3是被调用的应用接口,用于调用不同的应用系统;接口4是工作流系统互操作接口,用于不同工作流系统之间的互操作;接口5负责系统管理和监控,用于系统管理应用访问工作流执行服务。
2 工作流管理系统的设计及实现
为了实现企业业务流程的过程逻辑和应用逻辑的分离,工作流管理系统逻辑上包含两个部分,即工作流平台和表单应用集。
工作流平台由工作流引擎以及其他相关接口服务构成,负责提供业务流程运行的各种接口和服务,与具体的业务流程没有关系,只是负责过程逻辑的定义、解析、执行、监督和管理。
第2期 刘亚军:工作流在企业业务流程管理中的应用研究77
表单应用集由各种表单应用构成,涉及到各个业务模块。通过表单,对企业各类业务流程进行整合。一个表单通常是由一个或者多个角色,按照一定的顺序,伴随着业务的发展逐步填写完成的,而且企业的一个业务流程,往往需要处理多种表单或文档。对这些表单或者文档处理的衔接关系就体现了企业的业务流程。表单是不同业务抽象对象流程与数据的载体,系统通过表单将流程信息和结果数据进行交换,实现大业务流程的智能化管控,通过对表单数据格式以及业务流程的定义,可以定义企业各业务系统之间的数据交互和流程走向。
2.1 流程建模
工作流模型是企业业务流程所包含的任务体及其执行规则有序集的一种形式化表示[2]。一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述[3]。
在实际企业应用中,表单设计人员通过表单设计工具和流程设计工具完成表单的建模过程。通过表单设计工具建立表单业务数据结构,并完成表单的页面设计;通过流程设计工具完成表单的流程建模过程,设定其开始和结束条件,添加各种中间活动以及活动的分支条件和参与者。
流程模型包括四要素:活动(Phase)、活动分支(Phase Ru le)、分支条件(Conditi o n)、参与者(Participant)。活动是工作流中一个逻辑步骤或环节的工作任务,是同一类型任务的抽象集合体。活动分支是活动的子集,一个活动可以存在很多的活动分支,每个活动分支分别包含一条分支条件和参与者定义。参与者则通过任务参与业务流程的实际运作,参与者可以是人也可以是程序。
在实际表单应用中,不同的表单实例、不同的活动分支条件决定了业务流程的不同走向,导致实际过程执行中会应用不同的规则。
2.2 工作流引擎
工作流引擎是工作流系统的核心,为工作流实例提供运行时期的执行环境的软件服务器或引擎,也叫工作流机[4]。主要完成如下任务:
装载表单流程定义;
解释表单流程定义,并将流程定义存储在不同的对象实例中;
控制表单流程实例创建、激活、挂起、终止等;
解析分支条件,为流程进行导航,控制其并行或串行操作;
产生工作列表,提供接口,支持用户交互;
响应参与者的交互指令;
存储和传递工作流控制数据及相关数据。
在实际企业应用中,线性的工作流程占总流程的80%以上,相对于W F M C的工作流标准,为了提升业务流程的执行效率,在系统设计之初就将活动分为两种:静态活动(Static Phase)和动态活动(Dyna m ic Phase)。静态活动在流程实例化的完成后就可以进行预解析,产生工作列表;相对于静态活动,动态活动往往在业务流程实例运行过程中人工参与指定或依据实际的控制数据才可以决定后面的业务流程走向。
工作流引擎在接到实例化的请求,装载表单的流程定义后会进行预解析,生成预处理工作列表,其解析逻辑如图3所示。