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

2019-08-02 00:24

目 录

摘 要 ......................................................................................................................................... I ABSTRACT ............................................................................................................................. II 第一章 引言 .............................................................................................................................. 1 1.1 研究背景和意义 .............................................................................................................. 1 1.2 工作量引擎发展现状 ...................................................................................................... 1 1.3 论文研究目的和特色 ...................................................................................................... 2 1.4 研究内容及论文的章节安排 .......................................................................................... 3 第二章 工作流概述 .................................................................................................................. 5 2.1 工作流的定义 .................................................................................................................. 5 2.2 工作流的发展历史 .......................................................................................................... 5 2.3 典型的工作流管理系统 .................................................................................................. 7 2.4 工作流的应用和市场前景 .............................................................................................. 8 第三章 ACTIVITI体系结构 ................................................................................................ 10 3.1 ACTIVITI介绍 .................................................................................................................. 10 3.2 ACTIVITI的结构 .............................................................................................................. 11 3.3 ACTIVITI的特点 .............................................................................................................. 12 第四章 基于ACTIVITI的工作流管理系统ABPM .......................................................... 14 4.1 系统开发背景 ................................................................................................................ 14 4.2 系统设计目标 ................................................................................................................ 15 4.3 ABPM总体架构 ............................................................................................................ 17 第五章 ABPM系统的设计与实现 ....................................................................................... 19 5.1 系统结构 ........................................................................................................................ 19 5.2 功能分析 ........................................................................................................................ 20 5.3 工作流引擎 .................................................................................................................... 22 5.4 基于WEB的流程设计器 ............................................................................................. 25 5.5 基于WEB的表单设计器 ............................................................................................. 26 5.6 流程持久化 .................................................................................................................... 27 5.7 主要接口说明 ................................................................................................................ 28 第六章 测试与应用 ................................................................................................................ 31

III

6.1 测试环境 ........................................................................................................................ 31 6.2 测试脚本 ........................................................................................................................ 31 6.3 测试结果及分析 ............................................................................................................ 45 6.4 ABPM系统应用举例 .................................................................................................... 46 第七章 总结与展望 ................................................................................................................ 50 7.1 论文总结 ........................................................................................................................ 50 7.2 项目展望 ........................................................................................................................ 50 致 谢 ...................................................................................................................................... 54

IV

第一章 引言

1.1 研究背景和意义

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

很多的国内企业投入了巨大的成本来建设自己的OA系统、ERP系统以及目前非常流行的SOA系统,但是有不少企业在使用这些系统的时候发现,并没有从整体上提升企业的执行效率、资源的使用效率和企业的利润效益,这些企业往往面临以下的问题:企业快速扩张,但是人员缺乏有效的沟通;工作流程复杂繁琐,层次不清晰;流程与实际情况脱节,难以操作;流程缺乏灵活性,难以调整;流程的执行过程,难以记录评估等等。

业务流程管理(Business Process Management,简称BPM)就是为了解决上述问题产生的,业务流程管理是指通过对企业内部及外部的业务流程的整个生命周期进行规划设计、自动化、管理监控和优化,从而使企业的整体效益和利润得以提升的一门学科[1]。通过工作流管理系统((Workflow Management System,简称WFMS)可以完成企业业务流程整个生命周期的所有工作,而作为WFMS的核心,工作流引擎一直被各大软件厂商所关注和重视。

目前国内已经出现了一些国产工作流软件,但是相比于几大主流的工作流引擎,仍然有不小的差距。Activiti作为一款优秀的轻量级BPMN2.0规范工作流程引擎,性能卓越,易与Spring框架集成,方便开发人员使用。本文旨在通过研究Activiti的基础之上,设计和实现一款轻量级,性能优秀,方便使用的通用工作流软件,具有很大的实用价值和现实意义。

1.2 工作量引擎发展现状

目前各大软件厂商均推出了自己的工作流软件,市场占有率最高的是IBM

1

的Websphere MQ Workflow系列产品,产品的可伸缩性和容错性使得它可以充分发挥多处理引擎和群集的优势,并且方便用户快速构建和部署。MQ Workflow有如下特点:过程执行速度更快;自动生产方式提高了生产率;帮助用户节省成本;提高过程执行的品质;使用ISO9000标准来进行过程处理。

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

微软公司的Microsoft Biz talk Server是针对大中型企业推出的服务器产品,目前在市场上占有较高的份额,功能包括业务流程管理、业务流程自动化、企业应用的集成以及不同企业之间的系统集成。Biz talk的主要特点有:提供了图形化的流程定制界面,方便用户的使用;提供了功能强大的图形化的流程监控界面,便于用户查看流程运行状态;支持流程持久化;支持各种不同的工作流模式。

以上的几款工作流引擎一般作为整体解决方案的一部分存在,除此之外还有为数众多的开源工作流引擎。比较典型的有JBPM,OpenWFE,Enhydra Shark,Activiti等。2004年10月18日,JBPM成为JBoss公司的企业中间件大家庭中的重要一员,目前最新版本为5.4版本,可以从JBPM官网上免费获取。它支持BPEL语言,覆盖了业务流程管理、工作流、服务协作等多个领域,可以部署在所有标准的J2EE架构的企业应用系统当中。Activiti是一款开源的、灵活的、易扩展的可执行流程语言框架,它由JBPM的创始人Tom Baeyens发起,并由许多开源组织结构成员共同完成。Activiti可以运行在任何部署在服务器、集群、云计算中心上的Java程序当中,具有良好的发展前景。

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

1.3 论文研究目的和特色

本文主要解决的问题是:

第一:基于WEB的图形化流程设计器的设计。流程开始的第一步是进行流程定义,流程设计器是否美观易用已成为工作流引擎成功的关键。系统拟采用Flex技术,在浏览器中实现图形化流程设计器,客户无需安装任何客户端就可以访问系统进行流程设计、配置和管理。

第二:流程引擎的设计。作为Activiti项目的核心底层组件,Activiti的核心

2

引擎,采用的是目前较为先进的流程虚拟机(PVM)技术来实现,它可以直接运行原生的BPMN2.0规范格式的流程定义,是业内目前第一个也是唯一一个从建模到执行,完全按照BPMN2.0规范进行实现的BPM项目[2]。在Activiti核心引擎的基础上进行实现,可以保证我们系统的性能和广泛应用。核心引擎还提供了事件监听器功能和活动定制功能,时间监听器让引擎可以直接执行一个动作。Activiti引擎实现了对BPMN的支持,有很多可以直接使用的活动类型。

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

第四:事件处理引擎的设计。事件处理引擎的主要功能是接受来自系统各组件和其他外部应用系统发送过来的消息,捕获各种事件,并对消息进行分析和过滤。事件处理引擎会过滤掉没有直接后果的事件信息,并根据规则建立处理模型,在必要的时候,通知用户事件信息。

第五:流程持久化的设计与实现。系统引入流程仓库的概念,分别用流程存储库、运行库、历史库来分别对已定义流程、正在执行的流程和执行结束的流程进行存储。系统采用Hibernate框架做为持久化方案,支持多种数据库存储数据。

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

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

(1)BPMN业务流程建模语言 。业务流程建模标注(Business Process Modeling Notation,简称BPMN),是一种用类似于流程图的图标形式来描述业务流程的一种方法[4]。BPMN1.0规范于2004年5月由业务流程管理计划组织(Business Process Management Initiative,简称BPMI)发布,为大家提供了一种标准的、易读的定义和分析业务流程的方法。BPMN是一种图形化的建模工具,BPMN包含四种基本元素:流对象、连接对象、泳道、人工信息。其中流对象是BPMN的核心元素,它又包括:事件、活动、网关。

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

3


软件工程硕士论文 基于Activiti的工作流管理系统的设计与实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:00知识工作者的任务分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: