基于J2EE的轻量级工作流管理系统的研究与实现

VIP免费
3.0 陈辉 2024-11-19 5 4 1.95MB 87 页 15积分
侵权投诉
摘 要
随着信息技术的迅猛发展,企业信息管理迫切需要一种能够支持业务流程自
动化的模块,把传统的信息管理技术与业务流程技术相结合起来管理企业的各种
流程,工作流技术正是顺应这一需求孕育而生。工作流技术使得应用系统的流程
逻辑与业务逻辑耦合度降低,提高应用系统的开发效率和可维护性。现有多种 IT
技术已融入到工作流,如 Web Service,分布式处理技术等,加速了工作流技术的
发展。
目前,工作流技术已被广泛应用,但传统的工作流管理系统多数是大型的、
功能齐全的、重量级的复杂系统,系统中的各个组成部分耦合度高,若要分离或
集成某个功能,需要详细的了解整个架构并做大量的代码修改,开发效率低。在
对流程的处理方式上,多数工作流模型仍然采用静态方式处理,即处理可事先给
出完整定义的流程,然而现代企业更多的表现为一种动态流程,这种流程只能在
运行过程中逐步完善,动态的对任务、子流程进行定义。
基于以上的问题和对工作流技术的分析和研究,本文采用基于 J2EE 技术的轻
量级工作流管理系统作为解决方案。
在设计上,参考了 WfMC 制定的工作流参考模型,从够用、开发效率高和灵活
性好的原则出发,提出了支持动态流程的轻量级工作流管理系统设计方案。具体
研究内容如下:
1在对工作流技术理论以及传统工作流管理系统做了深入研究的基础上,
出了轻量级工作流管理系统的总体结构并做了详细的分析与讨论,通过与 J2EE 技
术相结合,给出了系统的技术框架,使系统各个部分低耦合结合,同时采用图形
化方式进行过程定义以此提高开发效率。
2在研究了企业业务更多的表现为动态流程的基础上,提出了支持在流程执
行过程中动态定义子流程的工作流引擎体系结构,详细论述了结构中各个组成部
分以及相互关系,分析与检验了在子流程自动定义的情况下,引擎通过算法自动
对子流程进行定义而无需人工干预的正确性。同时对引擎如何支持抽象活动的执
行,及支持 Web Service 做了详细的阐述。引擎中的各组成部分的协同服务,保证
了引擎能在流程执行过程当中动态的对子流程进行定义,使得子流程的定义可以
根据流程执行的实际情况动态的做出调整,以此满足了企业业务流程动态性的需
求。
在实现上,系统采用 Eclipes, Lomboz 和 JBoss 等开源软件搭建起的 J2EE 平
台进行开发,采用 MVC 设计模式,同时引入优秀的开源框架——Struts 框架、Spring
框架和 Hibernate 中间件。
关键词:轻量级工作流管理系统 工作流引擎 动态流程 J2EE
ABSTRACT
With the great development of information technology, information management in
enterprises require the module which can make business processes automatic and
combine traditional information management technology with business processes
technology. Workflow technology is to solve this problem. Workflow technology’s
introduction lowers the coupling between process logic and business logic of the
application system, then reducing complexity of the application development process,
raising the application system development efficiency and maintainability. Nowadays,
all kinds of IT technologies have been introduced into workflow, such as Web service,
distributed processing, which make Workflow technology develop rapidly.
Today, workflow technology has been used widely in application field. But the
purpose design of traditional workflow architectures aims at providing full fledged
support for the widest possible application spectrum. Consequently, most workflow
management systems, both products and research prototypes, are heavyweight,
monolithic, and package a comprehensive set of features in an all-or-nothing manner. So
some traditional workflow systems are hard to integrate with other environments.
Additionally, in workflow processing way, some traditional workflow modules still use
static mode which just deals with pre-definition workflow. But today’s business
processes in enterprises are flexible, which can not be given specific definitions before
processes’ executions, just be given definitions during the execution of process’s
instances. Some of traditional workflow systems have difficulties in adapting the new
changes in the process of enterprise running.
The solution to the previous problems introduced here is a lightweight workflow
management based on J2EE that enables software developers to pick and choose the
workflow features they need. At the core of architecture, several components provide
basic workflow functionality. In the paper, the lightweight workflow management
system is divided into four layers, namely view, business logic, data persistent, data
access. Then, give an elaboration on workflow engine which supports dynamic
processes and process definition tools. Details as follows:
1The structure of lightweight workflow management system is proposed based
on deep researches and analysis on workflow technology theories. And at the
same time, implementation technology framework of lightweight workflow
management system is proposed based on elaborating on key implementation
techniques.
2Elaborate on workflow management system’s design, and put emphasis on the
core modules in workflow engine which support dynamic processes, such as
workflow process definition service, workflow process service, activity service,
sub-flow service, Web service plug in, workflow transfer service and process
definition tool’s design and implementation. In sub-flow service, elaborate on
sub-flow service arithmetic, activities’ automatic composition arithmetic and
correctness arithmetic.
The system is implemented on J2EE platform which is structured by MVC
framework and open-source softwares: Eclipes, Lomboz, JBoss etc. At the same time,
open-source structures, such as Struts, Spring and Hibernate are introduced into the
J2EE developing platform.
Key Word: Lightweight workflow management system, workflow
engine, dynamic process, J2EE
目 录
中文摘要
ABSTRACT
第一章 绪论 ......................................................... 1
§1.1 课题研究的目的和意义 ........................................... 1
§1.2 课题研究现状 ................................................... 2
§1.3 主要研究工作 ................................................... 4
§1.4 本文的组织安排 ................................................. 5
§1.5 本章小结 ....................................................... 6
第二章 工作流系统理论基础 ........................................... 7
§2.1 工作流技术概述 ................................................. 7
§2.1.1 工作流起源与发展 ......................................... 7
§2.1.2 工作流相关产品 ........................................... 8
§2.1.3 工作流技术与其他学科的关系 .............................. 10
§2.2 工作流相关概念 ................................................ 11
§2.3 工作流管理系统 ................................................ 13
§2.3.1 工作流管理系统的功能 .................................... 13
§2.3.2 工作流管理系统的体系结构 ................................ 15
§2.3.3 工作流管理系统的应用目标领域 ............................ 19
§2.4 工作流参考模型 ................................................ 20
§2.4.1 工作流参考模型概述 ...................................... 20
§2.4.2 工作流参考模型的详细说明 ................................ 21
§2.5 本章小结 ...................................................... 23
第三章 轻量级工作流管理系统总体结构和关键技术 ....................... 24
§3.1 轻量级工作流管理系统的总体结构 ................................ 24
§3.2 轻量级工作流管理系统实现关键技术 .............................. 25
§3.2.1 MVC 设计模式 ............................................ 25
§3.2.2 J2EE 技术 ............................................... 26
§3.3 本章小结 ...................................................... 28
第四章 轻量级工作流管理系统的设计 ................................... 29
§4.1 支持动态流程的工作流引擎的设计 ................................ 29
§4.1.1 工作流模型 .............................................. 29
§4.1.1.1 基于活动组合的工作流模型 ........................... 29
§4.1.1.2 基于 Web 服务的 Undefined Task 模型 .................. 30
§4.1.2 支持动态流程的工作流引擎的设计 ........................... 31
§4.1.2.1 支持动态流程的工作流引擎的结构 ..................... 31
§4.1.2.2 流程定义服务 ....................................... 32
§4.1.2.3 流程服务 ........................................... 34
§4.1.2.4 活动服务 ........................................... 37
§4.1.2.5 子流程服务 ......................................... 42
§4.1.2.5.1 子流程服务 ..................................... 42
§4.1.2.5.2 自动组合算法 ................................... 45
§4.1.2.5.3 正确性检验算法 ................................. 49
§4.1.2.6 Web 服务插件 ....................................... 52
§4.1.2.6.1 在工作流中引入 Web 服务的优势 ................... 52
§4.1.2.6.2 Web 服务插件 ................................... 53
§4.1.2.7 流程流转服务 ....................................... 54
§4.2 数据库设计 .................................................... 55
§4.3 过程定义工具的设计 ............................................ 60
§4.3.1 基于 Petri 网的过程建模方法 .............................. 60
§4.3.2 Petri 网过程定义映射到 XML ............................... 61
§4.4 本章小结 ...................................................... 65
第五章 轻量级工作流管理系统的实现 ................................... 66
§5.1 轻量级工作流管理系统的技术架构 ................................ 66
§5.2 工作流引擎的实现 .............................................. 67
§5.3 过程定义工具的实现 ............................................ 74
§5.4 本章小结 ...................................................... 76
第六章 结束语 ....................................................... 77
§6.1 论文总结 ...................................................... 77
§6.2 进一步工作 .................................................... 77
参考文献 ............................................................ 79
在读期间公开发表的论文 .............................................. 82
............................................................... 83
第一章 绪 论
1
第一章 绪论
§1.1 课题研究的目的和意义
随着信息技术的迅猛发展,企业要在这样一个竞争和变化的外部环境中生存,
必须不断的调整、优化各种业务流程。完整的信息管理系统应该是信息收集、存
储、处理、流转、发布以及支持流程重构的有机过程,但多数常规的信息管理系
统却很难做到这一点。所以我们迫切需要一种能够支持业务流程自动化的模块来
满足企业流程管理的需要,把它和业务流程技术相结合起来管理企业的各种流程。
工作流管理正是顺应这一需求孕育而生,它是用于实现工作流建模、执行、监控、
分析、度量和优化的基础中间件平台。目前工作流应用范围已经扩大到移动计算、
系统管理、因特网应用、行业应用开发、面向对象技术的扩展、操作系统和事务
管理等等。在跨平台的分布环境中,随着世界范围内 Web 技术的飞速发展,采用
浏览器/服务器(B/S)模式、Web Service 技术的软件系统已经成为当前工作流
管理系统发展的趋势。
工作流技术已被应用到如此广泛的领域,但目前市场上传统的工作流管理系
统大部分是大型的、功能齐全的、重量级的复杂系统,这些系统往往从数据存储
到运行环境都有自己的一套独特的体系结构,系统中的各个组成部分耦合度高,
所有的功能都集成在一起。若要分离出某个功能,需要详细的了解整个架构的构
成并做大量的代码修改;若要将其集成到其他的专业应用系统或应用环境中,则
必须根据工作流管理系统的设计格式对应用系统做很大的修改,甚至于重构整个
应用系统,难以与专业应用系统或应用环境集成,造成大量资源浪费。在对流程
的处理方式上,多数工作流模型仍然采用静态方式处理,即处理可预见的、可事
先给出完整定义的流程,然而现代企业更多的表现为一种动态流程,这种流程无
法事先给出一个完整的定义,只能在实例的运行过程中逐步完善,动态的对流程
中的个别任务、子流程进行定义。一些工作流模型为适应企业的这种动态性,在
定义阶段将可能出现的情况,如多种执行路径都罗列在工作流中,这不仅使得整
个工作流模型显的庞大臃肿和不灵活,而且还要承担疏漏某些特殊情况的风险。
基于以上的问题和对工作流技术的分析和研究,本文采用轻量级工作流管理
系统作为解决方案。首先,它有别于传统的重量级的工作流管理系统,在设计上
从够用、扩展性好、与专业应用低耦合结合的原则出发,不追求工作流管理系统
基于 J2EE 的轻量级工作流管理系统的研究与实现
2
功能的完备和复杂,只是实现其中必不可少的功能和特征,在使用上更加简单,
应用开发者可以方便的将其嵌入到自己的应用系统中。其次,将系统中的工作流
引擎设计为支持活动动态组合,能在流程执行过程中与用户进行交互,支持用户
在执行过程中动态的定义子流程,来满足现代企业业务过程不断变化的需求。又
由于工作流管理系统的应用环境大多是在复杂的分布异构环境中,本文中采用
J2EE 和 Web Service 技术来满足需求。鉴于以上特点,基于 J2EE 的轻量级工作
流管理系统将使基于工作流技术的应用开发更加容易被开发人员接受,工作流程
定义更灵活,更能满足企业流程动态性的需求。
§1.2 课题研究现状
目前,现代企业强调以过程为中心的管理模式,试图在信息集成的基础上实
现过程集成,而工作流技术是实现这一集成的有效途径之一,其研究与应用日益
受到重视,相应的工作流软件开发工作也越来越多。工作流技术在现代集成制造
系统、办公自动化、并行工程、企业经营过程重组、供应链管理、敏捷制造、电
子政务等领域中有着十分广阔的应用前景。同时,在全球范围内,对工作流技术
的研究以及相关产品的开发进入了一个繁荣阶段,更多新技术被集成进来,
Internet服务、数据库、电子邮件、移动式计算、文件管理等都已被容纳到工作
流管理系统之中。随着工作流这一集成框架下所容纳技术的不断拓展与成熟,工
作流管理系统将成为企业信息环境中不可缺少的软件平台,并将最终成为覆盖于
各类台式机与网络操作系统之上的业务操作系统BOS (Business Operating
System),带来业务操作系统的一次革命。目前,工作流领域主要存在着以下几种
不同方向的工作流管理系统:
1、基于成熟产品的工作流管理系统,以Microsoft Exchange和IBM Domino
Notes为代表的成熟群件平台,在它们之上做二次开发,可以较容易地实现工作流
的基本功能,且稳定性较高。但这些成熟群件平台的适应性较差。
2、面向对象的工作流管理系统,随着面向对象技术的成熟与应用,许多学者
开始研究如何利用面向对象的技术来推动工作流技术的发展,主要包括两个领域:
第一,如何利用面向对象技术来简化WfMS的实现,提高WfMS的性能,佐治亚大学
的METEOR产品就是其中的代表,它是一种基于CORBA标准面向对象的WfMS,文献[1]
中探讨了如何利用CORBA 的对象事务服务来构建可靠工作流产品OpenFlow;第二,
如何利用面向对象的分析方法来构建面向对象的过程定义,以提高过程定义的重
用性。文献[1]用UML方法给出了WONDER系统的面向对象模型。
第一章 绪 论
3
3、分布式工作流管理系统,为了提高系统的健壮性,许多学者致力于研究如
何实现WfMS的分布式处理,一个过程可以使用多个分布式的工作流引擎,每个工
作流引擎可以调度不同过程实例或过程实例的不同任务,当某个工作流引擎发生
故障时,不会影响其他引擎的工作。分布式系统会带来一系列的问题,如数据的
一致性、并发性、备份和恢复问题。美国明尼苏达大学的R.Tripathi等人利用XML
技术实现了分布式工作流管理系统。
4、基于Web构架的工作流管理系统,基于Web构架的应用系统,由于零安装、
移动性好、易操作等优点的到了巨大的发展,现有的许多WfMS增加了对Web的支持。
5、基于ECA的适应性工作流,在实际工作中,执行路由往往不能在一开始时
就确定,需要根据具体情况动态决定。近年来,数据库的非传统应用促进了对主
动数据库的研究和应用,并且引起了对软件主动性的研究。它采用事件触发机制
来组织应用系统,或者为应用系统增加主动功能。当一个事件发生后,事件监视
器捕获该事件,然后依据事件——条件——动作(ECA)规则进行条件判断,选择合
适的执行动作[2]在企业业务执行过程中,各个活动的进行总是伴随着事件的发生。
特定的事件触发特定的活动,而活动的结束又引发新的事件,因而用事件也可以
描述业务过程的动态特性。
尽管经过工作流产品供应商与工作流技术研究人员多年的不懈努力,使得工
作流技术由最初的萌芽逐步发展起来,并取得了相当的成果,但是从工作流管理
系统的实际应用状况来看,还远未达到人们所期待的普及状态。在经营过程中采
用工作流管理系统的企业仍只是少部分,而且这些系统的应用范围也很有限,并
不能全方位地支持企业的关键业务流程。从企业用户应用的角度来分析,工作流
产品亟需解决以下5个方面的问题[3,4]
1、工作流的运行必须要有底层的通信基础结构的支持,但是就目前能够实现
分布计算环境的产品来看,它们在实际应用中仍然显的不够成熟,在安全性、容
错性、可靠性等方面均不能满足企业的需求,而且在价格上也给企业造成一定的
负担。
2、统一的标准。不同的厂商所提供的工作流产品可能具有自己独立的一套工
作流模型、工作流定义语言以及API函数。在这种缺乏标准的状况下,用户一旦选
定一种产品之后,就很难再过渡到其他同类产品之上了。而且不同的系统之间缺
乏互操作的接口。尽管工作流管理联盟的成立有助于改善这种情况。但若想实现
类似于关系型数据库这样的统一标准(比如关系数据模型、SQL语言等),仍有很长
的路要走。
3、提高系统开发的效率。工作流应用的开发不仅仅是过程的定义,还要完成
摘要:

摘要随着信息技术的迅猛发展,企业信息管理迫切需要一种能够支持业务流程自动化的模块,把传统的信息管理技术与业务流程技术相结合起来管理企业的各种流程,工作流技术正是顺应这一需求孕育而生。工作流技术使得应用系统的流程逻辑与业务逻辑耦合度降低,提高应用系统的开发效率和可维护性。现有多种IT技术已融入到工作流,如WebService,分布式处理技术等,加速了工作流技术的发展。目前,工作流技术已被广泛应用,但传统的工作流管理系统多数是大型的、功能齐全的、重量级的复杂系统,系统中的各个组成部分耦合度高,若要分离或集成某个功能,需要详细的了解整个架构并做大量的代码修改,开发效率低。在对流程的处理方式上,多数工...

展开>> 收起<<
基于J2EE的轻量级工作流管理系统的研究与实现.pdf

共87页,预览9页

还剩页未读, 继续阅读

作者:陈辉 分类:高等教育资料 价格:15积分 属性:87 页 大小:1.95MB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 87
客服
关注