已阅读5页,还剩72页未读, 继续免费阅读
(计算机应用技术专业论文)基于轻量级web框架的工作流引擎的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9 ; r 再 尊一 at h e s i sf o rt h ed e g r e eo fm a s t e ri nc o m p u t e ra p p l i c a t i o nt e c h n o l o g y t h er e s e a r c ha n d a p p l i c a t i o no f w o r k f l o w e n g i n e b a s e do nl i g h t w e i g h tw e bf r a m e w o r k b yy a n gx i n x i n s u p e r v i s o r :p r o f e s s o rw a n gc u i r o n g n o r t h e a s t e r nu n i v e r s i t y j u n e2 0 0 9 mml川川1伽63 4舢8iiii-唧y 1 、 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中 取得的研究成果除加以标注和致谢的地方外,不包含其他人己经发表 或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 学位论文作者签名:夕崩孑欠向乏 日 期:。a 夕手多j | 习 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学 位论文的规定:即学校有权保留并向国家有关部门或机构送交论文的 复印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学 位论文的全部或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年口一年一年半口两年口 学位论文作者签名粥钦歙 签字日期:上。口7 年多r 导师签名:王琴藁 签字日期:,。夕和用 j 东北大学硕士学位论文 摘要 基于轻量级w e b 框架的工作流引擎的研究与应用 摘要 工作流技术作为现代企业实现过程管理与过程控制的一项关键技术,为企业的经营 过程提供了一个从模型分析、建立、管理、仿真到运行的完整框架。工作流的应用范围 己经扩大到移动计算、系统管理、因特网应用、行业应用开发、面向对象技术的应用、 操作系统和事务管理等等。 本文主要围绕基于w e b 的工作流引擎展开研究。本文首先研究了工作流技术,着 重分析了工作流引擎的控制模型和控制过程。其次,针对在传统的工作流系统中,由于 各功能的耦合度较高,造成可重用性能差,二次开发难度比较大的问题,本文利用组件 技术,对工作流系统的各个功能进行了合理划分,然后对工作流系统的核心工作流 引擎进行了详细设计,并利用轻量级的w e b 框架实现了工作流引擎。使用轻量级w e b 框架的优点是不受开发框架的制约,可以更灵活的设计类和对象,对象的可重用性好, 二次开发方便。本文用目录服务技术实现了工作流引擎的组织模型,使用目录服务使工 作流引擎可以更好的同其它关联系统相互融合,使得对人员、部门和权限的维护更加方 便。通过实验分析表明该引擎具有良好的处理性能。最后,本文设计的工作流引擎被应 用到北京联通宽带业务中心的通讯业务管理系统中,应用结果表明该引擎结构设计合 理,使用方便,性能达到用户要求。 关键词:工作流;工作流引擎;l d a p ;j s f ;s p r i n g ;h i b e r n a t e ;o p e n l d a p j p 东北大学硕士学位论文a b s t r a c t t h er e s e a r c ha n d a p p l i c a t i o no f b a s e do n l i g h t w e i g h t r k f l o we n g i n e w e bf r a m e w o r k a bs t r a c t a sak e yt e c h n i q u eo fp r o c e s sm a n a g e m e n ta n dp r o c e s sc o n t r o lf o rm o d e r ne n t e r p r i s e , w o r k f l o w p r o v i d e s ac o m p l e t ef r a m e w o r kf o z lb u s i n e s sf r o m p r o c e s sm o d e la n a l y s i s , e s t a b l i s h m e n t ,m a n a g e m e n t ,s i m u l a t i o nt oo p e r a t i o n t h ea p p l i c a t i o ns c o p eo ft h ew o r k f l o w h a sb e e ne x t e n d e dt om o b i l ec o m p u t i n g , s y s t e m sm a n a g e m e n t ,i n t e m e ta p p l i c a t i o n s , d e v e l o p m e n to fi n d u s t r ya p p l i c a t i o n ,a p p l i c a t i o no ft h eo b j e c t - o r i e n t e dt e c h n o l o g y , o p e r a t i n g s y s t e m ,t r a n s a c t i o nm a n a g e m e n t ,a n ds oo n t h i sa r t i c l ef o c u s e so nt h er e s e a r c ho fw e b b a s e dw o r k f l o we n g i n e i nt h i sp a p e r , t h e w o r k f l o wt e c h n i q u ei ss t u d i e df i r s t l y , f o c u s i n go na n a l y s i so fc o n t r o lm o d e la n dc o n t r o l p r o c e s so ft h ew o r k f l o we n g i n e s e c o n d l y , a g a i n s tt h es h o r t c o m i n go ft r a d i t i o n a lw o r k f l o w s y s t e m ,t h a ti sp o o rr e u s a b i l i t ya n dd i f f i c u l t yf o rs e c o n d a r yd e v e l o p m e n tc a u s e db yt h eh i g h e r c o u p l i n go ff u n c t i o n s ,t h i sp a p e ru s e st h ec o m p o n e n tt e c h n i q u e st od i v i d et h ef u n c t i o n so f w o r k f l o ws y s t e mr e a s o n a b l y , a n dt h e nd e s i g n st h em o s ti m p o r t a n tp a r to fw o r k f l o ws y s t e m w o r k f l o we n g i n ei nd e t a i l n e x t ,t h el i g h t w e i g h tw e bf r a m e w o r ki su s e dt or e a l i z et h e w o r k f l o we n g i n e t h ea d v a n t a g e so fu s i n gl i g h t w e i g h tw e bf r a m e w o r ki sn o ts u b j e c tt ot h e c o n s t r a i n t so fd e v e l o p i n gf r a m e w o r k ,w h i c hm e a n sm o r ef e x i b i l i t yf o rt h e d e s i g n i n go f c l a s s e sa n do b j e c t s ,b e t t e rr e u s a b i l i t y , a n dm o r ec o n v e n i e n c ef o rs e c o n d a r yd e v e l o p m e n t t h i s p a p e ru s e sd i r e c t o r ys e r v i c et oa c h i e v et h eo r g a n i z a t i o nm o d e lo ft h ew o r k f l o we n g i n e w i t h t h eu s eo fd i r e c t o r ys e r v i c e ,w o r k f l o we n g i n ec a nb eb e t t e rc o m b i n e dw i t ho t h e rr e l a t e d s y s t e m s ,m a k i n gt h em a i n t e n a n c eo fs t a i f , d e p a r t m e n t sa n da u t h o r i z a t i o nm o r ec o n v e n i e n t t h ee x p e r i m e n t a la n a l y s i ss h o w st h a tt h ew o r k f l o we n g i n eh a sg o o dp e r f o r m a n c e f i n a l l y , t h e w o r k f l o we n g i n ei sa p p l i e dt oac o m m u n i c a t i o no p e r a t i o nm a n a g e m e n ts y s t e m t h ep r a c t i c e s h o w st h a tt h ew o r k f l o we n g i n ei sd e s i g n e dp r o p e r l ya n dc a nb eu s e de a s i l y t h ep e r f o r m a n c e f u l f i l l st h eu s e r sr e q u i r e m e n t s k e y w o r d s :w o r kf l o w ;w o r k f l o we n g i n e ;l d a p ;j s f ;s p r i n g ;h i b e r n a t e ;o p e n l d a p i i i 。 , 东北大学硕士学位论文目录 目录 独创性声明i 摘要i i a b s t r a c t i i i 第1 章绪论1 1 1 课题背景及意义1 1 2 本文主要研究内容3 1 3 本文组织结构3 第2 章工作流技术分析5 2 1 工作流技术简介5 2 2 工作流引擎分析7 2 2 1 过程模型分析7 2 2 2 流程的控制与调度分析9 2 2 3 组织模型分析1 2 2 3 本章小结1 2 第3 章轻量级w e b 框架分析13 3 1j s f 框架优势分析13 3 2s p r i n g 框架优势分析l6 3 3h i b e r n a t e 框架优势分析l8 3 4 目录服务技术优势分析1 9 3 5 本章小结2 2 第4 章工作流引擎的设计与实现2 3 4 1 工作流引擎的结构设计2 3 4 2 引擎的过程控制设计2 5 4 2 1 过程控制的对象设计2 5 4 2 2 引擎的过程控制设计2 6 4 3 引擎数据库的设计3 0 一一 东北大学硕士学位论文目录 4 4 引擎的组织模型设计3 l 4 5 引擎的实现与实验分析3 6 4 6 本章小结4 1 第5 章工作流引擎的应用实例4 3 5 1 通讯业务管理流程4 3 5 2 业务数据处理4 5 5 3 通讯业务管理系统的功能模块4 5 5 3 1 后台管理模块4 6 5 3 2 前台业务处理模块4 7 5 3 3 辅助功能模块4 8 5 4 工作流引擎的管理功能4 8 5 4 1 组织目录管理4 8 5 4 2 角色管理4 9 5 4 3 用户管理5 1 5 4 4 业务流程管理5 2 5 5 功能测试及应用效果5 4 5 6 本章小结5 5 第6 章结论5 6 参考文献5 7 攻读硕士学位期间参与的科研情况6 0 致谢61 一v 一 东北大学硕士学位论文第1 章绪论 1 1 课题背景及意义 第1 章绪论 工作流技术作为现代企业实现过程管理与过程控制的一项关键技术,为企业的经营 过程提供了一个从模型分析、建立、管理、仿真到运行的完整框架。同时,工作流管理 系统通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支持。根据 l e y m n a n 和r o l l e r 1 】的研究结果表明,工作流的应用范围己经扩大到移动计算、系统管 理、因特网应用、行业应用开发、面向对象技术的扩展、操作系统和事务管理等等。 随着基于w e b 的服务和应用迅速地壮大,w e b 应用开发领域有了巨大的进步和发 展。i n t e m e t 的发展及企业i n t r a n e t 的构建为人们提供了一个理想的协同工作环境,同时 也使得建立基于w e b 的工作流系统成为可能。由于结构上的优势,基于w e b 建立工 作流管理系统将更加有利于工作流系统的分布执行和对于异构平台的处理【2 6 】。另外, w e b 服务还为多个应用程序组成端到端的工作流解决方案提供了强有力的机制,它能 把现有的不同的应用程序无缝的合起来,形成功能更强大、更完整也更完善的应用程序。 这正是开发基于w e b 的工作流系统的理论出发点2 ,3 1 。 在传统的工作流管理系统中,各功能相互间的耦合度较高,导致各功能模块不能拆 开分别单独使用。m u t h 等人【4 】观察到,“大部分的工作流管理系统,包括产品和研究原 型,都是致力于提供所有的全面的功能,用于适应尽可能大的应用范围”。从这种意图 出发设计的工作流管理系统的结构框架,极大地限制了应用的范围和类型。传统的工作 流管理系统还由于将所有的功能集成在一起,使得从中分离某个功能将需要详细了解整 个架构的构成,以及大量的代码修改工作。这些工作量往往大于重新开发相同的工作流 功能的工作量,使得软件开发者望而却步。无法重用传统工作流系统的功能,造成了资 源的极大浪费。 利用组件技术,将工作流系统的不同功能封装成多个组件【4 5 】。由几个组件提供工 作流的基本功能,然后软件开发者可以通过扩展架构的核心部分,添加他们所需要的功 能。也可以通过添加新的组件来提供更多新的功能。使用这种基于组件的工作流可以带 来几个重要的好处。第一,可以重用一个现有的工作流模块,减少了费用和开发的时间。 第二,可以重用一个工作流系统,允许开发者专注于应用的定制开发,符合他们的建立 一个应用,用于解决某一特定问题的目标要求。 一1 一 东北大学硕士学位论文第1 章绪论 北京联通宽带业务中心是北京市一家大型的宽度互联网络运营商,有着众多的用 户,通讯业务很多。从它的通讯业务管理角度来说,主要是实现业务受理、客户服务、 投诉受理的过程控制,即要求按照规定的程序,在规定的时间内,完成业务受理、客户 服务或者投诉受理等处理工作。 完成这些功能的基本过程都是由前台( 与用户直接沟通的部门) 提交一个工作任务; 然后由一个控制部门将这个工作任务分配给合适的技术支持部门去处理;技术支持部门 处理完后,将结果再反馈给控制部门;控制部门要对处理结果进行审核,通过后再反馈 给前台;最后由前台通知用户处理的结果。 利用工作流技术可以很好的实现对通讯业务处理过程的自动控制,减少中间等待环 节,提高业务处理效率,同时实现无纸化办公,节省成本。 北京联通宽带业务中心原来有一套通讯业务管理系统,但旧系统存在如下特点和缺 点。 ( 1 ) 关联其它很多系统 通讯业务管理系统主要负责过程控制,处理具体的业务,还需技术支持系统。由于 历史发展原因,北京联通宽带业务中心使用很多种不同的技术支持系统,这些系统都是 单独的分离的,使用和维护的工作量非常大。比如,仅仅一个人员的岗位变动,就要涉 及很多系统的人员维护和权限修改。原有通讯业务管理系统与这些技术支持系统没有很 好的融合起来,使用者经常要在不同系统中切换,给工作带来很多不便。 ( 2 ) 业务变动大 随着通讯技术的发展和新通讯业务的产生,通讯业务管理的内容和业务处理过程也 在不断变化,而旧的系统无法适应这些新的变化,无法为新的业务需求提供支持。 ( 3 ) 开发技术落后 由于原有系统开发时间早,使用的开发技术比较落后,特别是没有采用工作流技术, 给后期的维护带来很大困难,通过修改原有系统已经难以满足实际工作的需要。 因此,本项目与北京联通公司合作,首先研究了基于w e b 的工作流引擎技术,将 工作流引擎的核心功能封装成组件,并用轻量级的w e b 框架:j s f ,s p r i n g 和h i b e r n a t e 加以实现。为了加强与其它关联系统的融合,减轻系统维护工作量,本文利用目录服务 技术实现了用户、部门和权限的管理。最后,本文的研究成果被应用到了通讯业务管理 系统中,取得了很好的效果。 一2 一 东北大学硕士学位论文第1 章绪论 1 2 本文主要研究内容 本文主要围绕基于w e b 的工作流引擎展开研究,并用轻量级w e b 框架实现了一 个基于关系型数据库和目录服务的工作流引擎。本文主要的研究内容如下。 ( 1 ) 工作流引擎及其实现技术的分析 本文首先通过查阅大量资料,对工作流技术和工作流引擎的关键问题进行了分析研 究。然后经过对比和实验,选取了j s f 、s p r i n g 、h i b e m a t e 和o p e n l d a p 作为开发工作 流引擎的实现技术。 ( 2 ) 工作流引擎结构的设计 传统的工作流管理系统在应用中存在着问题,一是架构庞大,系统结构复杂,难以 理解,二是提供的功能是以集成的方式实现,从数据存储到运行环境往往都有自己的一 整套独特的体系结构,因而想从中分离出某个功能,将会是一件非常困难的事情。既不 利于功能模块的重用,也难于根据应用的需求定制。 本文探讨工作流管理系统应该提供哪些基本功能,分离出基本的功能做为架构的核 心,从而设计了工作流引擎。 ( 3 ) 流程控制的设计与实现 工作流引擎最关键的功能是流程控制,本文首先分析了流程控制模型,然后利用关 系型数据库,实现了与之相适配的流程控制。 ( 4 ) 目录服务组件的设计与实现 本文的工作流引擎,通过目录服务组件来统一管理组织、资源和权限。本文基于 l d a p 协议,利用o p e n l d a p 设计和实现了目录服务组件。 ( 5 ) 工作流引擎在通讯业务系统的应尉 本项目与北京联通公司合作,在工作流引擎研究的基础上,实现了一个通讯业务管 理系统。该系统具有良好的可扩展性,能够适应通讯业务的快速发展。该系统还具有较 好的兼容性,能够与多种技术支持系统协同工作。该系统在安全性、易用性等方面有了 很大的提高。 1 3 本文组织结构 本文主要围绕基于w e b 的工作流引擎的设计展开论述,共分6 章。各章的内容如 下。 第1 章是绪论部分,对课题的研究背景、意义、主要的研究内容进行简要的概述。 一3 一 东北大学硕士学位论文第1 章绪论 第2 章对工作流引擎进行了分析,详细描述工作流的过程控制模型和组织模型。 第3 章对工作流引擎的实现技术进行论述,对j s f 、s p r i n g 、h i b e r n a t e 和目录服务 技术进行了介绍并分析了它们的优点。 第4 章叙述了工作流引擎的设计、实现和测试工作,对引擎的结构、主要的流程控 制功能、数据库的设计和组织模型的设计及其实现进行了详细的论述。 第5 章是工作流引擎的应用,介绍了工作流引擎在通讯管理系统中的应用。 最后在第6 章对全文进行了总结,并指出需要进一步完善的地方。 一4 一 东北大学硕士学位论文 第2 章工作流技术分析 第2 章工作流技术分析 2 1 工作流技术简介 根据w f m c 的定义【7 】,工作流( w 6 r kf l o w ) 就是自动运作的业务过程部分或整体, 表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。工作 流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某 种预定规则自动传递文档、信息或者任务。工作流属于计算机支持的协同工作( c o m p u t e r s u p p o r t e dc o o p e r a t i v ew o r k ,c s c w ) 的一部分。 工作流技术发端于1 9 7 0 年代中期办公自动化领域的研究工作2 ,6 ,8 1 。含有工作流特 征的商用系统的开发始于1 9 8 3 年至1 9 8 5 年间,早期的商用系统主要来自于图像处理领 域和电子邮件领域。进入1 9 9 0 年代以后,相关的技术条件逐渐成熟,工作流系统的开 发与研究进入了一个新的热潮。1 9 9 3 年8 月,工作流技术标准化的工业组织工作流管 理联盟( w f m c ) 成立。1 9 9 4 年,工作流管理联盟发布了用于工作流管理系统之间互操作 的工作流参考模型,并相继制定了一系列工业标准。进入2 0 0 0 年以后,随着w e b 服务 技术的兴起,多个标准化组织制定了各自和工作流技术相关的w e b 服务标准,如 x l a n g ,w s f l 等。2 0 0 2 年8 月,i b m ,m i c r o s o f t 为等企业联合提交并发布了b p e l 规范。 关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来【2 。2 1 , 人们从工作流模型、体系结构、事务、适应性、异常、安全、语言、形式化、正确性验 证、资源管理、开发过程等各方面对工作流技术进行探讨,大量论文被撰写出来。尽管 工作流技术取得了进步,但理论基础的研究还很不够。现有的工作流管理系统从功能、 可靠性、健壮性上与数据库管理系统无法相提并论。 工作流和其他管理思想、技术一样,是一种对工作进行优化的思想和技术,其主要 的优越性表现如下【1 。1 2 】。 ( 1 ) 可以大大缩短主要业务过程的处理时间。一般情况下,部门的日常活动中,约 有7 0 是属于流程类活动。曾经有过一个统计,处理一个文件的平均时间是7 分钟,而 如果需要在部门之间转发,那么处理一个文件的平均时间是4 天。如果运用了工作流, 通过更好地规划工作流程,并行执行相互独立的活动,减少文档传递过程中不必要的等 待时间,可以达到减少文档的传递和临时存储空间的目的,从而可以大大地加快流程处 一s 一 东北大学硕士学位论文第2 章5 - 作流技术分析 理速度,提高了人们的工作效率和管理的规范化程度。 ( 2 ) 使用工作流以后可以实现工作流的专业化以及组织的分层,也就是说要做到每 项工作都有专业的人员来处理。每个人都有相应的权限和责任。做到人人有事做,事事 有人做。此外,采用工作流技术还可以在工作人员之间更好地均衡负荷,在工作人员缺 勤的情况下,自动地柔性地分配替代人员。 ( 3 ) 运用工作流以后,可以实现对整个业务流程的监控管理。当一个过程的处理环 节超过1 0 个以上后,如果仅靠人为地控制这些环节的衔接,那将是一件非常麻烦而且 不可靠的事情。非常容易出现无法查询到当前的流程是运行到了那个环节的问题。而运 用工作流,可以快速方便地查询相关数据和工作流程,自动提供为完成某个任务所需要 的相关信息,减少工作人员进行单调乏味并且十分耗时的文档查找工作。这样,提高了 工作人员的工作效率,降低了管理成本。 ( 4 ) 工作流技术还可以提供系统日志功能。这种日志记录对于进行情况的事后分析 和流程优化提供了十分重要的数据。在工作流的基础上,利用分析和控制工具,通过对 己经完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程,进行优化控 制。 工作流参考模型( w o r k f l o wr e f e r e n c em o d e l ) 是由工作流管理联盟于1 9 9 5 年提出的工 作流管理系统的体系结构模型。工作流参考模型标识了构成工作流管理系统的基本部件 和这些基本部件交互使用的接口。这些基本部件包括:工作流执行服务、工作流引擎、 流程定义工具、客户端应用、调用应用、管理监控工具;基本部件交互使用的接口包括: 接口一、接口二、接口三、接口四和接口五,如图2 1 。 图2 1 工作流参考模型 f i g2 1t h ew o r k f l o wr e f e r e n c em o d e l 一6 一 东北大学硕士学位论文第2 章工作流技术分析 工作流参考模型各部件和接口的功能说明如下。 工作流执行服务:工作流执行服务是工作流管理系统的核心部件,它的功能包括创 建、管理流程定义,创建、管理和执行流程实例;在执行上述功能的同时,应用程序可 能会通过编程接口同工作流执行服务交互;一个工作流执行服务可能包含有多个分布式 工作的工作流引擎。 工作流引擎:工作流引擎是为流程实例提供运行环境并解释执行流程实例的软件部 件。 流程定义工具:流程定义工具是管理流程定义的工具,它可能通过图形方式把复杂 的流程定义显示出来并加以操作;流程定义工具同工作流执行服务交互。 客户端应用:客户端应用是通过请求的方式同工作流执行服务交互的应用,也就是 说是客户端应用调用工作流执行服务;客户端应用同工作流执行服务交互。 调用应用:调用应用是被工作流执行服务调用的应用;调用应用同工作流执行服务 交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互。一 管理监控工具:管理监控工具主要指组织机构、角色等数据的维护管理和流程执行 情况的监控;管理监控工具同工作流执行服务交互。 _ 接口一:工作流定义交换,用于在建模和定义工具与执行服务之间交换工作流定义。 主要是数据交换格式和a p i 。数据交换通过x p d l ,a p i 通过w a p i 。 接口二:工作流客户端应用接口,用于工作流客户端应用访问工作流引擎和工作列 表,通过w a p i 完成。 接口三:被调用的应用接口,用于调用不同的应用系统。 接口四:工作流系统互操作接口,用于不同工作流系统之间的互操作。 接口五:系统管理和监控,用于系统管理应用访问工作流执行服务。 根据工作流参考模型的定义,本文对工作流系统的核心部件工作流引擎进行了 详细设计和实现。同时为了便于用户使用工作流引擎,还研究了如何用目录服务技术实 现工作流的用户、角色和权限管理,即工作流组织模型。 2 2 工作流引擎分析 2 2 1 过程模型分析 根据工作流参考模型的定义,一个工作流系统的核心是工作流引擎,而实现过程控 制又是工作流引擎最基本的功能。 一7 一 东北大学硕士学位论文第2 章工作流技术分析 过程控制的目标是实现业务流程在系统中的信息无缝传递。具体需要传递的信息包 括:活动或子过程的激活、过程活动实例状态、工作流相关数据与应用数据、同步点协 作、过程模型的读写等特征信息。流程引擎中过程模型主要包含:链式模型、嵌套模型、 对等模型以及同步模型3 ,4 ,9 1 。 ( 1 ) 链式模型 链式模型中存在a 、b 两个流程,模型允许流程a 中的某一个连接点和流程b 中的 一个连接点相连接,如图2 2 所示。 流程a流程b b 3 () 图2 2 链式模型 f i g2 2l i n km o d e l ( 2 ) 嵌套模型 嵌套模型也称作等级模型,它允许流程b 作为流程a 的一个子过程来处理。参见 图2 3 。流程a 为主流程,流程b 为流程a 的子过程,这种等级嵌套关系可以嵌套多个 层次。 流程a流程b ,立卜q _ 图2 3 嵌套模型 f i g2 3e m b e d i n gm o d e l ( 3 ) 对等模型 对等模型相对前两种模型来说要复杂的多,如图2 4 所示。流程c 跨越多个流程区 域,形成一个共享的工作流域,流程c 的一部分活动节点属于a ,而其它部分属于流程 b ,流程a 和流程b 相互合作共同完成一个工作流程。这种模型要求流程a 和流程b 采用一种通用的定义语言和交互接口。 一8 一 东北大学硕士学位论文第2 章工作流技术分析 流程c 交叉 引用 匡悃 图2 4 对等模型 f i g2 4e q u i t ym o d e l ( 4 ) 同步模型 同步模型描述的是流程a 和流程b 两个不同流程存在某一条件下共同执行完成流 程的情况。通常它们分别独立运行,但每个过程中都有一个预定义的同步点,如图2 5 中的是a 4 和b 1 ,一旦某个流程执行到同步点,就会触发一个预定义的通用事件,该事 件负责同步两个流程的执行。 图2 5 同步模型 f i g2 5s y n c h r o n i z a t i o nm o d e l 2 2 2 流程的控制与调度分析 流程的控制与调度机制是工作流引擎最重要的部分,形成了引擎中最重要的活动路 由机制。它描述了在流程执行过程中,如何实现对不同的活动之间的执行顺序的控制。 活动的路由条件和每个活动一一对应,也就是说,每个活动对应一个路由条件,在该路 由条件中定义了本活动完成后,引擎将执行的下一个活动。流程的执行包含过程的每一 步,即单个活动的执行和活动之间执行逻辑关系的实现。其中逻辑关系的正确与否是流 程正确推进的基础,它体现了每个执行的活动是否是按照模型定义好的执行顺序在进 行。下面,本文对流程的控制与调度机制的基本流程类型进行分析【1 0 。1 2 1 。 ( 1 ) 顺序结构 顺序结构是最基本的流程引擎控制模式,参见图2 6 。 一9 一 东北大学硕士学位论文第2 章工作流技术分析 图2 6 顺序结构 f i g2 6o r d i n a ls 缸u c t l i r e 在前一活动完成之前,后一活动不能被调度运行。当活动a 执行完毕后,计算a 的路由条件,a 的路由条件为:a 执行完毕,执行b 。 ( 2 ) 并发分类结构 并发分类结构也称为并行结构,两个或更多的活动并发执行,不分先后顺序。只要 路由条件满足就执行。图2 7 描述当活动a 执行完毕后,执行a 的所有后续分支活动, b 1 和b 2 。a 的路由条件定义为:a 执行完毕,流程引擎执行后续活动b l 和b 2 。 图2 7 并发分类结构 f i g2 7p a r a l l e lf o r ks t r u c t u r e ( 3 ) 并发汇合结构 并发汇合结构也称为“同步”结构,当两个或更多的并行活动都完成后,下一活动才 能开始执行。图2 8 描述了当活动a 1 和a 2 全部执行完毕后,活动b 开始执行。活动 a 1 的路由条件为:灿和a 2 执行完毕后执行b ;a 2 的路由条件为:a 1 和a 2 全部执行 完毕后,执行b 。执行过程如下:流程引擎执行活动a 1 ,执行完毕,计算路由条件( 假 设此时a 2 未执行完毕) ,此时路由条件为假,b 不能执行;a 2 执行完毕后,流程引擎 计算a 2 的路由条件,此时路由条件为真,开始执行b 。 图2 8 并发汇合结构 f i g2 8p a r a l l e lj o i ns t r u c t u r e ( 4 ) 选择分流结构 选择分流结构也称为“排他选择”。在流程的某一点,依据一个结果或流程控制数据, 从多个分支路径中选定一个路径执行,只要一个路径满足条件,就不再进行判断。图2 9 描述当活动a 执行完毕,根据a 的执行结果判断执行a 的部分后续分支的活动。a 的 一】0 一 东北大学硕士学位论文第2 章工作流技术分析 路由条件定义为根据实际的执行结果,执行后续活动,同时将不再执行的活动标记为没 有执行。 图2 9 选择分流结构 f i g2 9e x c l u s i v ef o r ks t r u c t u r e ( 5 ) 选择汇合结构 选择汇合结构也被称为“排他合并”。在流程中某点,需将两个或更多可选分支聚合 而不同步,只要其中一个路径上的活动完成,就可以调度下一个活动,且下一活动只能 被实例化一次。 图2 1 0 描述当前续活动a 1 或a 2 指定的活动完成后,执行后续活动b 。b 活动只 能被实例化一次。 图2 1 0 选择汇合结构 f i g2 10e x c l u s i v ej o i ns t r u c t u r e ( 6 ) 循环结构 循环结构在流程引擎中占有重要地位,在流程中,一个或多个活动可被重复执行的 情况很多。参见图2 1 1 循环结构图,活动a 执行完毕后执行活动b ;活动b 执行完毕 后,需要判断一个条件,当条件满足时,执行活动c ,否则重复执行活动b 。其中a 的 路由条件定义为:a 执行完毕,执行b 。b 的路由条件定义为:根据b 的执行结果,如 果条件满足则执行活动c ,否则执行活动b 。 图2 1 1 循环结构 f i g2 1 1l o o ps 仃u c 眦 东北大学硕士学位论文第2 章工作流技术分析 2 2 3 组织模型分析 工作流组织模型描绘的是组织的层次结构和部门结构,也被称为组织结构模型1 8 】。 其中层次结构反映的是各管理层次的构成,又称组织的纵向结构,而部门结构反映的是 每个管理部门的具体构成,又称组织的横向结构。 由于机构模型是对现实世界客观反映,因而通常被分为:组织机构、组织单元、岗 位、角色、群组、人员等组织机构实体。但如果对现实世界的机构模型进行抽象的话, 我们就会发现角色、岗位、群组三者反映的都是“人员的集合”这个概念,并无明显的区 别。 类似的抽象过程也可以运用到组织机构和组织单元两者之间的关系上面,因为如果 考虑到没有上级的组织单元其实质就是组织机构的话,那么,采用嵌套式的递归过程是 完全可以将二者合并为同一个概念的。简化了的机构模型不仅可以增进用户的理解,还 可以提高工作流引擎对机构模型的解析速度,即提高引擎的运行效率。 基于上述考虑,本文构造的机构模型包括人员、角色和部门三种实体。其中角色是 具有某种身份或权限的命名标识。角色以功能为前提,是能够完成某项功能的人员的总 称,也可以指人的责任或权利。分派给指定角色的任务由该角色下的人员完成。角色可 以被分配给人员。部门是对某个部门的抽象描述,属性包括部门名称、描述、角色列表、 员工列表和部门领导等等。由企业的实际部门设置情况决定。部门之间有相互包容的关 系,可以形成层次结构。 2 3 本章小结 本章首先简单介绍了工作流技术,并总结了工作流技术的优点。然后,本章着重分 析了工作流系统的核心部件工作流引擎,对它的过程模型、过程控制以及组织模型 进行了分析。 一1 2 东北大学硕士学位论文第3 章轻量级w e b 框架分析 第3 章轻量级w e b 框架分析 目前开发w e b 应用主要有三种平台:p h p 、n e t 和j 2 e e 。由于j 2 e e 具有优良的 跨平台性、完整的体系结构、拥有众多开源系统、得到大多数主流厂商支持,因此j 2 e e 是当f j 的主流w e b 架构之一,大多数企业采用j 2 e e 的结构设计和解决方案。j 2 e e 提 供了中间层集成框架,用来满足可用、可靠及可扩展的应用需求。通过统一的开发平台, j 2 e e 降低了开发多层应用的成本和复杂度;j 2 e e 支持对现有应用程序的集成,提高了 异构环境的协同工作能力;j 2 e e 支持打包和应用部署,增强了安全机制,提高了性能。 e j b 技术是经典j 2 e e 架构中的核心技术,简单来说,它提供了业务组件的可移植 性,提供了一种可复用的j a v a 服务器端组件标准,e j b 组件负责接受、处理w e b 容器 的客户请求和连接,为企业提供了持久性、业务处理、事务处理和分布式处理能力。但 是,正因为如此,所有的数据访问都依赖于e j b ,业务逻辑通常在e j b 中实现,完全依 赖于e j b 容器,系统的开销很大,而且使系统的移植比较困难。使用e j b 技术,在设 计对象时,还受到e j b 规范的限制,给设计带来很多限制,二次开发也比较困难。为了 解决经典架构中一系列问题,j 2 e e 逐步流行起了非e j b 架构的“轻量级框架”。 基于j 2 e e 的轻量级框架很多,比如s t r u t s 、w e b w o r k 、i b a t i s 、e x p r e s s o 等等。本文 在大量对比和实验的基础上,选用了目前比较流行的轻量级的w e b 开发框架:s p r i n g 和h i b e r n a t e 来管理工作流引擎的对象组件和数据对象。此外,本文还利用j s f 框架实 现了用户接口层,用目录服务技术实现了组织模型。下面是对所用技术的简单介绍和优 势分析。 3 1j s f 框架优势分析 j s f 的全称是j a v as e r v e rf a c e s ,是s u n 公司j 2 e e 标准指定的w e b 应用框架,属于 j a v aw e b 表示层框架【1 7 ,18 1 。 j s f 包含三部分:一套预制的u i 组件集;一个事件驱动的编程模型;一个允许第 三方开发者提供附加组件的组件模型。 与传统的j a v aw e b 开发的前端技术相比,j s f 的特点是面向组件、基于事件驱动模 型,这与基于请求驱动模型的技术相比,有如下的6 大优势。 ( 1 ) u i 组件( u i - c o m p o n e n t ) u i 组件( u i - c o m p o n e n t ) 直是桌面程序的专利,w e b 程序中,虽然h t m l 定义了基 一13 东北大学硕士学位论文第3 章轻量级w e b 框架分析 本的u i 标签,但要使这些u i 标签像u i 组件那样工作,还需要很多代码片断来处理数 据及其表现形式,而且有效地组织这些代码片断使其协调一致也是一件繁琐的工作。j s f 的u i 组件是真正意义上的u i 组件,能极大地简化程序员的工作,例如,在页面上放置 一个文本输入框,这个输入框立即具备了数据填充、界面更新、事件侦听、动作触发、 有效性检查和类型转换的功能。更为重要的是,程序员只需根据业务逻辑编写核心业务 代码,j s f 会保证代码在合适的时候被执行,完全不用考虑代码与代码之间该如何来配 合。 ( 2 ) 事件驱动模式 事件是面向对象方法的重要组成部分,对象之间通过事件进行沟通和交流,使得一 个或多个对象能够对另一个对象的行为作出响应,共同合作去完成一项业务逻辑。通常, 编写w e b 程序时,程序员要为对象之间的沟通设计机制,编写代码。虽然沟通的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年IT系统合成升级时间安排商谈函(3篇)范文
- 电子竞技产业平台建设与运营管理方案
- 餐厅服务质量满意度调查通知函(5篇)
- 2026年关于售后服务的函(5篇)范文
- 会计行业审计项目经理KPI考核表
- 工业自动化企业系统调试与运行维护指南
- 感恩教育:回报身边的人小学主题班会课件
- 物理设备故障维护与修复计划
- 小学主题班会课件:诚实守信促成长团结协作展风采
- 迪庆州一级造价工程师考试模拟题及答案:(建设工程计价)(2026年)
- TSG-21-2016-固定式压力容器安全技术监察规程
- oa安全保密管理制度
- DB33- 1001-2003:建筑地基基础设计规范
- 《医疗器械知识培训》课件
- 车辆配装配载方案
- GB/T 14233.3-2024医用输液、输血、注射器具检验方法第3部分:微生物学试验方法
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 智研数据中心部分可吸收止血材料市场调研分析报告
- HG+20231-2014化学工业建设项目试车规范
- 高一入学分班考试-数学试题含答案
- 中风病-《中医内科学》课件
评论
0/150
提交评论