(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机软件与理论专业论文)基于web的工作流管理系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于w c b 的工作流管理系统的研究与实现 论文题目: 专业: 硕士生: 指导教师: 基于w e b 的工作流管理系统的研究与实现 计算机软件与理论 李小稳 印鉴教授 摘要 随着企业业务过程重组的广泛应用,工作流成为当前计算机学科的一 个重要研究方向。作为一门应用性很强的新兴技术,它存在很多值得研究 的地方。如何适应企业业务过程重组的需要,合理的应用工作流技术,以 及如何针对具体应用对工作流相关技术进行改进是当前的热点问题。 本文结合j 2 e e 技术,详细描述了一个所设计的基于w e b 的工作流管 理系统的结构框架,然后介绍了工作流管理系统核心即工作流引擎的设计 与实现,对其中几个关键技术问题给出了成功的解决方案,最后实现了一 个基于w e b 的工作流管理系统,并且对所提出的解决方案进行了详尽的测 试,结果表明所设计的框架和解决方案在准确性和安全性方面都有不错的 表现。 【关键词】业务过程重组、工作流、j 2 e e 、工作流管理系统 基于铀的工作流管理系统的研究与实现 t i t l e :s t u d ya n di m p l e m e n t a t i o no fw o r k n o wm a n a g e m e n ts y s t e m b a s e do n w e b m a j o r:c o m p u t e rs o f t w a r ea n dt h e o r y n a m e:x i a o w e nl i s u p e r v i s o r :p r o f e s s o rj i a ny i n a b s t r a c t w i t ht h ew i d e l ya p p l i c a t i o no fe n 弋e r p r i s e sb u s i n e s sp r o c e s s r e e n g i n e e r i n g , w o r k f l o wh a sb e e no n eo ft h em o s t p o p u l a r t e c h n o l o g i e so fc o m p u t e rs c i e n c e a san e wt e c h n o l o g y , t h e r ee x is t m a n yp r o b l e m sa b o u tw o r k f l o wt ob er e s e a r c h e d t h a th o wt ou s ei t c o r r e c t yjnm a n yk i n d so fa p p lic a t i o n , a n dh o wt oi m p r o v eit ,a 11 t h e s ep r o b l e m sa t t r a c tc o m p u t e rs c i e n t i s t s i nt h i sp a p e r , f i r s t l y , w ep r o p o s et h ef r a m e w o r ko faw e b b a s e d w o r k f l o wm a n a g e m e n ts y s t e 研 s e c o n d l y , 宵ed is c u s st h ed e s i g na n d i m p l e m e n t a t i o no ft h ew o r k f l o we n g i n e t h e nt h em o d u le sa n d i m p l e m e n t a t i o na p p r o a c h e so ft h i 8s y s t e mw a sd e s c r i b e dt o o t h r o u g h p r a c t i c e , i ts h o w st h a t t h i ss y s t e mc a ne f f e c t i v e l ym e e tt h e r e q u i r e m e n tt oc o n t r o it h ee n t e r p r i s e sb u s i n e s sp r o c e s s k e yw o r d s :b u s i n e s sp r o c e s sr e e n g in e e r i n g , w o r k f l o w ,j 2 e e , w o r k f l o wm a n a g e m e n ts y s t e m i i 基于聃,e b 的工作流管理系统的研究与实现 刚罱 随着各行各业信息化程度的深入,各部门、各政府机关、各企业的日 常工作过程也愈来愈需要实现自动化,以提高工作效率。 工作流( w o r k f l o w ) 是针对日常工作中具有固定程序的活动而提出的 一个概念,提出的目的是通过将日常工作分解成定义良好的任务,并且分 配给相应的参与者即角色,按照一定的规则和过程来执行这些任务,并对 任务的执行进行监控,以达到提高办事效率,降低生产成本,提高企业生 产经营管理水平和企业竞争力的目标。 1 9 9 3 年,国际上成立了工作流管理联盟( w o r k f l o wm a n a g e m e n t c 。a l i t i o n ,以下简称w f m c ) ,它是一个非盈利性质的标准化组织,主要对 工作流管理系统的参考模型、术语、应用程序编程接口( a p i ) 、交互协议、 数据审批以及过程定义语言等进行标准化工作。工作流管理联盟的成立, 以及其后它所做的工作,大大的推动了工作流技术的发展和广泛应用。当 前大多数商业化的工作流管理系统产品,都部分或者完全地参照了w f m c 所制定的相关规范。 虽然工作流技术已逐步被广泛接受,但如何合理的应用工作流技术, 以及如何针对具体问题对工作流相关技术进行改进,仍然有待我们去深入 研究。本文详细介绍了作者在这方面所做的一些工作,包括基于实际的工 作流应用而设计开发的一个基于w e b 的工作流管理系统框架,工作流引擎 的设计与实现,并对其中几个关键技术问题给出了较为成功的解决方案, 最后实现了一个基于w e b 的工作流管理系统,并且对所提出的解决方案进 行了详尽的测试,结果表明所设计的框架和解决方案在准确性和安全性方 面都有不错的表现。 基于、v c b 的工作流管理系统的研究与实现 1 1 问题概述 l 1 1 研究背景 第1 章概述 当前,工作流管理系统广泛应用于企业业务过程重组( b u s i n e s s p r o c e s sr e e n g i n e e r i n g ,简称b p r ) 和经营过程自动化( b u s i n e s sp r o c e s s a u t o m a t i o n ,简称b p a ) 的各个相关领域。具有代表性的商业化的基于w e b 工作流管理系统有a c t i o nt e c h n o l o g i e s 公司的m e t r o ;u l t i m u s 公司 u l t i m u s 等等。另外,w e b w o r k 是基于w e b 的工作流管理系统产品,也是 m e t e o r 项目的一部分,它是完全基于w e b 技术实现的工作流产品,它可以 利用w e b 浏览器为用户提供一个通用友好的界面,而且它可以很容易地、 不附加任何多余代价地布置在多个计算机平台上。 进入二十世纪九十年代以后,随着计算机技术和网络技术的飞速发展, 特别是基于w e b 的企业级分布式应用程序的应用日益普及的情况下,基于 w e b 的工作流管理系统也得到飞速发展。 i n t e r n e t 技术的普遍应用,为工作流的执行和管理提供了分布式的系 统基础设施;另外,还提供了w e b 方式的接口,使得工作流管理系统的用 户通过w e b 浏览器就能够定义工作流,执彳亍工作流的特定任务,以及监控 和管理工作流的执行,这两方面因素促进了基于w e b 的工作流管理系统的 发展。 基于w e b 的工作流管理系统为异地办公及跨企业的合作提供了良好的 基础,采用w e b 技术己成为新一代工作流管理系统的主要特征。 基于w e b 的工作流管理系统的实施,使得工作流技术几乎可以应用于 任何的企业或组织。工作流技术已经成为企业计算( e n t e r p r i s e c o m p u t i n g ) 的核心技术,工作流管理系统也成为快速发展软件系统之一, 2 基于、b 的工作流管理系统的研究与实现 工作流相关技术的研究已经成为i t 界的热点。在国内,随着市场经济的 发展,政府机构改革的深入,社会和经济信息化步伐的加快,i n t e r n e t 接入以及网上业务的普遍存在必要,形成了对工作流管理系统的巨大需 求。 1 1 2 目前国内外对该问题的研究 国内外对于基于1 v e b 的工作流管理系统的研究工作主要集中在以下三 个方面:第一是相关理论基础的研究,包括基于w e b 的工作流管理系统的 体系结构“m “、系统模型、活动流转模式“3 、过程定义语言、过程实例的 执行算法“”“以及相关接口等;第二是实现技术的研究,包括基于w e b 的 工作流管理系统的权限控制”1 、过程定义工具、角色分配、动态文档及 表单问题、安全因素和事务性相关策略等;第三是相关应用的研究,包括 基于w e b 的工作流管理系统的实施方法、应用集成o 。 实际上,完全基于w e b 的工作流管理系统的成熟的商业化产品并不多, 而且实现的技术也不够成熟,存在的这样那样的问题。另一方面,有许多 计算机科学专家,对基于w e b 的分布式工作流管理系统的安全性,可靠性, 性能问题,事务型能力,异常处理及错误恢复策略等方面做了很多的理论 研究工作,取得了一定的成果,但是在实际的应用中还存在许多问题。所 以,本文体现良好的理论联系实际的方法,在对基于w e b 的工作流管理系 统的相关理论基础进行深入研究的同时,设计并且实现一个采用当今最新 技术的基于w e b 的工作流管理系统,并且成功付以实施。 1 2 本文的工作 本文以作者负责的广州市无线电管理办公室的业务处理系统为项目 背景,设计并实现了基于w e b 的工作流管理系统框架。该系统基于j 2 e e 架构及关系数据库管理系统,利用j 2 阴提供的底层通信机制和对组件、 安全和事务的管理机制以及关系数据库管理系统对数据的管理能力,设计 并实现一个基于w e b 的工作流管理系统。本文详细描述它的结构与设计思 路,然后针对目前在几个关键技术问题上解决办法的不足,提出了比较完 3 基于w 曲的工作流管理系统的研究与实现 善的解决方案,并且在所实现的基于w e b 的工作流管理系统中进行充分的 测试,实施效果显著。 1 3 本文的组织 本文章节组织如下: 第l 章对问题的概述,并且简单介绍相关研究背景以及国内外的相关 研究状况。 第2 章介绍工作流的一些相关知识,包括工作流的产生与发展历史、 基本概念、工作流管理系统有关知识以及当前国际上研究动态。 第3 章详细描述一个基于w e b 的工作流管理系统框架的设计。 第4 章详细描述核心部件工作流引擎的设计以及实现,其中包括对几 个关键技术问题的解决方案的介绍。 第5 章介绍了该基于w e b 的工作流管理系统的应用情况。 第6 章对本文工作的总结以及展望。 4 基于、v e b 的工作流管理系统的研究与实现 第2 章工作流技术概述 2 1 产生与发展历史 工作流的概念起源于生产组织和办公自动化领域,它是针对日常生活 中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成定义 良好的任务,并且分配给相应的参与者即角色,按照一定的规则和过程来 执行这些任务,并对它们进行监控,以提高办事效率,降低生产成本,提 高企业经营管理水平和企业竞争力。 二十世纪八十年代初期,为了适应企业对无纸化、计算机使能的工作 环境的需要,出现了表单传递应用系统( f o r m r o u t i n ga p p l ic a t i o n ) , 用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工作 流管理系统的雏形。 二十世纪八十年代中期,f “e n e t 、v i e w s t a r 等公司率先开拓工作流 产品市场,成为最早的一批工作流产品供应商。他们把图像扫描、复合文 档、结构化路由( s t r u c t u r e dr o u t i n g ) 、实例跟踪、关键字索引以及光 盘存储等功能结合在一起,形成一种全过程支持某些业务过程的集成化的 软件( 包) ,这便是早期的工作流管理系统。 进入二十世纪九十年代,随着计算机的普及、计算机网络的延伸,现 代企业信息资源越来越表现出一种异构、分布、松散耦合的特点,企业的 分散性、决策制定的分散性、对日常业务活动相近信息的需求以及 c l i e n t s e r v e r 体系结构、分布式处理技术( c o r b a 、w w w 、0 l e 、j a v a ) 的 目益成熟,都说明了这样的事实一集中式信息处理的时代已经成为过去, 实现大规模的异构分布式执行环境,使得相互关联的任务能够高效运作, 并接受密切监控已经成为一种趋势。在这种背景下,工作流管理系统也从 最初的创建无纸办公环境,转而成为统一企业复杂信息环境、实现业务过 程自动执行的必要工具。 基于、v c b 的工作流管理系统的研究与实现 国际工作流技术的标准化组织一工作流管理联盟( w o r k f l o w m a n a g e m e n tc o a l i t i o n ) 于1 9 9 3 年成立,这标志着工作流技术在计算机 研究领域正式占有一席之地,相应的概念和术语也得到人们的承认。在全 球范围内,对工作流的技术研究以及相关的产品开发进入更为繁荣的阶 段,更多新技术被集成进来,文件管理系统、数据库、电子邮件、移动式 计算、i n t e r n e t 服务等都被集成到工作流管理系统中。随着计算机技术的 发展,各种新技术不断融入到工作流管理系统中,工作流技术本身也得到 不断的完善。 2 2 相关概念 2 2 1 工作流 国际工作流管理联盟( 并f m c ) 给出的工作流定义“:“工作流是一类能 够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信 息或任务能够在不同的执行者之间进行传递和执行。” 2 2 2 工作流管理系统 国际工作流管理联盟( w f m c ) 给出的工作流管理系统定义“:“工作流 管理系统是一个通过使用软件来定义、创建和管理工作流的执行的系统。 工作流管理系统运行于一个或者多个工作流引擎之上,工作流引擎可以对 过程定义进行解释,可以与过程参与者进行交互,必需时也可以为工作流 管理系统调用其它应用程序。” 根据以上工作流和工作流管理系统的定义,结合本系统所涉及业务的 特点和本人对工作流技术的理艇,我们给出如下定义: “工作流是一种反映业务过程的计算机形式化描述的模型,它是为了 利用计算枧环境实现业务过程自动化而建立的业务模型。而工作流管理系 统则是实现并执行工作流的整个软件环境。” 2 。2 。3 工作流模型 基于、v e b 的工作流管理系统的研究与实现 工作流模型是对工作流的抽象化表示,也就是对业务过程的抽象化表 示。工作流模型包括对业务过程中的活动以及活动之间的关系的描述,还 包括活动问传递的信息、活动的执行实体、活动执行所需要的资源等的描 述。 一个工作流管理系统必需的完整的工作流模型通常包括过程模型、信 息模型和组织模型三部分,过程模型直接描述业务过程的运作,组织模型 描述活动的执行实体,信息模型描述活动间传递的信息和活动执行中所需 的资源。过程模型是工作流引擎的核心,组织模型和信息模型为其提供支 持。 2 2 4 业务过程 业务过程就是为了实现企事业某个业务目标而执行的过程。它在部分 或全部组织结构和人员的参与下,利用企业信息资源,按照预先定义的规 则,在参与者和组织结构之间完成文档、信息和任务的传递和处理,从而 实现预期的目标。 2 2 5 活动 活动是业务过程的组成元素,业务过程的每一个独立任务对应一个活 动,按照活动之间的关系执行完某过程的所有活动后,那么此过程就完成 了。根据执行方式的不同,活动分为系统完全自动执行的活动和需要人工 干预完成的活动。 活动以及活动之间的连接关系是工作流中两个最基本的元素。活动对 应经营过程中的任务。活动之间的连接关系代表经营过程的规则和业务过 程。一个企业的经营过程还需要设计参与操作的人员、组织和所操作的数 据等。 2 2 6 过程,活动实例 7 基于w 曲的工作流管理系统的研究与实现 实际运行中的一个过程活动。每个实例代表一个能独立控制执行、具 有内部状态的线程,可以被外界通过相应的标识进行存取。 2 ,2 7 工作项,工作项列表 在一个业务过程实铡的执行中,参与者在活动中需要完成一定的工作, 工作项就是需要业务过程参与者在活动中处理的工作的表现形式。工作项 一般以列表的形式显示,称为工作项列表。 2 2 8 各概念之问关系 下图给出了工作流相关基本概念之间的联系: 图2 一l 工作流基本概念关系图 2 3w f m c 工作流参考模型及体系结构 工作流管理系统就是利用工作流技术来实现企业业务过程自动化的系 统。总得来说,工作流管理系统包括以下几点;首先,对业务过程进行形 式化描述:然后,对业务过程的形式化输入进行相关处理;并且对业务过 程的整个流转情况进行监控;而用户则直接通过客户端对工作流管理系统 进行使用。因此,工作流管理系统通常包括过程定义工具、工作流引擎、 系统管理工具以及客户端应用。 从系统的各个时间段以及与客户端的交互来看的话,工作流管理系统 应该提供以下功能: 1 ) 建立阶段( b u i l d t i m e ) :对工作流过程、相关活动以及数据进行形 8 摹于w 曲的工作流管理系统的研究与实现 式化定义和完整建模。 2 ) 运行阶段( r u n t i m e ) :在一定的运行环境下,对工作流过程实例 的执行以及相关活动实例的调度进行控制。 3 ) 运行时与用户、i t 应用程序之间的交互:在活动的执行过程中, 需要与用户、i t 应用程序之间进行各种交互。 工作流管理系统的原理以及上述三个功能之间的关系,图示如下: :”目t ! j :! ! ! ! :i ! i :! :竺; 建ih l 一 i 再1 一一,! 兰三;卜 。;。 j j i i ;j i i = f f 二珏 i ;i 耋6 ”= 刊:嚣! :i 图2 2 工作流管理系统特性 为了实现不同的工作流产品之间的良好协作,国际工作流管理联盟 ( w f m c ) 提出了一个工作流的参考模型,描述了工作流体系结构的各个组 件、组件间接口及数据交换格式3 。如下图: 图2 3w f m c 工作流参考模型 工作流执行服务周围的接口是w o r k f l o wa p i s ( 简称w a p i ) ,通过这些 接口可以访问工作流执行服务提供的各种功能。下面结合本文所设计和实 现的系统,对各个主要部分进行介绍; 2 3 1 过程定义工具 过程定义工具就是进行过程定义的相对独立的应用程序。过程定义是 9 基于、b 的工作流管理系统的研究与实现 工作流管理系统的基础。过程定义就是对实际业务过程进行建模、分析, 并目生成可以被计算机处理的业务过程的形式化描述,即过程定义。过程 定义包含了执行过程所需的各种相关信息,比如过程的开始和结束条件、 构成过程的活动与活动之间的执行关系、活动对应的执行者( 也叫角色) 的相关信息、对外部应用程序的调用情况、工作流管理系统相关数据的定 义等等。过程定义的正确性和完整性,直接影响到业务过程自动化目标的 实现,也决定了工作流管理系统所支持的应用范围。 2 3 2 工作流执行服务及工作流引擎 工作流执行服务使用一个或多个工作流引擎,为过程实例和活动实例 提供运行环境,主要负责解释和激活过程定义,控制过程的初始化及后续 活动,添加工作项到用户对应的工作项列表,与过程所需的外部资源或外 部应用程序进行交互。工作流引擎是工作流管理系统的核心,为工作流过 程实例和活动实例提供运行时期的执行环境。工作流引擎实际上是业务过 程的任务调度器,在某种程度上也可以说是企业资源的分配器。在采用工 作流管理系统支持经营过程运行的企业中,工作流引擎可以看成是企业的 业务操作系统( b o s ) 。工作流引擎的主要功能包括:解释过程定义、控制 过程实例( 创建、激活、挂起、终止等) 、调度活动实例的运行、创建各 种工作项( 待处理工作项、已完成工作项等) 、维护工作流控制数据和相 关数据、维护用户的工作项列表等。 2 3 3 工作流控制数据 工作流控制数据是指由工作流引擎管理的系统数据,例如工作流过程 实例的状态信息、活动实例的状态信息等。工作流执行服务工作流引擎, 通过内部的工作流控制数据来辨别单个过程或活动实例的状态。这些数据 由工作流执行服务工作流引擎控制,用户、应用程序或其它的工作流引擎 工作流执行服务不能对其进行直接的读写操作,它们可以通过向工作流执 行服务工作流引擎发送消息来获得工作流控制数据的内容。 1 0 基于、v e b 的工作流管理系统的研究与实现 2 3 4 工作流相关数据 工作流相关数据是指与业务过程相关的数据。工作流管理系统通过工 作流相关数据来确定过程实例状态转换的条件,选择下一个执行的活动实 例。这些数据既可以被工作流引擎访问,可以被工作流应用程序访问并修 改。 2 3 5 工作流应用数据 工作流应用数据是指那些由应用程序操作的数据。它们是针对应用程 序的,工作流管理系统其它部件无法对它们进行访词。 2 3 6 工作流管理工具 工作流管理工具是工作流管理系统的重要组成部分,主要负责系统管 理和监控。系统管理和监控主要是对工作流管理系统的整个运行状况进行 监控,并提供一系列的管理功能,比如有关安全性、对过程实例的控制和 授权操作等方面的管理。主要功能包括以下几个方面: ( 1 ) 创建、设置和优化工作流管理系统的各个组成部分: ( 2 ) 对过程模型进行实例化; ( 3 ) 将过程模型中的角色实例化,并且建立角色与活动实例之间的映 射; ( 4 ) 将运行中的过程实例、活动实例和数据分发到各个工作流引擎中: ( 5 ) 启动、挂起、恢复和终止过程实例; ( 6 ) 管理正在执行的过程实例,并对正常或异常退出的过程实例的历 史数据进行统计和分析。 2 3 7 工作流客户应用 工作流客户应用是用户使用工作流管理系统的重要工具。基于w e b 的 客户端有着原有特定开发的客户端所不可比拟的优势,其最重要的意义在 基于聃乙b 的工作流管理系统的研究与实现 于将企业网站与后台系统紧密相连,使客户、供应商或者合作伙伴等整个 供应链的参与者都能方便地参与企业的业务过程,从而为企业利用现有的 i t 系统实现电子商务提供了有利条件。从w e b 客户端上直接驱动工作流, 也更大程度地支持和方便了内部员工的异地办公。工作流引擎通过工作项 列表管理器来对客户端对应的工作项进行控制。工作流管理系统通过工作 项列表实现了工作流客户端与工作流引擎之问的通讯。 2 3 8 、张p l 与接口 w a p i 是一系列工作流应用编程接口( a p i ) 函数以及相应的数据交换格 式定义函数。其中通过调用a p i 函数完成连接建立、过程控制、活动管理 等功能,而数据交换函数剐完成数据交换格式的定义,以满足过程数据和 工作流相关数据之问的传递的需要。通过调用这些接口函数,可以完成 w f m c 工作流参考模型定义的五类接口的功能实现。 w f m c 工作流参考模型所定义的五类接口分别是: 1 ) 接口一:指工作流执行服务与过程定义工具之间的接口,包括工作 流模型的读写和解释操作。 2 ) 3 ) 4 ) 5 ) 接口二:指工作流执行服务与工作流客户应用之间的接口,对客户 应用与工作流执行服务之闻的所有功能操作进行规定,是工作流管 理系统中最主要的接口。 接口三:指工作流引擎与其直接调用的应用程序之间的接口。 接口四:指工作流执行服务之间的互操作接口。 接口五:指工作流执行服务与工作流管理工具之问的接口。 2 3 9 体系结构 下图是w f m c 工作流参考模型的体系结构图。该体系结构给出了工作 流管理系统的各个功能组成部件和接口,它能够满足工作流管理系统和产 品所应该具有的主要功能特征,可为实现工作流产品之问的互操作提供公 共的基础1 。 基于w 曲的工作流管理系统的研究与实现 图2 4w f 埘c 工作流管理系统体系结构 2 4 当前的研究热点及发展趋势 经过二十几年的努力,工作流技术的研究和发展取得了一定的成果。 但是实际应用工作流技术的企业较少,而且应用范围较窄,效果不理想。 j b p m ( j a v ab u s i n e s sp r o c e s sm a n a g e m e n t ) 项目专家t o mb a e y e n s 在他的 t h es t a t eo fw o r k f i o w 中用“年轻而混乱”来形容当今工作流产品 市场。这与工作流产品的全面性、集成性有关,也与企业应用的状况有关, 具体有以下几点: 1 ) 建立工作流底层环境的开销 2 ) 标准化程度差 3 ) 系统的集成性不理想 4 ) 实现的复杂性 5 ) 系统的安全性 6 ) 企业管理者的观念改变 工作流管理系统的研究热点和发展趋势可以概述为以下几点: 1 ) 更为灵活的过程模型 过程模型比较“死板”是工作流管理系统的一个瓶颈,对过程定义 及过程实例的动态修改会带来一系列连串的困难,因此需要寻找更 为灵活的过程模型。 2 ) 面向对象的工作流管理系统 3 ) 智能化的工作流管理系统 基于曲的工作流管理系统的研究与实现 在过程的执行过程中,由于实际情况的变动,需要修改过程模型中 相应的参数,因此需要通过实例学习的方法完成业务过程的自动建 模,能从各用户的实际工作中提取出各种参数以取得相应定义。 4 ) 对同步协作的更有效支持 强调各参与者的实时交流,如撰写文章或者讨论问题。 5 ) 对移动用户的支持 6 ) 分布式工作流 工作流管理系统从支持单个工作组环境开始,实现逐步提高到企业 级的功能需求。这样,单个工作流程就要允许跨越广域网上的多个 服务器和客户端。通过并行计算、资源共享、分布操作使其可扩展 性、可管理性得以充分体现。 7 ) 事务性工作流 这方面的研究主要是将一些高级事务模型等应用到工作流管理系 统的过程实例执行中,以提高工作流管理系统的可靠性、一致性和 完整性。 1 4 基于、v e b 的工作流管理系统的研究与实现 第3 章基于w e b 的工作流管理系统的设计 3 1 开发背景及设计思想 3 1 1 开发背景 随着企业业务过程重组( b p r ) 的广泛应用,企业或者机关的日常工作过 程迫切需要实现自动化。当今,j 2 e e 技术广泛应用于企业级分布式应用程 序的构建。企业之间的合作越来越频繁,为适应市场变化,增强企业竞争 力,企业的生产策略和业务过程需要经常适时的变化,这就要求企业业务 过程具有柔性,能够持续进行改进,于是就必然要求工作流管理系统具有 动态性、大规模性和分布性。于是,采用1 1 e b 技术成为当今薪一代工作流 管理系统的主要特征。 3 1 2 设计思想 当前,国际上有不少的商用工作流管理系统产品,在因特网上也有不 少的开放源代码的工作流管理系统相关模块。我们在设计系统的同时也参 考了一些开放源代码的工作流引擎以及其它工作流管理系统相关模块的 设计,在实现中提取了这些开放源代码产品的一些算法,结合在我们的工 作流管理系统中。过程定义工具采用了j a w e ( j a v aw o r k f l o we d i t o r ) 工 具,而工作流引擎则采用并且有针对性的改进了s h a r k 源代码,完全采用 j 2 e e 架构,用j a v a 编写了相关的系统管理和监控工具,以及w e b 客户端。 系统支持用户通过w e b 浏览器来使用工作流管理系统在客户端的功能,允 许用户通过w e b 浏览器启动和管理控制工作流过程实例和活动实例的运 行、管理t 作项列表、监控管理工作流状况、对执行人员进行角色分配等。 基于w 曲的工作流管理系统的研究与变现 系统使用u m l 工具r a t i o n a lr o s e 作为系统分析和建模的工具,阻j a v a 作为开发语言。由于j a v a 具有良好的跨平台性,我们的工作流管理系统 具有很强的可移植性,能在多种支持j a v a 虚拟机的平台上运行,如 w i n d 。w s 、l i n u x 、u n i x 等。 3 2 系统平台需求 为做到基础数据共享、处理大量流程、信息传递稳定和高可靠性,并 且使系统便于实施,我们选择现在非常流行的j 2 e e 平台。 3 2 1j 2 e e 概念 j 2 e e 是一种莉用j a v a 2 平台来简化企业解决方案的开发、部署和管理 相关的复杂闯题的体系结构。 3 2 2j 2 e e 的结构 j 2 e e 的结构是基于组件的,具有平台无关性,业务逻辑封装成可复用 的组件,j 2 e e 应用服务嚣以容器的形式为所有的组件类型提供后台服务。 具体架构如图所示; 图3 一lj 2 e e 结构图 以j 2 e e 三层结构构筑的业务处理系统的优势在于:业务开发、部署、 运行、管理、连接等方面具有高度的统一性和规范性,能够满足系统对可 伸缩性、可扩展性、可靠性、可用性、可管理性、安全性的需求,能够以 1 6 基于、v e b 的工作流管理系统的研究与实现 组件化、模块化的方式,从政务内外网为用户提供服务。 系统前端可分为浏览器和客户端两种方式,中间层包括w w w 服务器、 应用服务器和页面模板,底层是数据库系统或其他业务系统。中间层的服 务器上运行系统的组件,这些组件全部以j a 、,a 技术构造,负责所有业务 逻辑的处理,通过中间件与数据库打交道,并通过x m l 格式的数据流输 出与模板文件之间进行数据交换,而模板文件接受数据流后,经过解析显 示正确的页面给用户。模板文件主要由h t m l 页面和x s l 页面组成,只 要修改模板文件,改变对组件的调用和接 _ | 的数据输入,就可以组成千变 万化的商务逻辑。如果有必要,可以随时扩展组件数量和种类以满足更新 的功能要求。系统结合相关行政业务处理的特点,后台采用o r a c i e 关系型 数据库管理系统。 3 3 体系结构及功能模块 3 3 1 体系结构 从逻辑层次上看,系统采用三层体系结构:表示层、应用逻辑层和数 据访问层,这是当前企业级基于j 2 e e 分布式应用的主流架构。整个基于 w e b 的工作流管理系统的体系结构如下图所示: 图3 2 基于w e b 工作流管理系统体系结构 从功能模块上看,我们所设计的工作流管理系统参考了国际工作流联 盟( w f m c ) 的参考模型,系统主要包括一个过程定义工具、一个工作流引 擎、工作流管理和监控子系统以及w e b 客户端。整体架构如下图所示。 1 7 基于w 曲的工作流管理系统的研究与实现 e 坑。蕾理员】贰兜用户监,咩奇br 1 图3 3 基于w e b 工作流管理系统整体结构图 工作流管理系统各部分功能描述如下 3 3 2 过程定义工具 我们采用当前国际上最好的开放源代码的工作流建模工具e n h y d r a j a w e ( j a v aw o r k f l o we d i t o r ) ,j a w e 是第一个开放源代码的图形化过程 定义工具,它完全符合w f m c 规范,以x p d l ( x m lp r o c e s sd e f i n i t i o n l a n g u a g e ) 作为输出文件格式,并且支持l d a p 连接,可以导入任何有效的 x p d l 以及其图形化描述。j a w e 可以作为各种工作流引擎的过程定义工具。 比盘日s h a r k ,o b e ,w 删o p e n 等。 使用j a w e 对实际业务过程进行图形化建模,以x p d l 格式生成业务过 程的形式化描述,即过程定义。这就是过程定义工具的功铑。 w f m c 为过程定义工具提供了一个接口,这个接口定义了一个公共元模 型,用来描述过程定义和作为过程定义接口的x m l ( 即x p d l ) 。使用这个元 模型,j a w e 可以把x p d l 格式的模型作为公共交换格式在各个工作流产品 之闯传递。过程定义工具主要功能结构如下图: 图3 4 过程定义工具功能结构图 过程定义工具由工作流管理系统的系统管理员使用, 三要功能是将f 1 常的业务过程编制好,将定义存储在系统中;同时也可以对已经定义好的 1 8 尊于w 出的工作流管理系统的研究与实现 过程进行修改。 下图是我们系统里面其中一个业务过程定义的示例: 图3 5 一个业务过程定义实例 由于篇幅所限,我们只把上图对应的x p d l 描述的主要结构标识如下: ( w o r k f lo w p r o c e s s ( w o r k f l o w p r o c e s si d = ”g z r r o a p p l y r s c r a t e ”n a m e = ”设台申请” ( p r o c e s s h e a d e rd u r a t i o n u n i t :“d ” 2 0 0 4 一0 6 一0 91 3 :3 1 :4 4 其它d a t a f i e l d 1 0 基于、v e b 的工作流管理系统的研究与实现 a p p l y m g r p r o c e s s m g r s v t ? a c t i o n i d = r s p r o c e s s g zr r oa p p l yr s 其它e x t e n d e d a t t r i b u t e 其它a c t i v i t y 其它t r a n s i t i o n 3 3 3 工作流引擎 s h a r k 是一个可扩展的基于w e b 的工作流引擎框架,包括一个完全基于 w f m c 规范、使用x p d l ( 没有任何扩展属性) 作为工作流过程定义格式的 完整实现;并且提供一系列t o o la g e n t 在服务器端对系统活动进行处理。 工作流引擎是为工作流过程实例和活动实例的执行提供运行环境,它主要 提供以下功能: 1 ) 对过程定义进行解释; 2 ) 控制过程实例的生成、激活、挂起、终止等; 3 ) 控制活动实例间的转换,包括串行或并彳亍操作、工作流相关数据的 解释等; 4 ) 支持用户操作的界面; 2 0 基于、v e b 的工作流管理系统的研究与实现 5 ) 维护工作流控制数据和工作流相关数据,在应用或用户间传递工作 流相关数据; 6 ) 提供用于激活外部应用程序和访问工作流相关数据的界面: 7 ) 提供控制、管理和监督的功能。 工作流引擎的重要功能是控制过程实例和活动实例的状态转换。工作 流管理联盟的参考模型中为过程实例的运行状态和活动实例的状态进行 了定义,并给出了状态转换的条件。文献 1 5 给出了能对确定型和非确定 型工作流进行控制的基于w e b 的工作流引擎,并对工作流引擎所使用的任 务表结构、流向控制及消息通知机制进行了较为详细的描述。 工作流引擎是工作流系统的核心,管理员可以通过工作流引擎实现工 作流执行服务;普通用户在登录到系统中,工作流引擎根据其角色列出相 应的工作项列表,用户具体办理工作项列表中的工作任务时,工作流引擎 根据选定的任务调用相应的应用程序来完成。 工作流引擎为管理员设定业务过程流转规则、分配业务过程的角色、 1 最置用户工作任务角色;为普通用户列出工作任务,为具体的一项工作任 务调用工作程序;这样将业务系统和工作流系统紧密结合在一起,从而实 现了工作任务管理和业务办公的一体化。基于w e b 的工作流引擎,支持企 业级管理,不再局限于办公自动化0 a “。 通过灵活的工作流引擎,帮助职能部门内部实现小审批流程,同时, 通过各级小审批流程的组合,又可以形成整体大的审批流程。工作流引擎 负责后台的流程自主调度与控制,同时,根据政府部门信息系统物理分布 的特点,支持完全分布的工作流回告等多种操作模式。工作流引擎符合 w f m c 工作流参考模型的接口四标准。同时,工作流引擎通过提供可视化 图形工具界面方便最终用户的使用。 3 3 4 工作流管理和监控子系统 工作流监控子系统由督办部门和领导使用。主要职责是查询和统计各 个部门对项目的办理情况,同时对超期项目进行督办。该子系统能提供各 个部门或者个人工作效率的一个参考依据。 工作流监控子系统主要用于对工作流的监督和控制,根据过程实例数 基于w c b 的工作流管理系统的研究与实现 据库的过程实例与过程定义中的定义提供的比较基准,判断工作是否超 时、是否需要督办、工作是否完成。这些信息可以通过信息发布系统对外 发布。如对经办人进行督办,通过触摸查询系统,提供业务办理情况。用 户只与工作流客户端应用程序打交道,而且与应用模块浑然一体,实现真 正的图文一体化集成。 3 3 5w e b 客户端 w e b 客户端对过程中的数据进行显示,并且对用户的操作清求进行响 应。我们综合采用h t m l 、j s p 、s e r v l e t 和j a v a s c r i p t 技术来实现。为方 便系统的维护和设计,我们将显示和处理部分分开实现,采用 m o d e 卜v i e w c o n t r o l l e r ( m v c ) 模式。以s e r v l e t 充当c o n t r o l l e r 角色, 负责处理客户端请求和页面流转;j a v a b e a n s 充当m o d e l 角色,对业务逻 辑和数据进行封装;j s p 充当v i e w 角色,负责用户操作赛面的生成并显示。 对应于用户提交的每个申请过程的第一步,我们提供一个表单,用来 填写和保存各申请项的内容。而每一个表单又对应着一个具体的s e r v l e t , 这个s e r v l e t 对应一个具体的j a v a 管理类和若干个相关的数据库表( 每 个数据库表对应一个v a l u eo b e j c t ) ,此s o r v l e t 负责响应用户的操作请 求,执行相应的方法,并且流转到相应的j s p 页面。 比如下图所示,“查看任务”和“启动任务”的设计就体现了上述方法: 基于w 出的工作流管理系统的研究与实现 图3 6w e b 客户端设计实例 3 4 关键信息技术解决方案 3 4 1 基于j d b c 的数据库连接池高效管理策略 本文在对数据库连接的透彻分析的基础上,提出并且实现了一个高效 的数据库连接池管理策略。特别是,对于连接管理的两个难点一事务和多 线程并发性问题进行了深入的剖析。给出了一个基于设计模式的解决方 案,避免了对于数据库连接的随意、无规则的使用。 本系统把数据库连接管理设计为一个通用组件d b a c c e s s ,可为多种关 系数据库管理系统提供“插拔式”服务,通过简化数据库连接、查询、事 务阻及连接池,提高数据存取效率。 具体功能包括: 1 ) 获取数据库连接:通过组件快速获取数据库连接。 2 简单s q l 查询:执行通过命令名字指定的s q l 查询。 3 ) 批量s q l 查询:执行s q l 查询,并且返回结果的所需部分。 4 ) 调用数据库函数:执行存储过程。 5 ) 处理事务:支持嵌入式数据库事务。 基于铀的工作流管理系统的研究与实现 原理如下图: runs olc a nd = r 1 t 3 4 2 在线打印策略 图3 7d b a c c e s s 组件原理图 本系统涉及的业务过程台有大量的在线打印需要。因此也设计并且实 现了一个w e b 打印组件一r e p o r t b e a n 类。r e p o r t b e a n 类主要是基于 i n e t s o f t 公司的s t y l er e p o r tv 4 3p r i n t i n ge d i t i o n 提供的a p i 的基 础而设计的。因此,r e p o r t b e 8 n 类中的很多属性及方法都可从s t y l e r e p o r ta p i 中对应的属性及方法缺射而来。或者利用s t y l er e p o r t 提供 的有关a p i 实现。 主要功能包括: 1 ) 支持多种报表类型;包括数据表报表,文本报表等。 2 ) 支持多种数据源:关系数据库,文本文件等。 3 ) 支持独立的数据访闯对象( d a t aa c c e s so b j e c t ) 提供的数据结果集 作为报表的数据源。 4 ) 提供丰富的预定义表格格式以便使用,也可以灵活设置报表的显示 属性,如字体、颜色等。 5 ) 可根据需要设置数据源中要在报表中显示的数据表列。 6 ) 提供多种报表输出方式:打印输出及预览,x m ls t r e a m 等。 7 ) 支持多种格式的文件导出:比如c s v ,r t f 以及x m l 文件。 8 ) 可对报表中的一列或多列进行排序:升序或降序。 9 ) 可对报表中的一列或多列进行分组及汇总。 1 0 ) 提供基于模板的报表技术:对于复杂的报表,可根据模板定义的格 式输出报表。 1 1 ) 接口简单,只有五十多个接口函数,常用的只有十多个,易于使用 基于豫b 的工作流管理系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论