计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf_第1页
计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf_第2页
计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf_第3页
计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf_第4页
计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf_第5页
免费预览已结束,剩余72页可下载查看

计算机技术硕士论文-基于JBPM的电子政务系统工作流机制的研究与实现.pdf.pdf 免费下载

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

文档简介

北京工业大学 硕士学位论文 基于jbpm的电子政务系统工作流机制的研究与实现 姓名:杨武 申请学位级别:硕士 专业:计算机应用技术 指导教师:杨延双 20070401 摘要 摘要 本论文主要内容是电子政务系统中工作流机制的研究与实现。为了在电子政 务系统中支持工作流机制,满足项目需求而实现一个轻量级的工作流引擎。 本文首先介绍了工作流管理系统,工作流引擎的相关知识以及研究现状,详 细分析了工作流管理联盟的一系列规范、工作流相关理论以及实现技术,并且对 j 2 e e 技术进行了分析。为了实现一个轻量级和可扩展的系统,在电子政务系统 的整体设计和实现上采用优秀和成熟的开源框架。接着深入研究了开源的工作流 管理系统j b p m ,对其的流程建模方法,工作流引擎的结构等进行了分析。结合 电子政务项目的具体需求,使用j p d l 作为流程定义语言进行支持电子政务系统 的核心工作流引擎的开发,开发一个适用于该系统的轻量级工作流引擎。然后论 文详细介绍了工作流在电子政务中的运行原理,分别给出了工作流的模型库和实 例库的数据结构设计,分析了运行阶段与用户的交互功能,给出了工作流引擎的 详细设计。最后论文设计并实现了电子政务系统中的日常业务予系统和公文运转 子系统,并详细说明了如何针对具体的业务流程进行建模以及结合工作流引擎完 成自动化的业务流程。该工作流引擎灵活和易扩展的特性,使得其能够很好的解 决电子政务系统中遇到的一些变化的业务流程,满足电子政务系统的需求。极大 的提高了政府的工作效率,并且优化了政府的工作流程。 关键词电子政务;工作流;工作流引擎;j b p m ;”d l a b s t r a c t t h ep 毒i p 盯m a j n l yf o c u 蛹o nt h cw o d c n o wm h a n i 锄i ne 唱o v 盯衄删s y 8 t c m 1 0i 巾i a n t 鲥p p c 咀o f t h ew o 栅o w t ob 鲷w 柚m e n ts y 8 蛔m ,ah g h 呻谫曲tw o d c n o w g i n ei si 坷l p l 伽枷o d , w ! h i c hm e e tt h ed e m 柚d 8o f l h es y s 衄 f i r 毗l y t h i sp a p 盯i n 砸,d 髑山ew o d 【f i o wm 黝g e m 即ts y 鼍把m ,t h el m o w l e d g e 蛆dt h e 始屺a r c ho f 碡删i a w 锄g i n c t h 衄“姐a l 弘髓a 矗酣髂o fc r i 矧。啦o f t h cw 础l o w m 锄辨m e n t c i i 石,f h er e l a t e dw o r l 田a w 伍e 耐铭柏dl h ei n l 叫锄e l 妇6 t h n o l o g x 勰w e n 勰n ”j 2 e e 蛐o l o g y t bm tl h e q l l i 婵叶协o f l i 垂i t w e i g h t 柚d 虻a l d b i l i 乜l h cp 叩盯a d o p 协e 瓣n t 姐d 蛐l 眦0 p - s a u r c e 舾圳聊矾罐锄t h ew h o l ed 岱i 弘柚di 珈纠锄协t i o ft h eb g o v c 倒咀t s y s t e m a n d “d 0 鹤弛i n _ d 印t h 咖d yo nl h eo p 咖u r c ew o d 【n o wm 锄a g 锄t8 y s t e mj b p m , 翻p e c i a n yi 协p l o c 8m o d e l i n gm e l l i o d 锄dl h ew 缸h l o w 蚰g i n es 蚋】c 味o nl h eb 勰i so f 缸嘶l i a r i t y 诵t l it h ew o l l 【f l o wm 锄鲫ts y 咖m ,f h ep 印竹d e y e l o p 8a 增l i g l i t w e i 班 啪m 田o we 1 1 9 i n e t h cd e v c l 叩岫tm a k 鹤u o fm ep r o 锚d e f i n i n 帆l 粕g i 【a g e 肿l a n d i n 啦蛔出e 铷c 删y f 。q u i t j 嬲o f m e e 学o w z 砌ts 弘锄a f 衍l h a c ,i h e p a p 盯i n 缸 d 瞄 t h eo p 岫矗p f i n c i p l eo f i h ew 硎姐o wi nb g o w e n t ,s h o w st h ed a t as 仃i l c t u sd 岱i g no f t h c w m k n a w sm o d e id 毫l l 嗣d a n di 协i n s t a n 也呦b 枷,锄l y 辩l h ci n t e 翔c 矗o nf m i c t i o nw i mt h 0 u s 盯“n gi 扭唧吼锄i 皿,锄dp v i d e si h ed e 咖l e dd 鹤i g no ft h ew o r h l o w 伽咖蒯l 弘血e d a i l yb i l s i n e 鹪鲫【b 8 y s 咖锄dd o c l l m e n t0 p e m d 锄s u b s y 8 l c l no f | h ee 字o v 啪m 曲ts 富胁a d c s i 驴c d 锄d 缸i p l 伽锄t e di nd 盹| i l 1 1 “ p 印盯p a n i c u y 既p i 如啮h a wt om o d e ll h es p e c i 丘c 既艇i p l 鹤锄d 血i 8 ht h eb i l s j n e 龉p r o o e 站孤t o 喇c a l l yw i l ht h ew k n o w 舶g i a b 0 v ea l l ,f k x i b i l j t y 觚d 曲s y 峙x l 斓i o na 9 0 0 dp o i n 协t o 埔8 0 v el h ec h a n 群塔i nt h e b 啷i n 嚣8p f o 稻o r 幻m tt h ed 铷1 a n d 8o f t l l eb g o 、煳吼ts y s t 锄s oi tc 蛆g 陀a n yi n l p w t h eg o w m m e 耐8e 衢c i e n c y ,眦do p 缸i t h eg o v e m m e n r b b i 捌n 铭s 珥o 豁 k e y w o r d sb - g o v a 血m 锄t ;w 删:l 【n o w ;w 删枷o we n g i n 躬j b p m ;j p d l ; m 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:麴盛日期:竺! z :! :! 三 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:i 垄导师签名: 日期:皇灶 第1 章绪论 第1 章绪论 随着计算机技术的飞速发展,现代化办公方式也正在不断改造着传统意义 上的办公室,人们愈来愈依赖于自动化的办公手段。先进的数字化工具和强大的 网络系统,使我们可以容易地获得信息、共享信息和处理信息。政府机构如何运 用先进的信息技术实践电予政务,以电子化、信息化手段提高政府的行政效能、 行政管理水平和决策准确性,从而更科学、更有效地为社会、企业和个人服务, 目前己经成为了一项越来越紧迫的工作。因此极力地推进着政府的行政电子化。 电子政务是指政府机构在其管理和服务职能中运用现代信息技术,实现政 府组织结构和工作流程的重组优化,超越时阃、空间和部门分隔的制约,建成一 个精简、高效、廉洁、公平的政府运作模式。电子政务模型可简单概括为两方面: 政府部门内部利用先进的网络信息技术实现办公自动化、管理信息化、决策科学 化;政府部门与社会各界利用网络信息平台充分进行信息共享与服务、加强群众 监督、提高办事效率及促进政务公开。因此“政府上网工程”与“电子政务”可 谓互为因果,相辅相成,“政府上网工程”的最终目标正是推动电子政务的实现。 工作流管理系统正是顺应这一需求应运而生,它是用于实现工作流建模、 执行、监控、分析、度量和优化的基础中间件平台。它最直接的用途就是管理各 种流程,实现流程的自动化。一方面实现了流程在计算机上的自动处理,大大缩 短了流程的生命周期,提高了工作效率;另一方面,又可以使用户方便地分析具 体的流程,找出不合理之处,快速给出流程重组的方案。 1 1 论文技术背景和意义 1 9 9 3 年工作流管理联盟( w b r k n o wm 锄a 蹦n e n tc o a l i 6 0 n ,w n 订c ) “1 的成立标 志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操 作,w f m c 在工作流管理系统的相关术语、体系结构以及应用编程接口( w a p i ) 等方面制定了一系列标准,并且在之后发布了工作流参考模型。但是由于工作流 技术还处于技术发展曲线的初级阶段。“,所以对于工作流相关技术的术语每个 人都有不同的理解。对于工作流的定义,也有很多不同的版本,但是在对工作流 定义的实质上的描述都是相近的。 工作流管理联盟给出的工作流定义“1 :工作流是一类能够完全或者部分自动 执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行 者之间进行传递与执行。g e o 唱曲k o p o u l o s 给出的工作流定义:工作流是将一组 任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条 北京工业大学工学硕士学位论文 件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还 可以是由一个或多个人与软件系统完成。任务的出发顺序和触发条件用来定义并 实现任务的出发、任务的同步和信息流( 数据流) 的传递。 以上的这些工作流定义都是说明这样一个问题,即工作流是经营过程的一 个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流作为经 营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个问题:即经 营过程是什么( 由哪些活动、任务组成,也就是结构上的定义) 、怎么做( 活动间 的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义) 、由谁来 做( 人或者计算机应用程序,也就是组织角色的定义) 、做得怎样( 通过工作流管理 系统对执行过程进行监控) “1 。 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、 业务过程管理与集成,从而最终实现业务过程的自动化的核心技术。1 。对企业利 用工作流技术进行业务过程的建模和深入分析不仅可以规范化企业的业务流程, 发现业务流程中的不合理的环节,进而对企业的业务过程进行优化重组,而且所 建立的业务过程模型本身就是企业非常重要的知识库和规则库,可以成为指导企 业实施计算机管理信息系统的模型。 工作流管理联盟( w f m c ) 给出了工作流系统的一个通用框架工作流参 考模型。在工作流参考模型中,工作流引擎是工作流管理系统的核心。工作流引 擎是为工作流管理系统在定义提供支持、同时在运行时提供解释和执行服务的一 组数据模型和软件。 j b p m 是一个基于j 2 e e 架构的优秀的开源项目,目前很多与工作流相关的 项目都是基于喝p m 来进行开发的,并且j b p m 的强大功能,灵活与易扩展的特 性使其在实际应用中越来越受欢迎。所以本论文通过深入研究j b p m ,并且使用 j p d l 作为流程建模语言来实现一个工作流引擎,应用到该电子政务系统中,用 来支持系统中的业务流程的建模和自动流转。 1 2 电子政务和工作流发展现状 1 2 1 电子政务发展现状 电子政务是指政府机构利用信息化手段实现各类政府职能。其核心是:应 用信息技术,提高政府事务处理的信息流效率,改善政府组织和公共管理。 信息技术的飞速发展引发了一场深刻的生产和生活方式变革,极大地推动 着经济和社会的发展。作为信息高速公路五个应用领域中的首要应用,电子政务 在全球范围内受到广泛的重视,可以说政府信息化是经济信息化和社会信息化的 第l 章绪论 前提,电子政务是未来国家核心竞争力的重点要素之一。 发达国家都提出了自己的“电子政务( 电子政府) 计划”,如美国的政府再构建 计划( r e i n v e mg o v e 咖e n t ) 、英国的政府现代化计划( m 0 d 踟l i z i n gg v t 釉m 既l t ) 和 新加坡的政府互联计划( c o 蛐t c dg o v e 眦n e n t ) 。 我国的电子政务起步于2 0 世纪8 0 年代末期,各级政府机关开展了办公自 动化工程,建立了各种纵向及横向的内部信息办公网络。从二十世纪九十年代开 始,通过重点建设金税、金关、金卡等重点信息系统,我国电子政务发展取得了 长足的进步,1 9 9 9 年,4 0 多个部委( 办、局) 的信息主管部门共同倡议发起了“政 府上网工程”,开始系统推进电子政务的发展,2 0 0 2 年7 月3 日,国家信息化 领导小组审议通过中国电子政务建设指导意见,提出了“十五”期间我国电子 政务建设的目标是:初步建成标准统一、功能完善、安全可靠的政务信息网络平 台;重点业务系统建设,基础性、战略性政务信息库建设取得实质性成效,信息 资源共享程度有较大提高;初步形成电子政务安全保障体系,人员培训工作得到 加强,与电子政务相关法规和标准的制定取得重要进展。这标志着中国电子政务 建设进入一个全面规划、整体发展的新阶段,中国电子政务发展历程见下图1 1 。 图卜1 中国电子政务发展历程 f i g u r el - 1l h ee g o v m td e v e l o p 蚰m to f ( = l l i m 1 2 2 工作流技术现状 工程 于2 0 世纪8 0 年代中期发展起来的工作流技术为企业更好的实现经营目标提 供了先进的手段,所以工作流技术一出现就马上得到广泛的重视和研究,至今工 作流管理技术已经成功的运用到了图书馆,医院,政务机构,企业等。 随着信息技术的发展,以及工作流技术在实际的应用过程中的不断发展和成 熟,我们需要研究更复杂,更有效,更灵活的工作流管理系统,动态的自适应业 务流程等要求成为这一领域的研究内容。 现在工作流技术的研究的主要问题可以分为三个方面: 一是工作流的理论基础,包括工作流管理系统的体系、模型与定义语言( 工 作流的建模方法、工作流模型的形式化表示、工作流定义语言) 等的研究。 二是工作流的实现技术,包括工作流的事务特性、各种先进软件技术的应用、 工作流仿真。这方面研究工作的目的是提高工作流管理系统的性能,尤其是提高 工作流管理系统的可靠性及其在处理大规模复杂的且具有并行业务的流程方面 北京工业大学工学硕士学位论文 的能力。 三是工作流技术的应用,包括工作流实施技术、在不同应用领域的应用( 如 在企业经营过程重组、并行工程、敏捷制造) 方法、应用软件集成等。这方面研 究的目的是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有效 实现手段。 对于工作流建模技术,在研究工作流管理系统的过程中,有多种不同的形式 化方法来描述现实世界中的业务流程,建立工作流模型,如s 甜i q 和o d o w s l 【a 使用图形符号语言m 来描述业务流程,e l l i s 和n u 仕通过定义信息控制网 i c n ( i n 细m a t i o nc o r l 仃o ln 哟“1 来描述业务流程,削s t 通过定义工作流网 ( w b f l 【n o wn e o ”1 来描述业务流程,e n d l 等人使用扩展 e c a ( e 啪t c o n d m o n - a c t i o n ) 规则。1 来描述业务过程,d a l c l l 等人使用并发事务 逻辑c t r ( c 咖棚舢tn 锄a c t i l o 百c ) “”描述并分析业务流程,m 。d i n a - m o m 等 人基于语言行为理论“”来描述业务流程,还有集合论和图论方法“,状态一实体- 活动模型“”等方法来描述业务流程。 对于工作流技术方面的应用来说,目前国内的工作流方面的应用蓬勃发展, 工作流厂商也越来越多,其中有些是提供工作流平台,有些也是希望能够拥有自 己的工作流引擎。而开源的工作流引擎也越来越成熟和完善。在开源方面,目前 有三大主流的开源工作流引擎,s h a r k ,o s w o r k 胁w ,j b p m 。而j b p m 自从被j b o s s 收购之后,越来越成熟和完善了,国内很多相关的开发都是基于j b p m 之上进行 扩展来实施流程项目的。 1 3 本课题研究范围及内容 本论文主要通过研究轻量级开源工作流管理系统j b p m 的流程建模及核心 的引擎运行机制,采用j b p m 的流程定义语言j p d l 进行业务流程的建模,完成 一个轻量级的和易扩展的工作流引擎,把该工作流引擎应用到电子政务系统上。 本文作者也结合当前应用于企业开发的轻量级开源框架s t r i i t s ,s p r i 雌,h i b e 咖她, 来具体分析设计该电子政务系统。该论文的主要内容是首先介绍了工作流管理系 统的相关知识,并且详细的分析了开源的j b p m 工作流引擎,然后结合我们需要 实现的电子政务系统,阐述了该电子政务系统的总体架构,以及主要的设计思想, 并且详细分析j b p m 的引擎结构,根据电子政务的实际流程需求,开发一个轻量 级工作流引擎,使得其更加适合电子政务系统的实现,并对主要的实现难点进行 了阐述。之后结合电子政务系统中日常业务子系统和公文运转子系统的具体业务 流程,使用开发的工作流引擎,来完成流程的自动运转。 第l 章绪论 1 4 论文的组织结构 论文的组织结构如下: 第一章绪论。主要对论文的研究背景进行介绍,介绍当前国内外的研究现状, 以及本文需要研究的范围和内容。 第二章开发环境和工作流相关技术。具体介绍项目的开发平台和开发环境, 在项目中所使用到的技术,第三方框架的介绍,并阐述了这些技术和框架的特点。 然后对工作流管理系统进行介绍,并且深入研究了开源的工作流管理系统j b p m , 介绍了它的流程定义语言j p d l 以及核心的j b p m 引擎结构。 第三章电子政务系统需求分析及总体设计。首先对电子政务系统进行了总 体的分析,并使用j 2 e e 方面的开源技术进行了系统的整体架构设计。然后分析 了电子政务系统中与工作流有关的子系统业务流程需求,以及对该系统的整体功 能需求。 第四章工作流引擎概要设计。在对工作流管理系统进行了解的基础上,对要 实现的一个轻量级工作流引擎进行概要设计。确定了引擎的流程模型库和流程实 例库的数据库结构,如何设计流程运行时的任务管理,以达到交互功能,以及如 何设计组织结构模型。 第五章工作流引擎详细设计和实现。对工作流引擎进行详细设计,并详细 讨论其工作流引擎难点的解决方法。 第六章电子政务业务子系统设计与实现。对日常业务子系统和公文运转子 系统进行详细设计,并结合具体的业务流程进行建模,与用户交互来完成业务流 程,以说明该工作流引擎的有效性。 辱 第2 章开发环境和工作流相关技术 第2 章开发环境和工作流相关技术 电子政务系统将采用j 2 e e 平台技术实现,工作流引擎方面采用j b p m 的工 作流流程定义语言j p d l ,并且整个系统采用轻量级的开源技术实现。本章介绍 了该系统所使用的技术,并详细介绍了工作流技术和j b p m 工作流管理系统。 2 1 j 2 e e 平台介绍 j 2 e e ( j a v a2p 1a _ 响m ,e n t 唧r i e d i 伽n ) 是s u n 公司定义的一个开放式企业 级应用的规范“。它提供了一个多层次的分布式应用模型和一系列开发技术规 范。它实际上是一个基于组件容器模型的系统平台,其核心概念是容器。组件 是一个可以部署的应用程序级的软件单元,它以某种方式运行在容器中,容器封 装了j 2 e e 底层的a p i ,容器可以为组件提供如生命周期管理、安全、部署以及 线程、事务处理、数据访问、持久性等服务。在j 2 e e 中组件和组件之间并不直 接访问,而是通过容器提供的协议和方法来相互调用。组件和容器间的关系通过 “协议”来定义。容器是指为特定组件提供服务的一个标准化的运行时环境。容器 问通过相关的协议进行通讯,实现组件间的相互调用。j a v a 虚拟机就是一个典型 的容器。容器的底层是j 2 e e 服务器,它为容器提供j 2 e e 中定义的各种服务和 a p l 。一个j 2 e e 服务器( 也叫j 2 e e 应用服务器) 可以支持一种或多种容器。遵从 这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。 2 2j a v a 开源框架介绍 对于该电子政务系统的实现,将采用开源的s 虮l 忸,s 硼n g ,h i b 锄a t e 框架。 s 眦s 是全世界第一个m v c 框架,拥有成熟的设计,同时也拥有最丰富的 信息资源和开发群体,而目前w 曲w o r k 加入到s 咖t s 阵营,更提高了s t r t l 忸的竞 争力。s 臼柏是一种采用m v c 模式的基于j a v a 的技术框架“o 。s 仃t s 提供了一 种创建w e b 应用程序的框架,其中对应用程序的显示,表示和数据的后端代码 进行了抽象。采用m v c 有许多好处,比如将显示、逻辑和数据分开。这样一方 面的改变不会影响另一方面,假设针对某个模型数据开发了一套视图,那么在其 他访问该模型数据的地方,完全可以再次使用该套件或将现在的视图组合成一个 复合视图。每个单视图都有自己和模型的连接协议和自己的响应控制器,这样开 发就仅仅变成了简单的组合。其次,可以在不更改视图显示的情况下,更改控制 器,以达到更改视图与用户交互响应模式的目的。该电子政务系统的开发采用的 北京工业大学工学硕士学位论文 是s m l 协1 2 。 h i b 锄a t e 是一个强大的,高性能的开放源代码0 瓜m 印p i n g ( 对象关系映射 框架) “”,是目前最流行的o r m 框架,它对j d b c 进行了轻量级的对象封装,使 j a v a 程序员可以继续使用面向对象的编程思维来操纵数据库。所以开发者可以继 续使用通常的j a v a 开发习惯,诸如派生、多态、组合和j a v a 集合框架等来开发 持久对象层;同时它还提供一个精简的面向对象的s o l 语言扩展,作为对象和 关系型数据的桥梁。所以使用h i b 锄a t e 使我们可以用面向对象的思维方式操作 数据库,方便地进行增加、删除和修改操作,而且h i b 鲫a 把提供的强大的面向 对象的查询语言h q l ( h i b 锄g c eq u e r yl 锄g 哪e ) 可以让我们以面向对象的思维 方式进行复杂查询。系统的开发采用的是h i b 踟l a c e 3 o 。 s 砸n g 开源框架为企业应用的开发提供了一个轻量级的整体解决方案“”。传 统j 2 e e 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一, 导致j 2 e e 应用的开发并没有真正实现w d t eo n ,r t m a n y w h e r e 的承诺。s p 血g 作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能 提供应用服务器的功能,如声明式事务。s 皿n g 提供的解决方案包括基于依赖注 入的核心机制,基于a o p 的声明式事务管理,与多种持久层技术的整合,以及 优秀的w 曲m v c 框架等。s 砷g 的设计哲学是:在尽量不影响j a v a 对象的情况 下,将j a v a 对象加入框架管理中,s p 由g 是一种低侵入式的框架。s p r i n g 也是 高度组件化的框架,它允许开发者选用该框架的部分或全部。s 砸n g 致力于j 2 e e 应用的各层解决方案,而不是仅仅专注于某一层的方案。可以说,s p 血g 是企业 应用开发的站式”选择,s p r i n g 贯穿表现层,业务层,持久层。然而,s p r i n g 并不想取代那些已有的框架,而以高度的开发性与它们无缝整合。系统的开发采 用的是s 砸n 9 1 2 。s p r i n g 有如下优点“”: ( 1 ) 低侵入式设计,代码的污染极低; ( 2 )独立于各种应用服务器,基于s p r i n g 框架的应用,可以真正实现w d t e 0 1 1 r m a n y w h c r e 的承诺; ( 3 ) 跚n g 的d i ( 依赖注入) 机制降低了业务对象替换的复杂性; ( 4 )s p 咖g 的高度开放性,并不强制应用完全依赖于s p r i n g ,开发者可自 由选用s 砸n g 框架的部分或全部。 2 3 工作流管理系统介绍 2 3 1 工作流管理系统的功能 工作流管理系统( w f m s ,w 硎( n o wm 觚a 酎n e n ts y s t 锄) n 9 1 是一个软件系统, 第2 苹开发环境和t 作流相关技术 它完成工作流的定义、创建和管理,并按照在计算机中预先定义好的工作流逻辑 推进工作流实例的执行,它可以运行在一个或多个能理解流程定义并与流程参与 者相互协作的工作流引擎之上,在需要时还能激活相应r r 工具和外部应用系统。 一般来说,一套工作流管理系统具有以下三方面的功能m : ( 1 )建立阶段功能:主要完成工作流过程和相关活动的定义和建模功能。 ( 2 )运行阶段的控制功能:在一定的运行环境下执行工作流过程,并完成 每个过程中活动的排序和调度功能。 ( 3 )运行阶段的交互功能:实现各种活动执行过程中用户与应用程序或工 具之间的交互。 为了完成这些功能,工作流管理系统需要考虑众多因素,w f m c 提供了一 个工作流管理系统的体系结构模型,包括过程定义工具,过程定义,工作流执行 服务和工作流引擎,工作流控制数据,工作流相关数据,工作表和工作表处理程 序,应用程序和应用数据等。下图2 一l 描述了上述功能问的关系。 t 计与定义 赛搠l 匕麓程,接藏糟 与用户,庶用程序尊交置 j 工作疆疆动 工作瀛驱动彝、执行曼务 | | j 图2 1 工作流管理系统功能示意图 f i g i 玎e2 一lf h 甜so f w 吲m a wm 粕a g e m t3 y s t c m 在建立阶段,工作流管理系统提供业务流程的建模工具,用于定义系统的 流程。流程建模者分析具体的业务流程,利用建模工具为系统建立好流程定义。 在运行阶段,工作流执行服务,其包括一个以上的工作流引擎,读入工作 流程定义,并进行流程解析,为该流程定义生成流程实例,然后由工作流引擎根 据具体的流程定义信息管理该流程实例的执行。并且如果需要用户参与流程执行 时,工作流引擎读出用户的工作任务表信息,让用户对任务进行处理,之后负责 与用户进行信息交互。同时也负责流程实例执行时调用外部的或者其他的应用程 序或者工具。 同时,工作流管理系统还需要提供流程监控以及日志信息的记录等功能, 在系统的所有流程实例运行时,能够保存好各流程实例的状态,并且记录好各个 状态的相关数据信息和控制信息。 北京工业大学工学硕士学位论文 2 3 2 工作流管理系统体系结构 工作流管理系统主要由三类构件组成嘲,见下图2 2 ,这三类构件分别是: 图2 2 工作流管理系统体系结构图 f i g i 】鹏2 - 2 坞a r c b i t e :t l 】0 f w o r 姐o wm 卸a g 锄e n t ( 1 ) 软件构件:完成工作流管理系统不同组成部分功能的实现,如图中的定 义工具,工作流引擎,工作列表处理器,用户界面。 ( 2 )系统控制数据:工作流管理系统中的一个或多个软件构件使用的数 据,如图中的工作流定义,组织角色模型数据,工作流控制数据,工作列表, 工作流相关数据。 ( 3 )外部产品数据:对于工作流管理系统来说,它们不是工作流管理系统 的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和部 分工作流管理的功能,如图中的应用程序。 2 3 3 工作流管理系统参考模型 我们分析w m i c ( 工作流管理联盟) 提出的工作流参考模型,如下图2 3 。 该参考模型中的核心组成部分是工作流执行服务:它借助于一个或多个工作流机 第2 章开发环境和工作流相关技术 图2 3 工作沉参考模型 f i g i 】2 3 ”m o d e lo f w 0 i j 蛐o w ( 工作流引擎) ,激活并解释过程定义的全部或部分,并同外部的应用程序进行交 互,完成工作流过程实例的创建、执行与管理,为工作流程的运行提供一个运行 时环境。 , 在一个工作流管理系统中,可以包含至少一个引擎,该参考模型为工作流引 擎定义了5 个接口,正是由于这五个接口的存在,工作流管理系统就可以同外部 的软件工具等进行交互,也就加强了它的可扩展性和适应性。以下分别为这5 个 接口的具体信息: 接口1 :工作流建模工具嘲,即过程定义工具,是为用户提供一种对实际业 务过程进行分析、建模的手段,并生成业务过程的可被计算机处理的形式化描述。 接口2 :工作流客户应用,它给用户提供一种手段,以处理过程实例运行 过程中需要人工干预的任务。每一个这样的任务就被称为一个工作项。w f m s ( 工 作流管理系统) 为每一个用户维护一个工作项列表,它表示当前需要该用户处理 的所有任务,用于工作流客户端应用访问工作流引擎和工作列表。 接口3 :工作流机直接调用的应用嘲,指工作流执行服务在过程实例的运行 过程中,调用的用以对应用数据进行处理的程序。在过程定义中包含这种应用程 序的详细信息,如类型、地址等,用于调用不同的应用系统。 接口4 :其他工作流执行服务( 工作流系统互操作接口) ,用于不同工作流 系统之间的互操作。 接口5 :工作流管理工具,其功能是对w 0 “s ( 工作流管理系统) 中过程实例 的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等。w f m c 在这个接口的规范中定义了各种审计信息的数据格式,包括: ( 1 )流程实例( p r o c 髂si 粥t a n 哟审计信息:包括创建、启动流程实例和子流 程实例的审计数据;流程实例状态变化的审计数据;实例属性变化的审计数据。 北京工业大学t 学硕士学位论文 ( 2 ) 活动实例( a c t i v i t yh l s t 觚c e ) 审计信息:包括活动实例状态变化的审计 数据;活动实例属性变化的审计数据; ( 3 )工作项( w j d 【如咖) 审计信息:包括工作项状态变化的审计数据;工作 项分配和重新分配的审计数据;工作项属性变化的审计数据; ( 4 )远程操作审计信息:包括开始和停止会话( s 锶s i o n ) 的审计数据;远程 创建流程实例和远程改变流程实例状态的审计数据;远程获取和设置流程实例属 性的审计数据;会话管理的审计数据; ( 5 )流程定义审计信息; ( 6 ) 扩展的审计信息及专用的审计信息。 2 4j b 刚工作流管理系统 j b p m 是2 0 0 3 年1 月由t 0 哪b a e y e 地在s r c e f b l 蓼创建的一个工作流管理 系统。t 哪b y 肌s 是j s r 2 0 7 ( p m o 铭sd e f i i l i t i 如rj a v a ) 的专家组成员。j b p m 项目2 0 0 4 年1 0 月加入j b o s s 组织,项目更名为j b o s s m p m ,以下为简单起见, 继续使用j b p m 来代表j b o 龉j b p m 。目前j b p m 最新的版本是j b o s sj b p m 3 2 。 j b p m 是一个灵活的轻量级工作流管理系统【嚣】,j b p m 最大的特色就是它的业 务流程定义没有采用目前的一些规范,如w f m c 的x p d h 讧lp r o c e s s i n g d 髓翻p t i o nl 锄g g e ) ,以o a s i s 为代表的b p e l ,0 m g 为代表的b p m n 和b p d m 等。而是采用了它自己定义的j b o s sj b p mp f o c 铭sd 矾n i t i o nl a i l g l l a g e ( j p d l ) , j b p m 业务程序定义语言j p d l 是j b p m 使用的一套面向图表的流程建模语言。 j b p m 的另一个特色就是使用h i b 锄a t c 来管理它的数据库。h i b c r n a t e 是一 个优秀的数据持久层开源框架。通过h i b e r i l a t e ,j b p m 将数据的管理职能分离出 去,自己专注于业务逻辑的处理。 j b p m 是一个标准的j a v a 应用程序,不需要应用服务器,j b p m 能被部署在 w e b 应用程序或者标准的j a v a 程序中。 j b p m 的系统原理是由流程管理员定义和部署流程,用户参与流程动作的执 行,系统执行流程中的自动步骤,同时可以管理流程,在执行过程中,可以根据 流程定义调用外部应用程序。管理员负责维护流程实例的状态信息以及日志信息 等。其用例图如下页图2 4 所示: 本论文研究的是j b o s sj b p m 3 1 4 的版本。文中涉及的j b p m 也即是指j b o 韶 j b p m 3 1 4 。 2 4 1j b p m 的组成 j b p m 是一个复杂的可扩展的工作流管理系统。j b p m 有直观的流程语言 第2 章开发环境和工作流相关技术 来表示商业流程图的术语,比如,任务,异步通讯的等待状态,定时器,自动操 作等等,把这些操作绑在一起,j b p m 就有了最强大和易扩展性的控制流机制。 j b p m 只有最小的倚赖性,可以很容易的作为j a v a 库来使用。当然它也可以用在 吞吐量极为关键的j 2 e e 群应用服务器环境中。j b p m 可以同任何数据库配置可 以部署在任何应用服务器上。 可以从j b o s s 的官方网站( h c l p :,w w w 枷s s c o n l ) 上下载最新版本,解压下载 后的文件,可看到j b p m 由j b p m - s 删,j b p m d e s i 鲫j b p m d b ,j b p m 图2 - 4j b p l 用例图 f i g l 】鹏2 4 j b p m l l s e c 船ed i a g r a m j b p m 却潮五大模块组成,从官方网站下载的j b p m 软件包里面包含以下内容: j b p m s e f v 预先配置的j b o s s 应用服务器; j b p m d c s i 髓j b p m 流程图形化设计器的c c l i p s e 插件; j b p m d b j b p m 数据库兼容包; j b p m ,核心j b p m 组件,包括库和参考手册; j b p m b p e l ,j b o s s 旧p mb p e l 扩展参考。 j b p m 数据库兼容包包括所有支持数据库的相关信息,j d b c 驱动程序和数 据库初始化脚本。j b p mb p e l 扩展是独立的扩展包用来支持b p e l ( b 啪i i l 铝s p f o c 鹤se x e c u t i i 和毋珀g e 商业流程执行语言) 。b p e l 的基本要素是x m l s c f i p 衄g 语言,用来写其他、v 曲s e f v 贯的w e bs e r v i c 嚣。 j b p m 将工作流和j b p m 的业务流程处理的核心部分打包成一个简单的j 撕 类库。这个类库包括了流程信息的存储、更新和从数据库中重新取回等服务。下 图2 - 5 所示是j b p m 的组件图。从上图2 4 可以看出,对于j b p m 系统,可以有 流程定义者,业务流程分析者,用户来一起来参与。j b p m 主要有以下一些组件: j b o s sj b p m 图形化的流程设计工具( j b o s sj b p mg m l 蚰c a l p o 豁sd e s i 鲫盯o d 0 1 ) , 大 l 计m p 憎 图2 5j b o s sj b 蹦组件图 f i g u 2 5 把c o m l 埘呦to f 肺s sj b p m j b o s sj b p m 核心组件,j b p m 控制台w c b 应用程序( j b o s sj b p mw e ba c 懈s ) , j b o 路j b p m 身份组件( i d 6 t yc 驰m e n t ) ,j b sj b p m 调度程序( b u s i 嬲s p f o c 懿st 1 m 抽g ) 。 2 4 1 1j b o s sj b 嗍图形化流程设计器j b o s sj b p m 包括一个图形化的流程设计 工具。这个设计器是用来对业务流程进行建模的,j b o s sj b p m 图形设计器是一 个e c l i p s e 插件,可以在e c l i p s e3 2 或以上的版本上使用。图形化设计工具最 重要的特性是它同时支持业务分析员和技术开发人员。图形设计器可以用来创建 流程定义、把动作处理程序与事件连接起来、编辑定义来源、创建流程档案、测 试流程定义,等等。 第2 章开发环境和工作流相关技术 2 4 1 2j 略s sj b 明核心组件j b o s sj b 嗍核心组件是纯粹的j a v a ( j 2 s e ) 软件, 来处理流程定义和运行时的流程实例执行。j b o s sj b 刚是一个j a v a 库,因此 它可以用在任何j a v a 环境比如w e b 应用程序,s _ i n g 应用程序,e j l 3 ,w e bs e r v i c e 等等。j b p m 库可以被打包作为s a t e l e s ss e s s i o ne j b ( 无状态会话e j b ) ,这可 以用做集群的发布,具有极高的吞吐量和可伸缩性,无状态会话e j b 根据j 2 e e 1 3 规范重新写过所以可以发布到任何应用服务器上。j b o s sj b p m 核心组件被 打包成一个简单的j a v a 库文件,依赖你所使用的功能性,库j b p m 3 o i 缸及一 些相关的第三方的库比如h i b e r n a t e ,d o m 4 j 等等,永久性方面,j b p m 内部使 用h i b e r n a t e ,除了传统的0 r 映射外,h i b e r n a t e 也分析不同数据库系统的s q l 方言,这使j b p m 在当前h i b e r n a t e 支持的所有数据库上都可以移植。j b o s sj b p m a p i 可以从项目中任意编写的j a v a 软件访问,比如w e b 应用程序,e j b ,或w e b s e r v i c e 组件,消息b e a n 或其他j a v a 组件。 2 4 1 3j 鼬s sj 印啊控制台帕b 应用程序j b p m 控制台w e b 应用程序是为两个 目的服务的。首先,它作为业务流程运行期间,为用户的任务生成,执行用户对 流程相关操作的接口。其次,它也是一个管理和监视控制台,允许检查和操作运 行中的流程实例的接口。 2 4 1 4j 陆s sj 盼一身份组件j b o s sj b p m 可以集成任何包含公司用户和组织信 息的目录。对项目来说从得到组织信息组件不是容易得到的,j b o s sj b p m 就包 含这个组件。身份组件使用的模型比通常的s e r v l e t ,e j b 和门户模型更富有。 2 4 1 5j b o s sj b 阴调度程序j b o s sj b p m 调度程序( b u s i n e s sp r o c e s st u n i n g ) 是用来监视和运行已经计划的执行流程的定时器的组件。定时器组件被打包在核 心j b p m 库中,但是它需要被发布到下面的任一环境中:用调度程序s e r v l e t 来 产生监视线程或者就用独立的j 来调用调度程序的眦i n 方法。 2 4 2 流程定义语言j p d l 2 4 2 1j p d l 介绍j b p m 业务程序定义语言j p d l ( j b p mp r o c e s sd e f i n “i o n l a n g u a g e ) ,是j b p m 使用的一套面向图表的流程建模语言。它是对w f m c 提出 的x p d l ”语言的扩展,增加了一些j b 跏自己的元素。j p d l 是一种面向图形编 程( g o p ) 的语言,它基于结点、转换和动作组成的模型。在这种模型里面,结点 表示在流程定义过程中的各个状态。转换负责指导流程定义的执行流向,而动作 在结点或者转换事件发生时执行特定的业务逻辑。j p d l 是) 【m l 格式的。 在j b p m 的工作流程建模中,状态是业务流程的基本元素,状态代表了一种 对外部参与者的依赖。定义状态需要指定该状态的执行者,也就是该状态依赖的 外部参与者。多个状态可能

温馨提示

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

评论

0/150

提交评论