(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)基于ssh的工作流引擎webflow的设计与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 工作流管理技术是最近几年来在计算机领域中发展最为迅速的几种新技 术之一,并且已经成为当前i t 领域的一个研究热点。同时,工作流技术作为 现代企业实现过程管理与过程控制的一项关键技术,为企业的经营过程提供 了从模型分析、建立、管理到运行的完整框架。 工作流引擎是工作流管理系统中最重要的部分,它根据建模工具建立的 流程模型来推进流程的执行。并按照每个人的角色合适地分配任务,从而达 到提高工作效率的目的。它的功能包括:解释流程定义、创建流程实例并控 制其执行、调度各项活动、为用户工作表添加工作项、通过应用程序接口( a p i ) 调用应用程序、提供监督和管理功能等。 本论文首先根据工作流管理联盟给出的工作流参考模型,结合工作流管 理系统的发展趋势,对基于j 2 e e 体系架构的工作流管理系统框架进行研究。 在传统的关系数据库的基础上,本着易用、够用、简单、灵活的原则,设计 了一个轻量级工作流引擎,给出了一套轻量级工作流引擎的具体设计原理和 实现方法,通过把工作流模型分为组织模型、信息模型和控制模型,对工作 流模型进行了详细的分析,并给出了相关的组织模型、信息模型表示方法。 利用该引擎,开发者可以根据不同的业务需求自定义不同的工作流,实现具 有工作流性质的业务系统。 从轻量级出发,摒弃了传统j 2 e e 中使用e j b 技术导致的系统笨重、开 销较大且难移植的缺陷,采用s t r u t s + s p r i n g + h i b e r n a t e 技术,采用j a v aw e b m v c 框架s t r u t s 实现表示层,s p r i n g 框架实现业务服务层,对象,关系映射工 具h i b e r n a t e 实现数据持久层,普通的j a v a 对象实现域模型层。使引擎做到 了跨数据库和跨平台,并且其轻巧性可以很方便的嵌入到应用系统中。利用 关系结构定义工作流引擎所需处理的数据,使得这些数据能更好的同系统中 的其他信息融合,并利用成熟的关系数据库技术对这些数据进行有效的管理。 最后,概括了本文的研究工作,指出了下一步需继续研究的内容。 关键词:工作流引擎;模型;轻量缴;s s h 西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t w o r k f l o wm a n a g e m e n tt e c h n o l o g yi so n eo ft h el a t e s t t e c h n o l o g i e so f c o m p u t i n gi nr e c e n ty e a r s a n di th a sa l r e a d yb e c o m ear e s e a r c hf o c u so fp r e s e n t i tf i e l d a tt h es a m et i m e ,a st h ek e yt e c h n o l o g yo fp r o c e s sm a n a g e m e n ta n d p r o c e s sc o n t r o li nm o d e me n t e r p r i s e ,w o r k f l o wt e c h n o l o g yp r o v i d e st h ew h o l e f r a m e w o r ki n c l u d i n gm o d e la n a l y s i s ,m o d e lc o n s t r u c t i o n ,m o d e l m a n a g e m e n ta n d m o d e lr u n n i n g w o r k f l o we n g i n e ,t h em o s ti m p o r t a n tp a r to fw o r k f l o wm a n a g e m e n t s y s t e m , i sr e s p o n s i b l ef o rw o r k f l o wp r o c e s s e se x e c u t i o na c c o r d i n gt ow o r k f l o wp r o c e s s m o d e l sd e f i n e db ym o d e l i n gt o o l s a n di ta l s oa s s i g n sr i g h tt a s kt or i g h tp e o p l e w h oh a sr i g h tr o l e st oe n a b l eh i g hw o r ke f f i c i e n c y i t i n t e r p r e t st h ep r o c e s s d e s c r i p t i o n a n dc o n t r o l st h ei n s t a n t i a t i o no f p r o c e s s e sa n ds e q u e n c i n go f a c t i v i t i e s ,a d d i n gw o r ki t e m st ot h eu s e rw o r kl i s t s ,i n v o k i n ga p p l i c a t i o nt o o l sa s n e c e s s a r y , a n dp r o v i d i n gs u p e r v i s i o na n dm a n a g e m e n t a c c o r d i n g t ot h ew o r k f l o wr e f e r e n c em o d e l b r o u g h tb y 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 ,c o m b i n i n gw i t ht h ed e v e l o p m e n tt r e n do fw o r k f l o w m a n a g e m e n ts y s t e m ,t h ep 印e rr e s e a r c h e st h ew o r k f l o wm a n a g e m e n ts y s t e m f r a m e w o r kb a s e do nj 2 e e o nt h ep r i n c i p l eo fe a s i n e s s ,a d e q u a c y , s i m p l e n e s s a n df l e x i b i l i t y , t h ep a p e rp r e s e n t sa l i g h t w e i g h tw o r k f l o we n g i l i eo nt h eb a s i so f r e l a t i o nd a t a b a s e id e s c r i b eh o wt od e s i g na n di m p l e m e n ta l i g h t w e i g h tw o r k f l o w e n g i n e t h ep a p e ra n a l y z e st h ew o r k f l o wm o d e li nd e t a i l e db yd i v i d i n gi ti n t o t h r e ec o m p o n e n t s ,n a m e l yo r g a n i z a t i o nm o d e l ,i n f o r m a t i o nm o d e la n dc o n t r o l m o d e l ,a n dp r e s e n t sc o r r e l a t i v ee x p r e s s i n gm e t h o d so fo r g a n i z a t i o nm o d e la n d i n f o r m a t i o nm o d e l d e v e l o p e rc a nm a k eu s eo ft h i se n g i n et od e v e l o pab u s i n e s s s y s t e mw i t hw o r k f l o wp r o p e r t y s t a r t i n gf r o ml i g h t w e i g h t ,i td i s c a r d st h ed e f e c to fe j bu n t r a d i t i o n a lj 2 e e t a k i n gc u m b e r s o m es y s t e m ,l a r g eo v e r h e a da n dh a r dt r a n s p l a n t ,i n s t e a du s i n g s t r u t s + s p r i n g + h i b e r n a t et e c h n o l o g y , w h i c hm a k e st h ee n g i n ec a nc r o s s d a t a b a s ea n dp l a t f o r m ,a n dc a ne m b e da p p l i c a t i o ns y s t e mc o n v e n i e n t l y s t r u t sh a s b e e nu s e dt or e a l i z e p r e s e n t a t i o nl a y e r ,w h i l es p r i n gu s e dt or e a l i z eb u s i n e s s 西南交通大学硕士研究生学位论文第1 i i 页 s e r v i c e sl a y e r ,h i b e r n a t eu s e dt or e a l i z ep e r s i s t e n tl a y e r ,a n dp l a i no l dj a v ao b j e c t u s e dt or e a l i z ed o m a i nm o d e ll a y e r r e l a t i o n a ls t r u c t u r ei su s e dt od e f i n ed a t a h a n d l e db yw o r k f l o we n g i n e ,s ot h e s ed a t ac a nb ee x c h a n g e dw i t ho t h e rd a t ai n t h es a m es y s t e ms t r a i g h ta n de f f i c i e n t l ym a n a g e db yd b m s f i n a l l y , t h ep a p e rs u m m a r i z e st h er e s e a r c hw o r k ,a n dp o i n t so u tt h ef o l l o w i n g s t u d yc o n t e n t s k e yw o r d s :w o r k f l o we n g i n e ;m o d e l ;l i g h t w e i g h t ;s s h ; 西南交通大学曲南父遗大罕 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段 保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书: , 2 不保密d ,使用本授权书。 ( 请在以上方框内打“ ) 学位论文作者签名:i 雷量 同期: 知。牙,b - 2 2 指导老师签名: 日期:琊 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 一、整合s t r u t s 、s p r i n g 、h i b e r n a t e 三个框架并将其作为工作流引擎 w e b f l o w 的系统框架,使得该工作流引擎的层次分明,具有良好的扩展性、 可维护性和可移植性。 二、研究了w f m c 组织制订的工作流规范,在详细分析比较各种工作流 模型及其基本技术、实际项目业务需求的基础上,选择了形象直观、可读性 最好的有向图作为建模方案。从轻量级的角度出发,提出了工作流引擎 w e b f l o w 的总体结构和各模块的功能。 西南交通大学硕士研究生学位论文第1 页 1 1 课题背景及意义 第一章绪论 随着企业生产力水平的逐步提高,传统的、依靠保存在人头脑中的流程 来管理企业,已经无法适应现代化企业大规模、高效率发展的模式,取而代 之的,应该是依赖于计算机的全自动化管理,对企业的各个业务流程进行计 算机建模,通过建模来调整和整合企业的资源,使其向着科学化管理的方向 发展。和传统企业不同,现代企业越来越强调以过程为中心的管理模式,过 程集成日益受到企业管理者的重视。工作流技术正是实现过程集成的有效途 径之一。如今,工作流技术已经成为计算机应用领域的一个新的研究热点。 本文研究的思路是对工作流技术标准化组织提出的标准与规范进行研 究,在此基础上提出一个基于s s h ( s t r u t s4 - s p r i n g + h i b e r n a t e ) 框架的轻量级 1 1 - 7 作流引擎w e b f l o w ( w e bb a s e dw o r k f t o w ) 的设计方案并进行实现,将其运 用在四川省水利院项目勘测设计动态管理系统中,进行系统的应用验证。 1 2 国内外研究现状 1 9 9 3 年8 月,工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m o 的成立标志着工作流技术进入了相对成熟和规范的阶段【2 。该联盟是一个非 赢利性组织,由国际著名的公司、研究机构,高等院校等约3 0 0 家成员构成, 该组织为了实现不同工作流产品之间的互操作,对工作流管理系统的体系结 构、相关术语【3 】及应用程序接口1 4 1 、管理控制接口1 5 1 、过程语言描述1 6 】等方面 制定了一系列标准,并在1 9 9 4 年1 1 月2 9 日,发布了工作流管理系统的参考 模型。工作流参考模型的发布,无论对学术上工作流理论的研究,还是对市 场上工作流产品的标准制造都起到了积极的推动作用。 从8 0 年代工作流技术研究开始以来,国际上已经出现了大量相关产品l n , 其中有代表性的工作流管理系统有:i b m 公司的基于持久消息队列的分布式 西南交通大学硕士研究生学位论文第2 页 工作流系统e x o t i c a f m q m l 8 i ( f l o w m a r k o nm e s s a g eq u e u em a n a g e r ) ;佐治亚大 学计算机系研究开发的具有自适应能力的工作流管理系统m e t e o r i 明 ( m a n a g i n ge n d t o e n do p e r a t i o n ) ;德国和瑞士苏黎士合作的基于状态与活动图 的工作流管理系统m e n t o r l l o l ( m i d d l e w a r ef o re n t e r p r i s e w i d e w o r k f l o w m a n a g e m e n t ) ;西班牙意大利和荷兰等五个合作单位协同开发的基于分布式主 动数据库技术的工作流管理系统w i d e 1 1 l ( w o r k f l o wo ni n t e l l i g e n t a n d d i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) 。 国内,工作流研究的起步较晚 1 2 l 。清华大学的吴澄院士和范玉顺教授以 c i m s 4 9 】的研究为契机,就工作流技术的理论基础、工作流建模与仿真、工 作流引擎的执行与效率分析、工作流管理系统的实现等,展开了工作流技术 在c i m s 应用上的研究,并实现了基于w e b 和c o r b a 的工作流管理系统 c i m f l o w 。东北大学曾春、于戈等针对c i m s 复杂应用中的工作流,提出了 一种s c o p e w o r k 的工作流模型来有效描述复杂应用中的工作流【”1 ;北京航空 航天大学的刘洋、葛声针对工作流的分布式应用,设计了一种基于w e b 服务 技术的分布式工作流系统【1 4 】;西安交通大学的赵仲孟等设计了一种基于e j b 、 采用j m s 消息管理机制的工作流系统【1 5 】:上海交通大学胡锦明、张申生针对 动态联盟的应用提出了一种基于过程分解的工作流概念模型,并设计了一种 支持该模型的分层递解的工作流管理系统框架1 1 6 】;沈军营、严隽琪等讨论了 结合a g e n t 技术,运用j a v a 在i n t e r n e t 上开发工作流管理的方法【r 7 】中科院 计算机研究所的王海洋、林宗楷、林守勋提出了一种扩展的工作流模型的描 述方法,以便支持复杂的管理模式【1 8 】。 工作流软件产品经过多年的发展,功能强大、模块众多、配置和接口多 样灵活,许多工作流产品从数据存储到运行环境往往都有自己的一整套独特 的体系结构,它们除了具备了工作流的基本功能外,还同时宣称可以任意集 成第三方的应用甚至有的还嵌入了程度不等的应用开发的功能。对于中小 型项目来说,这些工作流软件的功能特性大大超过了项目需要,真正需要的 可能并非这些复杂特性。 本文实现的工作流引擎w e b f l o w ,不是对工作流规范的完整实现,也不 是大而全的完整的一套开发工具,而是本着项目的实际需求,依据易用、够 用、简单、灵活的原则建立了一个轻量的工作流引擎,在充分使用了j 2 e e 架构的优势的同时,也有选择的使用了一些业已成熟的框架技术,从而系统 西南交通大学硕士研究生学位论文第3 页 各模块及各层次之间有着清晰的接口,具有良好的扩展性和可维护性,支持 灵活的替换插拔。该引擎的使用对象是应用系统的专业开发人员而并非终端 用户。 1 3 本文的研究内容与意义 工作流引擎是工作流管理系统的核心,又被称之为工作流管理系统的“软 操作系统丹。本文依托四川省水利院项目勘测设计动态管理系统项目,对系统 中如何应用工作流技术进行了研究,目的是设计出一个基于s s h 框架的轻量 级工作流引擎,并将其应用在实际的项目中,研究内容主要包括: ( 1 ) 研究了w f m c 组织提出的工作流参考模型,特别是工作流的核心技术 工作流引擎。 ( 2 ) 在参照w f m c 的有关规范的基础上,结合本项目的实际需要,重点研 究了工作流模型,包括组织模型、信息模型和控制模型。基于对模型的分析, 设计出一个轻量级工作流引擎w e b f i o w ,该引擎的核心模块向外提供的接口 比较简单,便于开发人员的使用。 ( 3 ) 将s t r u t s 、s p r i n g 、h i b e r n a t e 框架技术进行整合并应用于工作流引擎 的设计中,使得引擎的结构清晰,配置简单,可扩展性强。 “) 将w e b f l o w 应用在四川省水利院项目勘期0 设计动态管理系统中,实现 了该项目中会议管理的流程化。 1 4 本文的组织结构 论文在论述和安排上主要分为如下五个部分: 第1 章介绍了论文的课题背景及意义、国内外研究现状、本文的研究内 容与意义,同时对论文的组织结构进行介绍。 第2 章分析了工作流技术的基础,对工作流技术进行综述,分析w f m c 提出的工作流管理系统的通用结构和参考模型,并简要介绍了j 2 e e 技术、 s t r u t s 、s p r i n g 和h i b e r n a t e 三个框架。 第3 章给出了轻量级的工作流模型,对w e b f l o w 的数据模型和控制模 西南交通大学硕士研究生学位论文第4 页 型的设计进行了详细的分析和介绍。 第4 章这是本篇论文的核心部分,给出了w c b f l o w 的总体架构设计思 路和具体实现,给出了引擎实现的核心类的设计,对各个类的作用进行了一 定的说明。 第5 章将工作流引擎运用到实际项目“四川省水利院项目勘测设计动态 管理系统 中,介绍了会议管理实现流程化的过程。 最后对论文的工作进行总结,并对今后的研究工作进行了展望。 西南交通大学硕士研究生学位论文第5 页 第二章相关技术介绍 本章介绍了工作流的相关概念,包括工作流管理系统、工作流参考模型 等相关内容,这些都是设计实现工作流引擎的理论基础。由于本设计主要是 在j 2 e e 开发平台上设计和实现的,简要介绍了j 2 e e 的概念、模型以及设计 中用到的s t r u t s 、s p r i n g 和h i b e r n a t e 框架技术。 2 1 工作流相关概念 工作流是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处 理过程自动化,使人以及各种应用工具相互之间协调工作,以完成某项工作。 从广义上讲,工作流就是活动及活动之间变化的过程表示的业务流程。 2 1 1 工作流的定义 w f m c 对工作流( 、0 r k n o w ) 的定义【”】为:工作流是一类能够完全或部分 自动执行的经营过程,它根据一系列过程规则对文档、信息或任务在不同的 执行者之问传递与执行。 工作流干预过程和业务程序的自动化处理,文档、信息或任务按定义好 的规则在参与者间传递,来完成整个业务目标或者对整个业务目标的完成做 贡献,工作流可由手工组织,而多数工作流是在i t 系统中组织的,从而对过 程自动化提供计算机支持。 2 1 2 工作流管理系统 w f m c 给出的工作流管理系统w f m s ( w o r k f l o wm a n a g e m e n ts y s t e m ) 定 义【1 9 】为:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并 按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 工作流管理系统通过管理工作活动序列,调用与各种活动步骤相关的人 员和i t 资源,对业务流程提供自动化处理,同时监控工作流的运行状态。 西南交通大学硕士研究生学位论文第6 页 工作流管理系统的晟大优点就是实现具体应用逻辑和过程逻辑的分离, 实现在不修改具体功能的情况下,通过修改业务流程模板来改变系统的功能, 完成对组织生产经营过程的部分业务或全部业务的集成管理,有效的把人力 资源、物质资源和信息组织在一起,发挥最大的效能。 2 1 3 工作流管理系统功能介绍 工作流管理系统是一个详细定义、管理并执行工作流的系统,为企业业 务系统的运行提供一个软件支撑环境。从较高层次上抽象地考察,所有工作 流管理系统都有如下三个功能【2 0 1 : ( 1 ) 建立时期的建模功能:对组成工作流过程的活动及它们间的执行逻辑 关系进行定义。 ( 2 ) 运行时期的控制功能:实例化并执行工作流过程,并对工作流过程中 的活动按模型中定义的执行逻辑进行调度执行。 ( 3 ) 运行时期的交互功能:与用户、r r 应用程序工具间的交互。 图2 - 1 - 1 2 作流管理系统的三个主要功能2 间的关烈删1 图2 1 描述了工作流管理系统的三个主要功能及其之间的关系:建立阶 段的功能主要体现在过程的计算机模型定义,此阶段使用分析和建模技术将 现实世界的业务流程转换成计算机可处理的形式化定义,这种形式化定义也 被称为过程模型或过程定义,后两种功能通过工作流管理系统对过程模型的 解释和执行体现。 西南交通大学硕士研究生学位论文第7 页 2 1 4w f m g 工作流管理系统的体系结构 为了实现工作流技术的标准化和开放性,对异构的工作流管理系统与其 他的应用系统之间的集成,w f m c 提出了工作流管理系统体系结构的参考模 型,该模型中规范了功能组成部件和接口。w f m c 提供的工作流管理系统的 体系结构如图2 2 所示,它给出了抽象的工作流管理系统的功能组成部件和 结构,它能够满足工作流管理系统和产品应该具有的主要功能特征,可为实 现工作流产品间的互操作提供公共的基础。 2 1 4 1 过程定义工具 图2 - 2 工作流参考模型的体系结构【2 0 】 以形式过程定义语言、对象关系模型、简单的系统、脚本或在参与者间 传递信息的路径集为基础,过程定义创建一个计算机可处理的形式化的过程 描述。工作流定义工具可作为工作流产品的一部分,也可作为业务流程分析 产品的一部分提供给用户;而当作为业务流程分析产品的一部分时,会由其 拱什则偿拗制:三件控产软统淄 采外 l 口图 秆 西南交通大学硕士研究生学位论文第8 页 他组件负责处理对业务流程的分析或者模型,此时就需要有兼容的转换格式, 与运行时期的工作流软件的过程定义进行相互转换。 2 1 4 2 过程定义 过程定义包含工作流执行软件的运行过程所需的所有详细信息,包括过 程的开始条件和结束条件、组成活动、在活动问进行导航的规则、需执行的 用户任务、可能被调用的应用程序及所有工作流相关数据的定义等。过程定 义可能会涉及到一个组织角色模型,此模型包含组织结构及组织角色等信 息,从而使过程定义在与具体活动或信息对象相关的组织实体和角色功能方 面十分详细。工作流执行服务器负责把工作流运行环境中的参与者与相应的 组织实体和角色联系起来。 2 1 4 3 工作流执行服务器 工作流执行服务器软件的职责有:解释过程定义、控制过程实例、安排 活动的执行顺序及向用户任务表中添加工作项目和调用应用工具等。一个或 多个协同工作的工作流引擎完成如上职责,每个工作流引擎管理过程的一个 单独实例。工作流执行服务器维护内部的控制数据,它们可能集中于一个工 作流引擎中,也可能分布在一个工作流引擎的集合中;这些工作流控制数据 包括与各种过程或正执行的活动实例相关的内部状态信息,也包括工作流引 擎用来协同工作或者从失败中恢复的检查点和恢复重新启动的信息。过程定 义与运行时期的工作流相关数据协作,共同控制过程中活动的导航,提供活 动的进入条件与退出条件,控制不同活动的并行执行和顺序执行选项、用户 任务及与每个活动相关的i t 应用程序等。若过程定义包括组织模型或角色实 体类型,则完成以上任务需要访问组织角色模型的数据。工作流引擎同时具 有调用些应用工具的能力,以激活必要的应用程序去执行相关的活动。在 一些简单的系统中,可能只提供对单一的固定工具的调用,例如文本编辑器, 然而在工作流管理系统中需要提供调用本地与远程的大范围工具的方法。 西南交通大学硕士研究生学位论文第9 页 2 1 4 4 工作流相关数据和应用数据 工作流管理系统通过工作流相关数据来确定过程实例状态转换的条件, 并选择下一个要执行的活动,这些数据可以被工作流应用程序访问并修改, 因此工作流管理软件需要在活动实例间传递这种数据;工作流的应用数据是 指那些由应用程序操作的数据,它们是针对应用程序的,是企业完成具体的 业务功能所需要的数据,如产品结构数据和订单数据,工作流管理系统无法 也不需要对它们进行访问。 2 1 4 5 任务表 过程的执行需要与用户交互。工作流引擎把任务添加到任务表中,以便 任务表处理器对其进行处理,任务表处理器管理与工作流参与者间的交互。 这个过程对工作流参与者可能是不可见的,工作流软件对任务表进行维护, 并把用户需要执行的下一个任务提供给它。对于其他系统,任务表对用户可 能可见,用户可以从任务表中选择要执行的任务,任务表也会指示任务的完 成。 2 1 4 6 任务表处理器和用户接口 任务表处理器是一个软件组件,管理工作流参与者与工作流引擎问的交 互。任务表处理器负责请求用户关心的处于进展中的任务,并负责通过任务 表与工作流引擎进行交互。在一些系统中,只使用一个桌面应用程序来为一 个简单的任务提供入口,等待用户的注意;在其他的一些系统中,对任务表 的处理会更成熟,如控制任务在一些用户间的分配,并考虑转载平衡和任务 重分配等。对于其他一些任务表处理功能,工作流引擎主要支持与客户端应 用程序间的大范围的交互,包括工作流参与者的签到和退出、请求过程实例 的开始及任务排队等候特殊的参与者等。在工作流参考模型中,对“客户端 应用程序”这个词的使用更广泛,以反映其潜在的广大使用范围,即在包含 任务表处理功能的同时也包含对过程的控制功能。 在图2 2 中,用户接口是一个单独的软件组件,负责提示和处理用户对 西南交通大学硕士研究生学位论文第1 0 页 话框,并控制本地用户的本地接口。在某些系统中,用户接口可能会与任务 表处理器组合到一起,构成一个简单的功能实体。研发人员希望客户端应用 程序能够与几个不同的工作流服务器进行交互,从而把服务器中的任务整理 成统一的格式,通过公共用户接口提供给用户。为支持用户完成特殊的任务, 任务表处理器或者用户可能调用本地应用程序,用户接口使用简易通用的工 具安装适当的支持程序。在任务表处理器用户接口中调用应用程序与工作流 执行软件直接调用应用程序相比,有着明显的不同。 2 1 4 7 管理操作 工作流管理系统具有多种管理功能,它们以工作站点或者用户的管理权 限为基础。这些管理功能可以使管理者修改任务分配规则、确定过程中组织 角色的参与者、跟踪遗漏的最终期限报警、根据其他事件跟踪某一过程实例 的运行历史及查询任务吞吐量和其他统计信息等。对于分布式工作流引擎, 可能需要一些特殊的命令在不同的工作流引擎间传递控制操作和局部响应, 以提供一个单一的管理接口。 2 1 ,4 8 外部和内部接口 上述的体系结构适用于大多数工作流产品,但是并不是所有的产品在每 个不同的系统功能组件间,都提供外部接口;一些产品把几个功能组件作为 一个逻辑实体来实现了,并把接口包含在了软件组件的内部,导致无法被第 三方产品使用。w t m c 规范定义了每个接口在实现多工作流系统协同i 作中 的作用,因此,可以鉴别单独的产品是否符合协同工作标准。 2 1 5 工作流参考模型 w f m c 参考模型如图2 3 所示,它描述了工作流管理系统的一个公共模 型,由此模型可见:工作流管理系统由多个组件组成,而各个组件间的协同 工作必须通过数据交换实现,从而需要各组件提供相应的接口,所以w f m c 提出了接口标准化。 西南交通大学硕士研究生学位论文第1 1 页 图2 - 3 工作流参考模型叫 接口标准化的优点如下【2 1 】: ( 1 ) 被广泛接受的标准可提高工作流管理系统间的数据交换。 ( 2 ) 使不同制造商的执行服务器间的一种简单的链接成为可能。 ( 3 ) 标准可促进完全独立于特定工作流管理系统的应用的开发。 引擎是对外提供工作流执行服务的一套a p i 接口,w f m c 的工作流引擎 参考模型,主要是定义了引擎对外提供服务的5 个接口,其分别负责的功能 实现如下: 接口1 :过程定义输入输出接口,这是工作流服务与工作流建模之间的 接口,该接口提供的主要功能是加载模型定义文件。 接口2 :客户端函数接口,这是工作流服务与客户应用之间的接口,这 是最主要的接口规范,它约定所有客户方应用与工作流服务之问的功能操作 方式。包括过程实例管理功能,过程状态管理功能,任务项列表任务项处理 功能,数据处理过程,过程监控功能,其它的管理功能等。 接口3 :激活应用程序接口,这是工作流引擎和直接调用的应用程序之 问的接口,包括通信建立,活动管理功能,数据处理等功能。 接口4 :工作流执行服务之间的互操作接口,这是工作流管理系统之问 的互操作接口,包括连接的建立,对工作流模型和其中对象的操作,对过程 实例的控制和状态描述,对活动的管理,对资料进行处理等。 西南交通大学硕士研究生学位论文第1 2 页 接口5 :系统管理与监控接口, 的接口,包括资源控制,角色管理, 审核管理等。 这是工作流服务和工作流管理工具之间 用户管理,过程实例的管理,状态管理, 这五个接口囊括了工作流引擎的基本功能,设计一个工作流引擎就是要 实现这5 个接口功能的一个子集。 2 2j 2 e e 简介 j 2 e e 4 7 ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 是s u n 公司推出的一种利用 j a v a2 平台来简化企业级应用系统的开发、部署和管理等相关复杂问题的体 系结构1 2 2 j 。j 2 e e 技术的基础是j 2 s e 即j a v a2 平台的标准版,j 2 e e 不仅巩固 了标准版中的许多优点,例如“编写一次、到处运行胛的特性、方便存取数 据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全 模式等等,同时还提供了对e j b 、j a v as e r v l e t 、j s p 以及x m l 技术的全面支 持,其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体 系结构i 乃】。 客户层w e b 层业务层 厂、 。浏览器 1 j 弓 几a : ? 弓 儿v 厂1 讣, 犷 j 、, _ s e r v l e t ) 。 垒! 垡竺。 j 厂弋函f 、 儿j 犷_ , k s e r v i e e j ) 儿a q 爹 l 一。竺! ! 寸1 寸 j 2 e e j 2 e e c l i e n t p l a t f o r m p l a t f o r m e i s 层 图2 4j 2 e e 四层架构 j 2 e e 是开发分布式企业软件应用的平台,应用逻辑按功能划分为组件, 各个应用组件根据它们所在的层被分布于不同的物理节点【2 4 。在j 2 e e 多层 企业级应用中,传统的两层结构被划分为了多层。一个多层应用能为不同的 西南交通大学硕士研究生学位论文第1 3 页 服务分别提供独立的层,图2 - 4 展示了j 2 e e 典型的四层结构【2 5 1 。 ( 1 ) 客户层 运行于客户端机器,用于处理用户和应用程序的交互,并把来自系统的 信息显示给用户。 ( 2 ) w e b 层 运行于j 2 e e 服务器,产生表示逻辑,并接受来自表示层客户端的用户 回馈。 ( 3 ) x j k 务层 运行于j 2 e e 服务器,处理应用的核心业务逻辑,如口b 、j a v a b e a n 等。 业务层经常被称作e j b 层,业务层和w e b 层一起构成了j 2 e e 应用的中间层。 ( 4 ) e i s 层( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 运行于企业信息系统服务器,这一层是企业的信息系统服务,包括数据 库系统、事务处理系统等。该层是j 2 e e 应用和非j 2 e e 应用的连接点。 2 3s t r u t s 简介 s t r u t s l 2 6 1 是一个基于j 2 e e 平台的m v c 2 7 l ( m o d e l v i e w c o n t r o l l e r ,模型一 视图一控制器1 框架,是利用j a v as e r v l e t 和j s p 构建w e b 应用的一项非常有用 的技术。s t r u t s 提供了c o n t r o l l e r 组件并整合了其它技术来实现m o d e l 和v i e w 。 ( 1 ) 模型( m o d e l ) :在s t r u t s 中,m o d e l 由a c t i o n 类和a c t i o n f o r mj a v a b e a n 构成,开发者通过其实现业务逻辑。 ( 2 1 视图( v i e w ) :由与控制器s e r v l e t 配合工作的一整套j s p 标签库构成, 利用这些标签库可以快速开发功能丰富的应用系统界面。 ( 3 ) 控制器( c o n t r o l l e r ) :在s t r u t s 中,控制器组件是a c t i o n s e r v l e t 类中的 实例s e r v l e t ,实际使用的s e r v l e t 在配置文件( s t r u t s c o n f i g x m l ) 中由一组映射 ( 由a c t i o n m a p p i n g 类进行描述) 进行定义。客户端请求通过控制器转发到相 应的a c t i o n 类处理。 s t r u t s 的核心组件有a c t i o n s e r v l e t 、a c t i o n 、a c t i o n f o r m 、a c t i o n m a p p i n g 、 a c t i o n f o r w a r d 及t a g l i b 、x m l 配置文件等。 西南交通大学硕士研究生学位论文第1 4 页 2 4s p rin g 简介 s p r i n g 弱j 是解决企业应用程序开发复杂性的开源框架。s p r i n g 提供了管 理业务对象的一致方法,并鼓励注入对接口编码而不是对类编程。s p r i n g 框 架的基础是j a v a b e a n 属性的i n v e r s i o no fc o n t r o l ( 控制反转模式,也称作依赖 性介入1 容器。 s p r i n g 提供了唯一的数据访问抽象,包括简单、高效的j d b c 框架,极 大的提高了效率并减少了可能的错误。s p r i n g 的数据访问构件还集成了 h i b e r n a t e 和其他的o rm a p p i n g 解决方案。 s p r i n g 提供了唯一的事务管理抽象,它能够在各种底层事务管理技术, 如j t a 或者j d b c 事务基础上提供一个一致的编程模型。 s p r i n g 同时提供了用标准j a v a 语言编写的面向方面编程( a s p e c to r i e n t e d p r o g r a m m i n g ,a o p ) 框架,它给简单j a v a 对象( p l a i no l dj a v ao b j e c t s ,p o j o s ) 提供了声明式的事务管理和其他企业事务,同时还可以实现自己的a s p e c t s 。 s p r i n g 的a o p 框架足够强大,使得应用程序能够抛开e j b 的复杂性,同时 享受着和e j b 相关的关键服务。 s p r i n g 还提供了可以和l o c 容器集成、功能强大、灵活的m v cw e b 框 架。通过这个框架可以很容易地实现对业务请求的控制。 2 5hjb e r n a t e 简介 , h i b e r n a t e l 2 9 】是一个面向j a v a 环境的对象关系数据库映射工具。对象关 系数据库映射( o b j e c t r e l a t i o n a lm a p p i n g ,o r m ) 这个术语表示一种技术,用来 把对象模型表示的对象映射到基于s q l 的关系模型数据结构中去。h i b e r n a t e 不仅仅管理j a v a 类到数据库表的映射( 包括j a v a 数据类型到s q l 数据类型的 映射) ,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用 s q l 和j d b c 处理数据的时问和降低开发的难度。 对于以数据为中心的应用程序来说,它们往往通过在数据库中使用存储 过程束实现业务逻辑,h i b e r n a t e 可能不是最好的解决方案:但对于那些基于 j a v a 的中间层应用,它们实现面向对象的业务模型和业务逻辑,h i b e r n a t e 是 西南交通大学硕士研究生学位论文第1 5 页 最有用的。不管怎样,h i b e r n a t e 可以消除或者包装那些针对特定厂商的s q l 代码,并且把结果集从表格式的表示形式转换到一系列的对象中去。 h i b e r n a t e 最好的使用方法是使用普通的j a v a 对象来进行持久化。 h i b e r n a t e 对每一种数据库都有对应的d i a l e c t 进行操作优化,从而提高它在 各种情况下的效率。 2 6 小结 本章分析了工作流技术的基础理论,w f m c 的工作流参考模型及其相关 技术一直以来被认为是工作流领域的实事标准。虽然当前业界也出现了一些 新的业务流程处理标准,其中也有一些思想和技术上更加先进的工作流管理 系统出现,但是w f m c 所提出的工作流管理系统所应具有的功能和所要实现 的模块都对研究和开发工作流管理系统具有指导意义,并且简要介绍了系统 中用到的j 2 e e 相关技术和当前流行的s t r u t s 、s p r i n g 和h i b e r n a t e 框架。 西南交通大学硕士研究生学位论文第1 6 页 第三章w e b f io w 工作流引擎的分析和设计 工作流引擎的运转离不开引擎所驱动的工作流模型,不同的工作流模型, 因建模方案的不同,模型元素设计的不同,其工作流引擎也就不同,研究工 作流引擎的设计必须先研究其工作流模型的

温馨提示

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

评论

0/150

提交评论