软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx

上传人:b****6 文档编号:8409108 上传时间:2023-01-31 格式:DOCX 页数:50 大小:665.81KB
下载 相关 举报
软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx_第1页
第1页 / 共50页
软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx_第2页
第2页 / 共50页
软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx_第3页
第3页 / 共50页
软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx_第4页
第4页 / 共50页
软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx

《软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx(50页珍藏版)》请在冰豆网上搜索。

软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现.docx

软件工程硕士论文基于Activiti的工作流管理系统的设计与实现

分类号TP311密级

UDC编号10486

 

武汉大学

工程硕士专业学位论文

 

基于Activiti的工作流管理系统的设计与实现

 

指导教师姓名、职称:

 

二○一三年五月

 

DesignandImplementationofaWorkflowManagementSystembasedonActiviti

 

By

 

May,2013

 

郑重声明

本人的学位论文是在导师指导下独立撰写并完成的,学位论文没有剽窃,抄袭,造假等违反学术道德,学术规范和侵权行为,本人愿意承担由此而产生的法律后果和法律责任,特此谨慎声明。

 

学位论文作者:

2013年月日

摘要

现在计算机已经成为我们生活中不可缺少的一部分,对于企业来说,办公自动化系统(OfficeAutomation,简称OA),企业资源计划(EnterpriseResourcePlanning,简称ERP)系统以及其他信息系统极大的提高了人员的工作效率和企业的资源使用效率。

很多的国内企业投入了巨大的成本来建设自己的OA系统、ERP系统以及目前非常流行的SOA系统,但是有不少企业在使用这些系统的时候发现,并没有从整体上提升企业的执行效率、资源的使用效率和企业的利润效益,这些企业往往面临以下的问题:

企业快速扩张,但是人员缺乏有效的沟通;工作流程复杂繁琐,层次不清晰;流程与实际情况脱节,难以操作;流程缺乏灵活性,难以调整;流程的执行过程,难以记录评估等等。

业务流程管理(BusinessProcessManagement,简称BPM)就是为了解决上述问题产生的,业务流程管理是指通过对企业内部及外部的业务流程的整个生命周期进行规划设计、自动化、管理监控和优化,从而使企业的整体效益和利润得以提升的一门学科。

通过工作流管理系统((WorkflowManagementSystem,简称WFMS)可以完成企业业务流程整个生命周期的所有工作,而作为WFMS的核心,工作流引擎一直被各大软件厂商所关注和重视。

目前国内已经出现了一些国产工作流软件,但是相比于几大主流的工作流引擎,仍然有不小的差距。

Activiti作为一款优秀的轻量级BPMN2.0规范工作流程引擎,性能卓越,易与Spring框架集成,方便开发人员使用。

本文旨在通过研究Activiti的基础之上,设计和实现一款轻量级,性能优秀,易于使用的工作流管理软件,具有很高的实用价值和现实意义。

 

关键词:

工作流工作流引擎Activiti

 

Abstract

Nowthecomputerhasbecomeanindispensablepartinourlife.Forenterprises,Theofficeautomationsystem(OfficeAutomation,referredtoasOA),enterpriseresourceplanning(EnterpriseResourcePlanning,referredtoasERP)systemandotherinformationsystemgreatlyimprovestheefficiencyofpersonnel'sworkingefficiencyandtheenterpriseresourceuse.

ManydomesticenterprisesinvestedahugecosttobuildtheirownOAsystem,ERPsystemandSOAsystem,Butmanyenterprisesfoundthatitdosenotenhancetheexecutionefficiency,resourceusingefficiency,anddoesnotincreasetheprofitofenterpriseafterusingthesystem.Theseenterprisesusuallyfacethefollowingproblems:

theenterprisesisexpandingrapidly,buttheylackofeffectivecommunication;workprocessiscomplicated,andorganizationlevelisnotclear;planisnotaccordwiththeactualsituation,difficulttooperate;processlackofflexibility,difficulttoadjust;theprocessexecutionisdifficulttorecordandevaluationetc.

Businessprocessmanagement(BusinessProcessManagement,referredtoasBPM)isinordertosolvetheseproblems.Businessprocessmanagementreferstotheplanningdesign,automation,managementandoptimizationoftheinternalandexternalbusinessprocessesthroughoutthelifecycle,sothattheoverallefficiencyofenterprisesandtheprofitisadisciplineofascension.Workflowmanagementsystem(WorkflowManagementSystem,referredtoasWFMS)providesbusinessprocessesthroughoutthelifecycleofthecompletesolution,AsthecoreofWFMS,workflowengineisalwaysconcernedbyallmajorsoftwarevendors.

Atpresent,therehavebeensomechieseworkflowsoftware,butcomparedtoseveralforeignmainstreamworkflowengines,thereisahugegapbetweenthem.ActivitiisanexcellentlightweightBPMN2.0workflowengine,withexcellentperformance,easytointegratewiththespringframework,convenientfordeveloperstouse.ThepurposeofthispaperistostudyonthebasisofActiviti,thedesignandimplementationofalightweight,excellentperformance,easytouseworkflowmanagementsystem,andhasgreatpracticalvalueandrealisticsignificance.

Keywords:

Workflow,WorkflowEngine,Activiti

第一章引言

1.1研究背景和意义

现在计算机已经成为我们生活中不可缺少的一部分,对于企业来说,办公自动化系统(OfficeAutomation,简称OA),企业资源计划(EnterpriseResourcePlanning,简称ERP)系统以及其他信息系统极大的提高了人员的工作效率和企业的资源使用效率。

很多的国内企业投入了巨大的成本来建设自己的OA系统、ERP系统以及目前非常流行的SOA系统,但是有不少企业在使用这些系统的时候发现,并没有从整体上提升企业的执行效率、资源的使用效率和企业的利润效益,这些企业往往面临以下的问题:

企业快速扩张,但是人员缺乏有效的沟通;工作流程复杂繁琐,层次不清晰;流程与实际情况脱节,难以操作;流程缺乏灵活性,难以调整;流程的执行过程,难以记录评估等等。

业务流程管理(BusinessProcessManagement,简称BPM)就是为了解决上述问题产生的,业务流程管理是指通过对企业内部及外部的业务流程的整个生命周期进行规划设计、自动化、管理监控和优化,从而使企业的整体效益和利润得以提升的一门学科[1]。

通过工作流管理系统((WorkflowManagementSystem,简称WFMS)可以完成企业业务流程整个生命周期的所有工作,而作为WFMS的核心,工作流引擎一直被各大软件厂商所关注和重视。

目前国内已经出现了一些国产工作流软件,但是相比于几大主流的工作流引擎,仍然有不小的差距。

Activiti作为一款优秀的轻量级BPMN2.0规范工作流程引擎,性能卓越,易与Spring框架集成,方便开发人员使用。

本文旨在通过研究Activiti的基础之上,设计和实现一款轻量级,性能优秀,方便使用的通用工作流软件,具有很大的实用价值和现实意义。

1.2工作量引擎发展现状

目前各大软件厂商均推出了自己的工作流软件,市场占有率最高的是IBM的WebsphereMQWorkflow系列产品,产品的可伸缩性和容错性使得它可以充分发挥多处理引擎和群集的优势,并且方便用户快速构建和部署。

MQWorkflow有如下特点:

过程执行速度更快;自动生产方式提高了生产率;帮助用户节省成本;提高过程执行的品质;使用ISO9000标准来进行过程处理。

另一款比较有代表性的工作流管理软件是Oracle公司推出的OracleWorkflow产品,该产品提供了自动化的任务管理和个性化的工作列表以及邮件等工具,实现了高效率的用户协作,工作流管理器实现了对工作流状态的全过程监控,方便用户对流程进行完善和优化,实现业务流程的智能化。

微软公司的MicrosoftBiztalkServer是针对大中型企业推出的服务器产品,目前在市场上占有较高的份额,功能包括业务流程管理、业务流程自动化、企业应用的集成以及不同企业之间的系统集成。

Biztalk的主要特点有:

提供了图形化的流程定制界面,方便用户的使用;提供了功能强大的图形化的流程监控界面,便于用户查看流程运行状态;支持流程持久化;支持各种不同的工作流模式。

以上的几款工作流引擎一般作为整体解决方案的一部分存在,除此之外还有为数众多的开源工作流引擎。

比较典型的有JBPM,OpenWFE,EnhydraShark,Activiti等。

2004年10月18日,JBPM成为JBoss公司的企业中间件大家庭中的重要一员,目前最新版本为5.4版本,可以从JBPM官网上免费获取。

它支持BPEL语言,覆盖了业务流程管理、工作流、服务协作等多个领域,可以部署在所有标准的J2EE架构的企业应用系统当中。

Activiti是一款开源的、灵活的、易扩展的可执行流程语言框架,它由JBPM的创始人TomBaeyens发起,并由许多开源组织结构成员共同完成。

Activiti可以运行在任何部署在服务器、集群、云计算中心上的Java程序当中,具有良好的发展前景。

国内比较有代表性的工作流管理软件有普元软件的EOS、方正飞鸿BPMES平台、StarFlow等等,相比于国外的工作流引擎软件,国内的软件具有界面友好、使用方便等特点,但是在性能和功能上与国外相比还有不小的差距,因此还有很大的改进和发展空间。

1.3论文研究目的和特色

本文主要解决的问题是:

第一:

基于WEB的图形化流程设计器的设计。

流程开始的第一步是进行流程定义,流程设计器是否美观易用已成为工作流引擎成功的关键。

系统拟采用Flex技术,在浏览器中实现图形化流程设计器,客户无需安装任何客户端就可以访问系统进行流程设计、配置和管理。

第二:

流程引擎的设计。

作为Activiti项目的核心底层组件,Activiti的核心引擎,采用的是目前较为先进的流程虚拟机(PVM)技术来实现,它可以直接运行原生的BPMN2.0规范格式的流程定义,是业内目前第一个也是唯一一个从建模到执行,完全按照BPMN2.0规范进行实现的BPM项目[2]。

在Activiti核心引擎的基础上进行实现,可以保证我们系统的性能和广泛应用。

核心引擎还提供了事件监听器功能和活动定制功能,时间监听器让引擎可以直接执行一个动作。

Activiti引擎实现了对BPMN的支持,有很多可以直接使用的活动类型。

第三:

规则引擎的设计。

流程引擎的核心是要按照某种预定的规则进行流程调用,规则引擎可以很好的满足我们的要求,规则引擎可以让提供业务应用的灵活性,更好的满足复杂多变的客户需求。

第四:

事件处理引擎的设计。

事件处理引擎的主要功能是接受来自系统各组件和其他外部应用系统发送过来的消息,捕获各种事件,并对消息进行分析和过滤。

事件处理引擎会过滤掉没有直接后果的事件信息,并根据规则建立处理模型,在必要的时候,通知用户事件信息。

第五:

流程持久化的设计与实现。

系统引入流程仓库的概念,分别用流程存储库、运行库、历史库来分别对已定义流程、正在执行的流程和执行结束的流程进行存储。

系统采用Hibernate框架做为持久化方案,支持多种数据库存储数据。

1.4研究内容及论文的章节安排

目前工作流软件产品种类繁多,各有优缺点,本文首先分析主流的开源工作流引擎,总结吸收它们的优点,在Activiti的基础之上设计实现一款支持独立部署和嵌入系统使用的灵活、易用的工作流引擎。

在本项目的设计开发过程中,需要学习和研究的内容有:

(1)BPMN业务流程建模语言。

业务流程建模标注(BusinessProcessModelingNotation,简称BPMN),是一种用类似于流程图的图标形式来描述业务流程的一种方法[4]。

BPMN1.0规范于2004年5月由业务流程管理计划组织(BusinessProcessManagementInitiative,简称BPMI)发布,为大家提供了一种标准的、易读的定义和分析业务流程的方法。

BPMN是一种图形化的建模工具,BPMN包含四种基本元素:

流对象、连接对象、泳道、人工信息。

其中流对象是BPMN的核心元素,它又包括:

事件、活动、网关。

(2)主流开源工作流引擎产品的优缺点。

有多种开源工作流引擎可以供我们参考借鉴,其中项目资料比较齐全的有JBPM、ApacheODE、EnhydraShark等,这些产品各有优缺点,本课题的目标是在借鉴吸收开源工作流引擎的基础上实现一款灵活易用的工作流引擎软件,因此在项目开始之前,需要对开源的工作流引擎做一个广泛的了解和研究。

(3)Activiti的结构和实现原理。

Activiti项目主要由三种类型的组件组成,分别是专用工具(DedicatedTools)、存储内容(StoredContent)协作工具(CollaborationTool)。

专用工具包括内容管理器、建模器、设计器、管理和监控器、任务管理五个工具组件。

存储内容组件包含文档仓库、MVN仓库、Activiti引擎。

Activiti是整个软件的核心引擎。

协作工具组件是一种全新的BPM组件,用来促进业务人员、开发人员、和操作人员的协作[5]。

(4)ABPM工作流管理系统的设计。

系统提供基于Web的图形化流程设计器方便用户使用,系统既可以单独部署也可以嵌入到应用系统当中,系统应当保持独立性,对业务代码的侵入度降到最低。

本文的各章节内容说明如下:

第一章引言部分主要讨论了工作流引擎的发展现状,分析了国内外主要的工作流管理软件的特点,阐述了本文的研究目的和论文特色,并着重说明了本文的主要研究内容和章节安排。

第二章对工作流的理论知识和工作流技术的发展历史进行了介绍,并着重介绍了目前最流行的开源工作流软件的特点,最后从市场的角度分析了工作流技术的发展前景和本文的研究目的。

第三章介绍Activiti工作流引擎,首先是Activiti的总体介绍,接着从Activiti的系统结构和Activiti的特点这两方面对Activiti的实现机制和优缺点进行了探讨,希望读者对Activiti能有一个初步的了解。

第四章首先说明了基于Activiti的工作流管理系统的开发背景,并给出了系统的设计目标。

第五章对ABPM工作流管理系统的结构设计和主要功能进行了详细说明,并对系统的主要功能模块进行了简要阐述。

基于浏览器的流程设计器是系统的一大特点,本章特地用一小节内容对流程设计器的设计和实现进行了说明,最后给出了系统持久化的方案和主要接口的使用方式。

第六章对ABPM系统进行测试和结果分析,并举例说明了系统的使用方式。

第七章论文总结和项目展望。

第二章工作流概述

2.1工作流的定义

工作流的英文单词是Workflow,表示工作Work和流动Flow的组合,是一种能够被计算机解释和执行的反映经营过程业务流动的计算机化模型[6]。

工作流的出现与办公自动化领域的发展密不可分,在较早的时候就有人提出,可以将企业日常工作中具有固定模式的业务活动进行抽象成为计算机可以理解的模型,将一项工作分解成为按照某个顺序执行的一组任务,然后指定不同角色的人员在计算机的协助下完成任务,最终完成某项业务或者工作。

最终达到更好的过程管理、提高沟通和工作的效率、增强对客户的服务、提供企业整体效率的目的。

尽管工作流的概念的出现已经有数十年的时间,与工作流相关的理论和技术也已经相当丰富,但是目前业内对于工作流的定义还没有一个完全统一的认识,曾经有许多有名的企业和专家对工作流的定义给出了不同的解释。

AndyPankous认为的工作流定义是:

工作流是一种按照某种规则定义的一组任务,任务可以由一个人或者多个人来完成,也可以通过计算机系统来自动完成,工作流的关键是任务执行的顺序和触发条件,目的是为了达到某个特定的企业经营目标[7]。

IBM公司的RobertAlan将工作流定义为:

工作流是企业经营过程的一种计算机化的表示模式,模式中规定了一个完整的经营过程必须包含的所有步骤、这些步骤的执行顺序和条件、以及完成步骤的负责人,所有这些信息构成了工作流的参数[8]。

1993年工作流管理联盟(WorkflowManagementCoalition,简称WFMC)的成立,标志着工作流理论和技术达到了一个较为成熟的阶段。

WFMC成立以后提出了一系列的关于工作流技术的标准和规范,为推进工作流的发展做出了极大贡献。

WFMC给出的最新的工作流的定义是:

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

2.2工作流的发展历史

1970年代早期办公自动化领域的相关研究工作就已经提出了现代工作流技术的雏形,但是工作流思想出现的时间可能更早,AmandaNierson在1968年就已经提出了要利用计算机技术来帮助人来完成工作流的先进想法。

1971年MichaelD.Zisman开发出了原型系统SPORK,1976年FredericaKevin和ThomasNeil开发出了“网络故障自动监测”程序,1975年SamsonA.Tony和VincentJ.Spark等人合作推出了SilentTalk系列试验系统,这些系统都采用了Petri网的相关算法来进行流程模型建立,都具有早期工作流程自动化的思想。

其中SPORK和SilentTalk系统,不但标志着工作流技术的开端,而且也是最早的办公自动化系统之一。

在上世纪七十年代,工作流技术的出现激起了很多企业的兴趣,许多企业的管理者相信,这种先进的技术可以让企业的办公效率大大提升,最终提高企业的利润,但是最后许多尝试都以失败告终。

很多企业实施工作流技术失败的原因主要包括:

工作流技术的实施限制了企业员工的工作创造性和灵活性,让企业人员只能死板的按照某一种固定的工作模式来完成每天的工作,最终导致企业人员对新技术的反感。

而在上世纪70年代的时候,真是现代企业管理理论快速发展的时候,各种不同的新想法和新理念层出不穷,同时在那个年代,计算机和网络的普及还很有限,计算机尚未成为所以企业办公必备的工具,计算机的使用也没有今天那么方便。

在上世纪八十年代,出现了许多含有工作流特征的工业化控制系统,比如某些用在生产线上的自动化控制系统。

生产线在使用了自动化控制系统以后,操作员能够按照实现设定的工作流程来完成产品制造中的一个步骤,再把产品推送到下一个节点,由另外一名操作人员来完成产品的下一个生产环节,最终完成整个产品的生产制造过程。

这些系统大大提高了企业的生产效率,但是缺点是应用范围比较窄,而且工作流程基本是固化的,难以调整。

进入上世纪90年代以后,工作流技术迎来一个新的发展高潮,与工作流相关的各种理论和新技术层出不穷,工作流技术被广泛应用在政府、金融机构、企业、学校、医院等组织机构当中,与工作流相关的应用系统包括电子政务、办公自动化、金融信息系统、教育信息系统、医疗信息系统、科研系统等等,据统计,在1995年就要超过两百多种软件产品宣称自己支持工作流或者具有工作流系统的特征,工作流产品可谓是百花齐放,百家争鸣。

1993年8月,工作流技术标准化的工业组织-工作流管理联盟(WFMC)成立。

1994年,工作流管理联盟发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工业标准。

关于工作流技术的学术研究也从未停止过,光是在万方数据库中搜索,与工作流相关的论文就多达数万篇,许多专家学者在提出新的工作流理论的同时,还使用各种不同的技术开发出了原型系统,从工作流的定义、建模、流程有效性验证、工作流中的事务控制、如何提升工作流引擎的性能、工作流系统的安全性、工作流与应用系统的接口等方面进行了大量研究,并产生了许多具有实际应用价值的成果。

尽管工作流技术已经取得了长足的发展,但是工作流系统还是有很多值得研究的地方,比如现在的工作流系统在性能上、可靠性上、安全性上都有不尽如人意的地方,对于支撑企业系统7乘24小时不间断工作还有一定距离。

2.3典型的工作流管理系统

目前各大软件厂商均推出了自己的工作流软件,市场占有率最高的是IBM的WebsphereMQWorkflow系列产品,产品的可伸缩性和容错性使得它可以充分发挥多处理引擎和群集的优势,并且方便用户快速构建和部署。

MQWorkflow有如下特点:

过程执行速度更快;自动生产方式提高了生产率;帮助用户节省成本;提高过程执行的品质;使用ISO9000标准来进行过程处理。

另一款比较有代表性的工作流软件是Oracle公司推出的OracleWorkflow产品,该产品提供了自动化的任务管理和个性化的工作列表以及自动邮件等功能实现了用户高效率的合作,工作流管理器实现了对工作流状态的全过程监控,方便用户对流程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1