已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 在信息高速流动市场竞争激烈的今天,能否通过业务协作实现信息共享,提 高自身工作效率是企业制胜的关键所在。市场环境要求企业不断调整自己的组织 模式和业务流程,而工作流技术作为计算机领域发展迅速的新技术,正是实现业 务过程建模、过程优化与管理并最终实现业务过程自动化的核心技术。构建灵活 易用、高效稳定的协同办公平台是在企业中应用工作流技术的重要形式。 工作流引擎是工作流管理系统的核心部分,它根据流程模型来推进流程的执 行,为每一步的执行角色分配工作,达到提高工作效率的目的。如何在协同办公 平台中设计高效的工作流引擎,提高开发效率,是研究的关键部分。 本文深入研究了工作流及工作流引擎的相关技术,简单介绍了工作流管理联 盟提出的参考模型及各个功能组件和接口。在此基础上,结合实际应用需要,本 着简单灵活易用的原则,设计实现了一个基于j 2 e e 框架的轻量级工作流引擎,阐 述了引擎的设计思路、执行调度机制和关键技术实现。该工作流引擎为业务流程 提供运行容器,保证流程的正常运行,同时引擎又向外提供丰富的接口,架构清 晰开放,能够方便的嵌入到应用系统,具有很好的移植性和扩展性。 最后,分析实际业务需求,将工作流引擎应用于协同办公平台,实现了业务 流程建模、解析、执行,有效推动了企业业务流程的自动流转。 关键词:业务协作;工作流引擎;协同办公 a b s t r a c t n o w a d a v s ,i n f o r m a t i o nf o w sa tal l i g hs p e e da n dt h em a r k e t i sc o m p e t h i v e p a u s t 0 i m p r o v ee m e 印f i s e se f f i c i e n c yt h r o u g hb u s i n e s s c o l l a b o r a t i o ni st h ek e yf o r e n t e r l m s e st o s u c c e s s m a r k e te n v i r o n m e n tr e q u i r e sc o m p a m e st o 岫u s t t h e 0 r g a m z a t i o n a lm o d e l sa n db u s i n e s sp r o c e s s e sc o n s t a n t l y a n dw o r k f l o wa s ar a p i d d e v e l o p i n gn e wt e c h n o l o g yi r tc o m p u t e ri n d u s t r y i st h ec o r et oa c h i e v eb u s i n e s sp r o c e s s m o d e l i n g p r o c e s so p t i m i z a t i o na n du l t i m a t e l yp r o c e s sa u t o m a t i o n i t l sa n1 n l p o n a m f o mo fw o 棚o wt e c h n o l o g ya p p l i c a t i o nt ob u i l daf l e x i b l e ,e a s yt ou s e ,h i g h l y e f f i c i e n t a n ds t a b l ec o o p e r a t i v eo f f i c ep l a t f o r m a st h ec o r eo fw o r k f l o wm a n a g e m e n ts y s t e m ,w o r k f l o we n g i n ei sr e s p o n s i b l ef o r p r o c e s se x e c u t i o na c c o r d i n gt op r o c e s sm o d e l sa n dw o r kd i s t r i b u t i o nb yr o l e ss t e pb y s t e pt oi m p r o v ee f f i c i e n c y s oh o w t o d e s i g na n e f f e c t i v ew o r k f l o we n g i n ef o r c o o p e r a t i v eo f f i c ep l a t f o r m i sak e yp a r to ft h et h e s i s t h et l l e s i ss t u d i e sw o r k f l o wa n dr e l a t i v et e c h n o l o g i e so fw o r k f l o we n g i n ea n d i n 仃o d u c e st 1 1 ew o r k f l o wr e f e r e n c em o d e l ,f u n c t i o n a lc o m p o n e n t sa n d i n t e r f a c e s p r o p o s e db yt h ew o r k f l o wm a n a g e m e n tc o a l i t i o n o nt h i sb a s i s ,c o m b i n i n gw i t ht h e p r a c t i c a la p p l i c a t i o nn e e d s ,t h et h e s i sd e s i g n sa n di m p l e m e m sal i g h t w e i g h tw o 舳o w e n g i n eb a s e do nj 2 e ei nl i n ew i t hs i m p l e ,f l e x i b l ea n du s e r - f r i e n d l yp r i n c i p l e s t h e n t h e t 1 1 e s i si l l u s 仃a t e st h ed e s i g ni d e a , o p e r a t i o nd i s p a t c h i n gm e c h a n i s ma n dk e yt e c h n o l o g y o ft h ee n g i n e t h i sw o r k f l o we n g i n ep r o v i d e sar u n n i n gc o n t a i n e rf o r b u s i n e s sp r o c e s s a n de n s u r e st h en o r m a lo p e r a t i o no ft h ep r o c e s s a tt h es a m et i m e ,i tp r o v i d e sr i c h n e r f a c e st oe x t e r n a la p p l i c a t i o n sa n dh a sc l e a ra n do p e n i n gs t r u c t u r et ob ee m b e d a l e d i n t oa p p l i c a t i o ns y n e m se a s i l y , e x c e l l e n tp o r t a b i l i t ya n d s c a l a b i l i t y f i n a l l y ,r e f e 玎i n gt oa c t u a lb u s i n e s sn e e d s ,t h et h e s i sa p p l i e st h ew o r k f l o we n g i n e t oc o o p e r a = “eo f f i c ep l a t f o r mt oi m p l e m e n tm o d e l i n g ,a n a l y s i sa n de x e c u u o no tt h e b u s i n e s sp r o c e s s ,s oa st op r o m o t et h ep r o c e s s t of l o wa u t o m a t i c a l l y k e y w o r d s :b u s i n e s sc o l l a b o r a t i o n ;w o r l d l o we n g i n e ;c o o p e r a t i v e o f f i c e p l a t f o r m 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文= ! 画囱些釜垃佳笪逋捏堡动互i 鍪盟究皇塞现:。除论文中 已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中 以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开 发表或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:起雪望亏 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 论文作者签名嬲萌导师签名:既錾 日期:沙p 年名月矽日 面向业务协作的流程驱动引擎研究与实现 第1 章绪论 1 1 本文的研究背景及意义 在如今信息高速流动的社会中,很多企业或是政府机构的管理都处于杂乱的 状况中,管理流程也是非常的混乱,信息的共享性完全没有体现出来,部门间有 各自的应用系统,实现了信息化,但是由于缺少统一的规范,造成了信息孤岛的 现象。此时引入业务协作的概念,设计一个协同平台,将企业内外的信息、资源 全部整合在这个统一的平台上进行管理,并以相应的工作流来运转,那么信息得 到了有效的共享,业务流程得到了有效的运转,企业可以将更多的精力投放在创 新上面,提高自身的竞争力,这便是工作流应用在业务协作中的价值。 1 1 1 业务协作概念 业务协作( b u s i n e s sc o l l a b o r a t i o n ) ,也可以叫做协同,是指企业与企业之间, 企业部门或成员之间为完成某项业务或某个目标共同参与的一系列的协作过程。 在企业中,大到企业的战略目标,小到一个具体的任务、计划或项目等,每一项 业务很少是由一个人完成,都需要由多人共同完成,甚至由多个部门来完成【l l 。 业务协作的理念在企业的运作中主要体现在三个方面【2 】: ( 1 ) 对信息的高度共享。在如今的信息社会,到处都充斥着形式各样的信息, 而信息要想体现其价值,必须有高度的共享性。企业的管理者、员工,或是企业 的合作伙伴,要能够方便的查找相关的信息,以支持任务目标的实现,并能够利 用信息创造价值。 ( 2 ) 对各种业务的整合。企业中存在着各种不同的业务,虽然表面上看起来 各业务属于不同的部门和人员,但本质上讲,这些业务紧密联系在一起构成企业 的业务网,同时这些业务需要各部门的协调,而企业需要对这些业务进行整合, 使其能够相互协调,和平运作。 ( 3 ) 对各种资源的优化配置。这里的资源包括人员、信息、流程和财物等, 当企业达到信息共享及业务整合时,要把各种资源充分配置利用起来,使得企业 的信息网络能够通畅高效的运作。 第1 章绪论 当信息、资源、业务流程三者整合形成企业网络体系时,业务协作的概念便 体现出来,企业对其进行协调和统一管理,使得企业能够尽可能的实现利益最大 化,完成企业目标。 1 1 2 流程驱动引擎概念 所谓流程驱动业务协作,简单的讲,就是指利用工作流管理系统来实现工作 人员间的合作,其中任何一个人的工作都可以自动地推动其他相关人员的工作。 具体来说,当一个工作被启动,或者在执行的过程中,所有相关人员,都可以在 第一时间知道这个工作的最新进展,知道自己应该在什么时间做什么事情,从而 保证工作按计划和目标来完成【3 】。 通过流程来驱动业务协作是管理软件中的一项创新,对于管理者,每天都会 面对大量的事情需要处理,这些事情可能来自某个项目、某个各户、某个任务或 某个下级或上级等。流程驱动将业务中的任务、计划、工作等“推”到具体的负 责人和协作人面前,“强制 负责人来执行,并且通过提醒、督促、督办的形式 来进行过程控制,这样不仅仅做到高效的完成工作,而且还能做到让每个人都能 轻松的知道自己在什么时间要做什么事情,也能让管理者知道事情由谁负责,进 展如何,确保包括自己在内的所有人都能围绕着同一个任务而展开相互协作,真 正的实现业务的动态管理【4 1 。 实现流程驱动业务协作,需要有以驱动引擎为内核的工作流管理系统,这里 的流程驱动引擎,也叫做工作流引擎,是工作流管理系统的核心,主要完成业务 流程定义的解析和对流程运转的推动。业务流程定义描述的是业务流程中各步的 交互工作,工作流引擎通过解析流程定义文件,按照定义来推动工作流的运转, 引擎通过参考工作流的信息模型来设计流程定义文件,设计引擎调度算法推动工 作流的运转( 包括流程启动、运行、终止等) ,设计执行算法实现业务的处理【5 j 。 本文的研究思路是对工作流技术进行研究,参考w f m c 的工作流参考模型, 学习市场上一些成熟的工作流引擎,设计出一个基于w e b w o r k + s p r i n g + h i b e m a t e 框架的轻量级工作流引擎c r f l o e n g 并加以实现,将其运用于云南省航务海事协同 办公平台中。 面向业务协作的流程驱动引擎研究与实现 1 2 工作流引擎技术的研究现状 工作流引擎作为工作流管理系统的核心组件,在整个工作流系统中有着极其 重要的地位。随着工作流领域各个方面研究的发展,工作流引擎为了适应各个领 域特殊的要求也有着不同程度的发展。当前有很多的开源工作流引擎项目,下面 做简单的介绍: ( 1 ) j b p m 6 1 j b p m 是由t o mb a e y e n s 编写的一个灵活可扩展的工作流管理系统,它的最大 特色就是没有采用w f m c 规范,自身有强大的业务逻辑定义j p d l ( j b o s sj b p m p r o c e s sd e f i n i t i o nl a n g u a g e ) ,j p d l 认为一个流程可以被看作是一个u m l 状态图, j p d l 用于详细定义这个状态图的每个部分,如起始及结束状态、状态之间的转换 等,但由于没有提供规范接口,使它不易于与其它工作流引擎进行交互,由于j b p m 持久层采用h i b e r n a t e 技术来实现,因此具有一定的可扩展性【刀。 i b p m 中结合了状态图、活动图和p e t r i n e t 的知识,它采用了t o k e n 的概念, 用来表示任务分配给某一个a c t i o n 执行者,只有当某个执行者获得了一个t o k e n , 才有可能去执行任务,因此,i b p m 的流程推进机制实际上表现为t o k e n 的转移。 引擎在一个流程实例开始的时候产生一个r o o tt o k e n ,而这个t o k e n 对象会随着流 程实例运行而转移,从而来表示任务的依序执行。在此过程中,如果将一项任务 分配给某个执行者,该执行者就会获得一个t o k e n 对象标识【8 】o ( 2 ) s h a r k s h a r k 是e n h y d r a 组织开发的完全基于w f m c 规范实施的工作流引擎,它利用 x p d l 来定义流程,它主要由服务器管理控制台、包管理器、持久层服务、日志管 理器、流程库、过程实例运行模块、客户端等功能模块组成。s h a r k 中的每个组件 都是按照标准实施运用的,而且还可以被扩展和替换,同时还包括在服务器端可 以用于活动节点执行的w f m c 工具代理接口,这个a p i 集合可以通过e j b 、c o r b a 和w e b s e r v i c e 等形式进行调用 9 ,1 们。 第1 章绪论 s h a r k 采用的流程调度策略是,在流程中的某个步骤完成以后中,工作流引擎 遍历所有己经完成的活动,并由此来找到下一个应该执行的活动,进而推动流程 运转和实现状态迁移。 ( 3 ) o s w o r k f l o w o p e n s y m p h o n y 组织开发的o s w o r k f l o w 是基于有限状态机f s m ( f i n i t es t a t e m a c h i n e ) 的概念,它的每个s t a t e 是通过s t e p i d 和s t a t u s 联合表示,而s t a t e 的转 换是由动作驱动的,在工作流程的生命期中,总会有至少一个或多个活动的s t a t e , 一个s t a t e 到另一个s t a t e 的转移( t r a n s i t i o n ) ,依赖于a c t i o n 的发生【1 1 】。 o s w o r k f l o w 的流程推进机制与通常所说的流程不同,其驱动是通过a c t i o n 的 执行来进行的 1 2 , 1 3 】,其实现是分为两个步骤,一是具体实施动作,另一个是维护 流程状态变迁。一个动作的执行所造成的状态改变,可能使流程从一个s t e p 的某 个s t a t u s 变为另一个s t a t u s ,也可能从一个s t e p 的某一个s t a t u s 变为另一个s t e p 的s t a t u s 。在状态变迁的过程中,会执行预先定义的前置和后置函数。 o s w o r k f l o w 具有一定的灵活性,在流程建模方面不仅支持b e a n s h e l l 脚本, 还支持j a v a 、b s f 和e j b 等,并且可以采用j d b c 、h i b e r n a t e 、e j b 等多种数据持 久化方式。 还有其他一些工作流引擎,如o f b i z 工作流项目、o b e 工作流引擎、 o p e n e b x m l 、o p e n 岍e 等【1 4 1 。另外国内市场上也有许多优秀的工作流管理软件 产品,比如:西安协同数码股份有限公司推出的s y n c h r o f l o w t ”】;清华大学研究开 发的用于集成制造的分布式工作流管理系统c i m f i o w t l 6 1 ;信雅达采用j 2 e e 技术, 基于域的分布式的工作流引擎s u n f l o w t l 7 】;西北大学软件工程研究所开发的基于 信牌驱动式工作流计算模型【1 即的工作流管理系统;北京点击科技有限公司基于“活 页夹模型的竞开工作流管理系统g k w o r k f l o w 1 9 1 。 目前有许多工作流产品充斥着市场,也有众多对工作流引擎技术的研究,但 并不是每一种都能很好的实现和应用,因为侧重点的不同,有些引擎是为了实用 和商业需求,而有的是侧重于理论研究。比如c i m o s a 虽然理论体系比较完整, 但却缺乏实际中的应用和成熟的工具的支持16 1 。 面向业务协作的流程驱动引擎研究与实现 本文选择自主开发工作流引擎c r f i o e n g ,不追求对工作流规范的完整实现, 自主开发可以节省相当的开发成本,而且可以本着简单易用和灵活性的原则,通 过工作流底层技术的学习开发轻量级工作流引擎,本文所讨论的引擎充分发挥了 j 2 e e 框架的优势,选择成熟的框架技术,使得系统各层级及模块间有着清晰的接 口,使系统具有良好的扩展性和可维护性。 1 3 本文的研究内容及成果 工作流引擎是工作流管理系统的核心,本文依托云南省交通厅航务管理局的 “云南航务海事综合应用系统研究项目,对项目中协同办公部分的工作流技术 进行研究,设计出一个轻量级工作流引擎,并将其应用到实际项目中,研究内容 主要包括: ( 1 ) 研究了w f m c 组织提出的工作流技术标准和相关的工作流参考模型,特 别是作为工作流核心技术的工作流引擎部分。 ( 2 ) 分析研究j 2 e e 平台架构,x m l 等系统实现的相关技术。 ( 3 ) 在参照w f m c 的有关规范的基础上,研究工作流引擎的模型、调度执行 机制,设计并实现了一个轻量级工作流引擎c r f l o e n g ,该引擎将w e b w o r k 、s p r i n g 、 h i b e r n a t e 框架技术整合应用于自身的体系结构,结构清晰,扩展性强,向外提供 接口便于开发。 ( 4 ) 将c r f l o e n g 应用于协同办公平台中,通过工作流引擎的应用提高日常 办公的工作效率。 1 4 论文组织结构 论文在安排上主要分为如下五个部分: 第1 章介绍了论文的课题背景及意义、工作流引擎技术的国内外研究现状、 本文的研究内容及成果,同时对论文的组织结构进行介绍。 第2 章分析了引擎涉及的相关技术,对工作流技术进行介绍综述,分析了 w f m c 提出的工作流管理系统和参考模型,并简要介绍了j 2 e e 技术,w e b w o r k , s p r i n g 和h i b e r n a t e 三个框架以及x m l 技术。 第1 章绪论 第3 章提出了c r f i o e n g 引擎的设计思路和总体架构设计,描述了引擎的调度 执行机制,并对其他部分进行了详细的分析和设计,然后对引擎的核心类进行了 相关的说明。本章是论文的核心部分。 第4 章对c r f l o e n g 进行具体实现,给出了引擎核心部分的实现,对部分重要 的类进行说明。 第5 章将工作流引擎运用到实际项目“云南省航务海事协同办公平台 中, 介绍了业务流程的运转过程。 最后对论文工作进行总结,并对今后的研究进行展望。 面向业务协作的流程驱动引擎研究与实现 第2 章相关技术介绍 工作流管理系统是一个非常复杂的系统,其核心部分就是工作流引擎,对工 作流引擎的研究有许多相关技术背景,本章将分3 个小节分别描述,主要包括工作 流管理系统的简介、工作流参考模型的学习、j 2 e e 框架技术、x m l 相关技术等, 为接下来引擎的分析设计和关键技术实现做好知识铺垫。 2 1 工作流技术概括 2 1 1 工作流定义及相关概念 ( 1 ) 工作流定义 工作流( w o r k f l o w ) 的概念是从办公自动化领域产生的,是针对工作中按照 固定工作程序进行的活动提出的,目的是将工作转化为由任务、角色构成的,由 具有一定规则的业务过程连接起来的一条业务流程,使工作能够按照规则计算机 化或自动化,便于执行和监控,以达到降低生产成本、提高企业收益及竞争力的 目标【2 0 1 。 关于工作流一直都存在着多种不同的定义,1 9 9 3 年工作流管理联盟( 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 ,简称w f m c ) 的成立促进了工作流技术的标准化,它提出 的一系列标准也规范了工作流技术的应用。w f m c 给出的工作流定义是 2 1 】:工作 流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、 信息或任务能够在不同的执行者之间进行传递与执行。 简单的说,工作流实际上就是业务流程的自动化,将业务流程中的工作提取 分解,按照逻辑规则组织在一起,而其中的信息、文档等按照流程定义中的规则 在参与人员之间传递,以实现既定的业务目标。 ( 2 ) 工作流相关概念 w f m c 所提供的术语基本上涵盖了所有与工作流相关的概念及解释。图2 1 给出的是工作流基本概念之间的联系。 第2 章相关技术介绍 图2 1 工作流基本概念间的联系 f i g 2 1r e l a t i o n s h i pa m o n gw o r k f l o w sb a s i cc o n c e p t s 图2 1 所涉及到的几个比较重要的概念如下: 业务过程( b u s i n e s sp r o c e s s ) :也称为经营过程,是指为了实现某个业务目标, 在部分或者全部组织机构和人员的参与下,利用企业资源在参与者和组织机构之 间进行文档、信息、任务的传递或处理而进行的一系列相互关联的活动。要描述 一个企业的经营过程,主要应该说明构成经营过程的活动和活动之间的连接关系、 活动的参与者( 即角色) 和工作流应用程序【2 2 1 。 过程定义( p r o c e s sd e f i n i t i o n ) :是对业务过程的形式化表示,用来支持自动化 操作,过程可分解为一系列子过程和活动。过程定义包括活动和所涉及到的各种 参数,如起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要 做的工作、相关应用程序和数据的调用信息等。 活动( a c t i v i t y ) :业务过程的一个执行阶段,由执行者完成。执行者可以是人、 软件系统或二者的集合。活动是过程执行过程中可被工作机调度的最小工作单元, 要求有人或机器的参与。根据是否需要人工提供数据或完成某些任务可分为手工 活动和自动活动两类【2 3 】。 面向业务协作的流程驱动引擎研究与实现 过程实例( p r o c e s si n s t a n c e ) :是实例化的过程定义。过程实例是业务过程的 一次相对独立的执行。 活动实例( a c t i v i t yi n s t a n c e ) :是实例化的活动。一个过程实例中可能同时存 在多个活动实例,而一个活动实例不可能同时存在于多个过程实例中。一般情况 下,每一个活动实例都将表现为一个工作项( w o r k l t e m :它将由某个或某组用户 负责完成) 。某个用户所负责的所有工作项将构成其工作项列表( w o r l d i s t ) 。 2 1 2 工作流管理系统 工作流管理系统是以工作流引擎为基础构建起来的一套软件系统,它为企业 业务流程的运行提供支撑,通过定义业务流程逻辑,调用相关资源推进流程实例 在相关人员间的执行,同时监控各流程的运行状态,因此也可称工作流管理系统 为企业的业务操作系统 2 4 】。 w f m c 给出的工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ,简称w f m s ) 的定义是【1 3 】:一种能定义、创建和管理工作流执行的系统。它可以通过一个或多 个工作流引擎来运行,并能解释过程定义、与工作流参与者交互。 工作流管理系统提供对业务流程的定义,当业务流程改变时,不需要对系统 进行改变,只需修改流程定义模板便可实现,实现了定义逻辑和实现过程的分离。 而工作流管理系统的目标也正是适应企业复杂多变的业务处理,方便对业务过程 的管理,合理的调配业务活动中各项信息及资源,发挥系统最大效能实现系统目 标f 2 5 1 。 1 工作流管理系统的功能 工作流中的每一个业务过程都存在自己的生命周期,时间长度长短不一,由 业务的复杂度及活动处理过程而决定。开发人员可以各种不同的方式实现工作流 管理系统,在实现过程中硬件环境、软件架构、技术手段都可以不同,虽然实现 方式不同,应用范围也不同,但是抽象的从较高层次上观察,所有的工作流管理 系统总是具有一些相同的特性,为业务协作、业务集成提供了基础1 2 6 】。工作流管 理系统的功能如图2 2 所示。 第2 章相关技术介绍 过程设计与定义 过 l 经营过程分析、 i 建模与定义工具 图2 2 工作流管理系统的功能图 f i g 2 2p i c t u r eo fw f m s sf u n c t i o n w f m s 提供对以下三种功能的支持【l 6 】: ( 1 ) 建立时期( b u i l d t i m e ) 的建模功能:进行流程定义及建模,包括组成业 务流程的活动及表示活动间转移关系的流程跳转。在这个阶段,利用建模工具, 将实际工作中的业务转化成计算机可识别的、形式化的流程定义( p r o c e s s d e f i n i t i o n ) ,流程定义包括活动及活动中涉及的用户角色,活动调度规则,跳转 条件等信息。 ( 2 ) 运行时期( r u n t i m e ) 的控制功能:启动业务流程,在工作流执行上下 文中,按照流程定义的执行逻辑推动流程的运行。在这个阶段,工作流引擎作为 核心部分,为业务流程提供执行环境,它负责解析流程定义,启动流程,控制并 监控所有业务流程按照流程定义中描述的进行调度。 ( 3 ) 运行时期( r u n t i m e ) 的交互功能:在流程运转的过程中实现用户与其 他各种应用程序间的交互。在运行时期,用户需要存取相关的业务数据,要查看 需要自己处理的业务,要查看流程的办理情况,这些都是系统需要提供给用户的 接口,以实现相关功能的访问。 面向业务协作的流程驱动引擎研究与实现 2 工作流管理系统的体系结构 目前市场上存在着很多自主开发的工作流管理系统,可以是在不同的软硬件 平台上实现的,接口使用的编程语言和设计技术也可以是不同的,但是从更高的 层次来看,它们具有相似的结构。 捌23 工作流管理系统体系结构 f i g2 3 a r c h i t e c t m e o f w l m s 为了工作流技术的标准化及各系统问的集成,w f i m c 提出了工作流管理系统 体系结构的参考模型,如图23 所示叨,该模型将w i m s 的运行环境进行抽象描 述,规范了功能部件及相关接口,描述了系统内部及外部应用间的关系,该模型 满足工作流产品应该具备的功能为工作流产品的标准化及相互间的瓦操作提供 了基础。 从图23 中可以看出,w f m s 主要由三类构件组成 1 6 2 8 1 : ( 1 ) 软件构件:用来实现工作流管理系统各部分功能的组件。包括以下三部 分: 过程建模工具:一个完整的w f m s 必须有自己的一个流程定义工具,用来 第2 章相关技术介绍 设计绘制业务流程,将实际的业务转化成计算机可识别的流程定义文件。 工作流引擎:这是w f m s 的核心部分,一个或多个工作流引擎构成了工作 流执行服务,这部分组件负责解析流程定义、推动流程运行、为活动分配执行人 员、提供监控功能能等。 任务表管理器:用于“人工任务交互”,负责提供工作列表给用户,工作 列表是需要用户处理的一系列的工作项。 ( 2 ) 系统控制数据:是各软件构件部分需要使用的数据,包括工作流执行时 需要的一些工作流控制数据和相关的业务流程数据等。 ( 3 ) 外部产品数据:外部应用程序及数据不是w 蹦s 的组成部分,而是由 其调用以实现数据存储及其他相关功能的外部系统。 2 1 3 工作流参考模型 工作流管理系统的设计通常需要参考标准的参考模型,1 9 9 4 年w f m c 从上节 提到的工作流管理系统的体系结构出发,设计出了一套工作流参考模型( w o r k f l o w r e f e r e n c em o d e l ,w f r m ) ,如图2 4 所示【1 6 ,2 9 1 ,该模型描述了w f m s 中的功能模 块及相互间的调用接口,为工作流技术的标准化提供了技术标准。 图2 4w f m c 的工作流参考模型 f i g 2 4w o r k f l o wr e f e r e n c em o d e lo fw f m c 面向业务协作的流程驱动引擎研究与实现 由图2 4 可以看出,w f m c 定义了工作流管理系统中的五个接口( w o r k f l o w a p i ,简称w a p i ) ,w a p i 为不同的工作流产品间的互操作提供了标准,而实现 接口标准化的优点如下【3 0 】: ( 1 ) 接口标准化被接受,有助于各工作流管理系统间的数据交换; ( 2 ) 使得不同的工作流执行服务产品间有可能建立简单的链接; ( 3 ) 一切标准化之后,可促进完全独立于w f m s 的外部应用的开发。 工作流参考模型的五个接口分别如下: 接口l :过程定义工具与工作流执行服务间的接口,主要功能是解释过程模型, 该接口提供了建模工具与执行环境间的交换规范。 接口2 :客户端与工作流执行服务间的接口,这是w a p i 中最主要的规范接口, 提供用户参与到工作流运行系统中的通道。 接口3 :工作流执行服务与其直接调用的应用程序间的接口,规定了调用外部 应用的规范以及外部返回数据的格式。 接口4 :工作流执行服务间的互操作接口,支持不同工作流系统间的业务协作。 接口5 :工作流管理工具与工作流执行服务问的接口,提供用户查看和监控工 作流运行状态的功能,还包括角色管理、流程实例管理、资源控制等。 这五个接口基本概括了工作流引擎所要提供的功能,要设计的工作流引擎需 要实现这些功能的一个子集【3 1 1 。 2 2j 2 e e 分层开发体系 2 2 。1j 2 e e 平台 j 2 e e ( j a v a 2p 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 公司提出的用于简化企业开发 的分布式应用技术架构3 2 1 ,它定义了一套标准化的组件,有服务架构为其提供完 整的服务,简化并规范了应用系统的开发部署,提高系统的可移植性与安全性。 j 2 e e 提供中间层集成框架,降低了开发复杂性及开发费用,j 2 e e 体系采用的典型 多层结构为客户层、w e b 层、业务逻辑层、企业信息系统层,各层次之间保持高 第2 章相关技术介绍 内聚、低耦合的特性,从而使得开发框架具有良好的结构3 3 1 。j 2 e e 典型的四层结 构如图2 5 所示。 客户层 i w e b ) 县 i 业务逻辑层 i e i sj 昙 图2 5j 2 e e 层次结构 f i g 2 5h i e r a r c h i c a ls t r u c t u r eo fj 2 e e ( 1 ) 客户层:为用户提供良好的操作界面和显示层,获取用户输入信息和返 回查询信息等业务,某些客户端程序也可通过它实现业务逻辑。 ( 2 ) w e b 层:可能包含某些j a v a b e a n 对象来处理用户输入,并把输入发送给 运行在业务层上的e n t e r p r i s eb e a n 来进行处理。 ( 3 ) 业务层逻辑层:也叫e j b 层,它由e j b 服务器和e j b 组件组成。通常 有三种企业级的b e a n :s e s s i o nb e a n s ,e n t i t yb e a n s 和m e s s a g e - d r i v e nb e a n s 。该层 用来实现企业级信息系统的业务逻,是企业级应用级的核心,由运行在业务层容 器中的e j b 来处理。 ( 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 ,简称e i s ) , 该层处理企业信息系统软件,包括企业基础建设系统,企业资源计划、大型机事 务处理、数据库系统和其它的遗留信息系统。 面向业务协作的流程驱动引擎研究与实现 2 2 2j 2 e e 主流框架 j 2 e e 开发平台作为主流开发工具,除了具有平台无关性、可以提供相当专业 的通用软件服务、开放的标准等优势,更具有很多开源的应用架构作为支持,使 j 2 e e 平台不断完善与优化。在j 2 e e 框架中流行的几种框架主要有: ( 1 ) w 曲w b r k w e b 应用开发是复杂且费时的,而运用框架来处理可以让一切混乱变得结构 化,很大程度上简化w e b 应用程序的开发,目前有许多w e b 应用开发框架能够做 到这点,而众多框架中最好的一个当属w e b w o r k 。w e b w o r k 是由o p e n s y m p h o n y 组织开发的轻量级m v c 框架,它提供对前端控制器和页面控制器的支持,使得开 发人员可以根据自己的需要自由运用w e b w b r k ,而不是受制于框架本身3 4 1 。 w e b w o r k 的最大优点就是简单灵活、没有约束,w e b w o r k 提供专门的a p i ,供开 发人员迅速进行开发。w e b w o r k 的工作原理如图2 6 3 5 。 图2 6w e b w o r k 的工作原理 f i g 2 6w o r k p r i n c i p l eo fw e b w o r k ( 2 ) s p r i n g 3 6 - 3 s s p r i n g 是由r o dj o h n s o n 主创为解决企业应用程序复杂性而创建的开源框架, 它的特点是轻量级、功能强大、灵活性,主要优势是其分层架构,允许自行选择 组件,并为j 2 e e 应用程序开发提供集成的开发环境。s p r i n g 的核心是对b e a n 的 生命周期进行管理的轻量级容器,实现了控制反转( i n v e r s i o no f c o n t r o l ,i o c ) ,提 第2 章相关技术介绍 供面向切面编程( a s p e c t - o r i e m e dp r o g r a m m i n g ,a o p ) 的实现。s p r i n g 的数据访问 架构集成了h i b e r n a t e 和其他一些对象关系映射的解决方案,对其他一些企业服务 接口提供一致的模型封装,是一个全方位的应用程序框架。s p r i n g 的体系结构如图 2 7 所示。 s p r i n gc o n t e x t a p p l i c a t i o nc o n t e x t u is u p p o r tv a l i d a t i o n j n d ie j bs u p p o r ta n d r e m o d e l i n gm a i l s p r i n gw e b m v c w e b m v c f r a m e w o r k w e bv i e w s j s p ,v e t o c i t y p d f e x p o r t 图2 7s p r i n g 体系结构 f i g 2 7a r c h i t e c t u r eo fs p r i n g ( 3 ) h i b e r n a t e 3 9 1 h i b e r n a t e 是最初由g a v i nk i n g 设计的面向j a v a 环境的o r m 4 叭,o r m 是指对 象关系数据库映射( o b j e c tr e l a t i o n a lm a p p i n g ) ,原理是在对象模型和关系数据库 表之间建立起映射,通过j a v a 类就可以达到操作数据库的目的,以方便查询数据 以及数据修改写入等工作,减少开发人员使用j d b c 处理数据的时间,使开发人 员集中精力关注于应用程序的开发。同时,h i b e r n a t e 还提供了自己的查询语言 h q l ( h i b e r n a t eq u e r yl a n g u a g e ) ,它是一种类似于s q l 的面向对象的查询语言, 提供对象化的数据库查询方式,使得对数据库的操作更便捷高效。 图2 8 4 2 】描述了h i b e r n a t e 的总体结构图,p e r s i s t e n to b j e c t 是需要被持久化的 业务实体对象,h i b e r n a t e 利用数据库以及x m lm a p p i n g ,h i b e r n a t e p r o p e r t i e s 等配 面向业务协作的流程驱动引擎研究与实现 置文件为其提供服务。 a p p l i c a t i o n d 嘲s t e n t 吣c t s 二 h i b e r n a t e h i b e m a t ex m l p r o p e r t i e sm a p p i n g d a t a b a s e 图2 8h i b e r n a t e 总体结构 f i g 2 8o v e r v i e wo fh i b e r n a t e 2 3x m l 技术 由于工作流的过程定义都是基于x m l 语言的,无论是流程建模还是解析流程 定义文件,都离不开对x m l 技术的研究,下面对其作简单的介绍。 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 是由w 3 c 在1 9 9 8 年 发布的一种描述标记语言,它以开放的、自我描述的方式定义了数据结构h 3 1 ,能 够更明确的声明内容,在此同时也突出了对结构的描述,能够体现出数据的结构, 便于数据交换,有很好的可移植性和扩展性。x m l 文件通常以声明开始,数据描 述以标记的形式展现,而为了将x m l 数据间的交换变为可能,需要将文档格式标 准化,而d t d 文档和x m ls c h e m a 的出现恰好实现了这个目标,两者都可以用来 定义x m l 文件的逻辑结构,使得x m l 便于组织和管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房屋出租押金条款合同
- 2024年建筑项目施工质量控制合同
- 2024年度产品代理销售合同服务内容
- 2024年技术咨询合同标的及其属性
- 2024年房产交易代理权协议
- 2024年房产交易合同公证
- 2024年度销售代理合同代理区域及销售目标
- 2024幕墙工程碳排放交易合同
- 2024年保密期限合同
- DB4114T 196-2023 冬小麦节水栽培技术规程
- 《建筑施工技术》课后习题答案(大学期末复习资料)
- 公司环境行政处罚事件处置预案
- 广东开放大学风险投资(本2022春)-练习4答案
- DB65∕T 3253-2020 建筑消防设施质量检测评定规程
- 二年级苏教版数学上册《7的乘法口诀》教案(公开课三稿)
- (完整PPT)半导体物理与器件物理课件
- ASTM B366 B366M-20 工厂制造的变形镍和镍合金配件标准规范
- JIS G4304-2021 热轧不锈钢板材、薄板材和带材
- 2022年中级经济师-人力资源管理专业押题模拟试卷3套及答案解析
- 小学综合实践活动《认识校园植物》优秀PPT课件
- XRD在薄膜材料研究中应用
评论
0/150
提交评论