




已阅读5页,还剩67页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee的工作流系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文摘要 摘要 作为计算机支持的协同工作研究的一个重要方向,工作流管理系统的主要目标 是通过调度和分配有关的信息资源与人力资源来协调业务过程中的各个环节,以促 使业务目标的高效实现。它从全局的角度来管理、完成企业的业务目标,从而可以 较高地提高企业地运行效率,及时发现和解决业务流程执行过程中出现的问题。 本文参照w f m c 规范所定义的工作流管理系统参考模型,基于j 2 e e 平台和x m l 技术,利用p e t r i 网建模,设计和实现了工作流管理系统的两大核心:过程定义接 口和工作流引擎,并重点讨论了工作流定义的时间性能评估、工作流引擎的导航算 法以及分布式环境下任务执行顺序的协调和资源分配方法等。整个系统实现了规范 所要求的基本功能,而且具有较好的兼容性、扩展性、灵活性和可定制性。 关键字:工作流,工作流管理系统,j 2 e e ,p e t r i 网,x m l a b s t r a c t w o r k f l o w m a n a g e m e n ts y s t e m i so n e i m p o r t a n t d i r e c t i o no ft e a mw o r k i n v e s t i g a t i o n ,i t sp r i m a r yt a r g e ti st oc o o r d i n a t ee a c hc o m p o n e n te l e m e n t si nb u s i n e s s p r o c e s st h r o u g hd i s p a t c h i n ga n dd i s t r i b u t i n g c o n c e r n e di n f o r m a t i o nr e s o u r c ea n d m a n p o w e r ,a c h i e v e sb u s i n e s sg o a l se f f e i c i e n t w o r k f l o wm a n a g e m e n ts y s t e mm a n a g e s a n dc o m p l e t e se n t e r p r i s e sb u s i n e s s t a r g e tf r o mg l o b a la n g l e ,a d v a n c e si n d u s t r i a l l y o p e r a t i n ge f f i c i e n c yc l e a r l y ,f i n d sa n dr e s o l v e sa r i s e np r o b l e mi ne x e c u t i n go fw o r k f l o w i n t i m e t h ep a p e rr e f e r st ot h er e f e r e n c em o d e lo fw f m c ,b a s e so nj 2 e ep l a t f o r m ,x m l t e c h n o l o g ya n dp e t r i n e tm o d e l i n g ,d e s i g n sa n di m p l e m e n t st w ok e r n e lc o m p o n e n t s : p r o c e d u r ed e f i n i t i o na n dw o r k f l o we n g i n e ,i n c l u d i n gt i m eb e b a v i o ra s s e s s m e n to f w o r k f l o w ,n a v i g a t i o na l g o r i t h m o f e n g i n e ,t a s k o r d i n a lc o o r d i n a t e ,a n dr e s o u r c e a l l o c a t i o na n ds oo n t h et o t a ls y s t e mi m p l e m e n t sa l lo ff u n d a m e n t a lf u n c t i o na c c o r d i n g t ow f m c n o r m ,p r e s e n t sb e t t e rc o m p a t i b i l i t y ,e x p a n s i b i l i t ya n dm o b i l i t y z h a n gj i a n d o n g ( c 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 ) d i r e c t e db yp r o f w a n gb a o y i k e y w o r d s :w o r k f i o w ,w o r k f l o wm a n a g e m e n ts y s t e m ,j 2 e e ,p e t r in e t ,x m l 声明 本人郑重声明:此处所提交的硕士学位论文基于j 2 e e 的工作流系统的研究与实 现,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得 的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 学位论文作者签名:篮建查! 日 期:硅丝圭:坚:兰! 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:丛建圭 日 期:土咝:娃:3 0 导师签名:碰整 日 期:2 1 :! :骂! 华北电力大学硕士学位论文 1 1 工作流管理系统概述 第一章引言 工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有固 定程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务、角色, 按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降 低生产成本、提高企业生产经营管理水平和企业竞争力。实际上,自从进人工业化 时代以来,有关过程的组织管理和流程的优化工作就一直在进行,这是企业管理的 主要研究内容之一,在没有引入计算机信息系统的支持以前,这些工作是由人工来 完成的,随着计算机网络技术和分布式计算技术的发展,利用计算机程序化的信息 系统来支持过程管理和过程协调便成为企业管理的主要手段。 纵观信息系统发展的历史,信息系统已经经历了四个阶段“j :( 1 ) 1 96 5 1 9 75 年,信息系统被分解成一个个的应用,每个应用都有其数据库和定义,这种应用直 接运行在操作系统上,没有数据库管理和界面管理系统等;( 2 ) 19 7 5 1 98 5 年,数 据库管理一一“将数据管理从应用程序中抽取出来”,这个时期的特色是数据库管 理系统的出现;( 3 ) 19 8 5 199 5 年,用户界面管理一一“将用户界面从应用程序中 抽取出来”,由于这个时期的交互式软件越来越丰富,大量的时间被用来开发用户 界面,因此人们提出以用户界面管理系统( u i m s ) 来解决该问题,比如图形化的数据 库管理系统、程序环境和w e b 浏览器等;( 3 ) 1 99 5 20 0 5 年,工作流管理一一“将 业务过程从应用程序中抽取出来”,现在软件中的大部分组件与业务过程和案例的 处理相关,所以把这些组件从应用程序中分离出来相当的诱人;因为这样不仅能够 加速信息系统的开发,而且使锝业务过程更加容易维护。这四个阶段如图1 1 所示。 因此,现在对各种工作流管理系统及其相关技术的研究是学术领域的一个热点。 其实,工作流的概念早己经被应用到日常生活中,比如生产流程、公文签审和 订单出货等都是工作流。简单地说,一项工作经过一个步骤的处理,然后自动转向 下一个步骤继续处理的过程就构成了工作流。按照工作流管理联盟w f m c 【52 】的定义, 工作流就是业务过程的自动化或者半自动化。清华大学的范玉顺教授对工作流作了 进一步的解释,认为工作流应该能够描述业务过程以下几个方面的问题【3 】:即业务 过程是什么( 由哪些活动、任务组成,也就是结构上的定义) ;怎么做( 活动间的执 行条件、规则以及所交互的信息,也就是控制流与信息流的定义) ;由准来做( 人或 者计算机应用程序,就是组织角色的定义) 。而“工作流管理系统”是一个具有定 义、管理和执行工作流,自动协调各项工作任务的处理顺序,并且提供人机界面的 软件系统。工作流管理系统首先要将现实世界中的业务过程转化为某种计算机形式 华北电力大学硕士学位论文 化或半形式化表示,然后通过调用业务过程中信息资源与人力资源来协调业务流程 中的各个环节,使之按照一定的顺序依次进行,最终实现业务过程的自动化。 一般说来,工作流管理系统主要应用于流程性较强的领域,如:保险、银行、 海关、产品预购、企业管理、行政管理以及酒店管理等。但是随着工作流技术的不 应用程序 应用程序工作流管理系统 用户界面管理 数据库管理系统 操作系统操作系统 图1 一l 应用程序中通用功能的分解 断发展,它正逐渐被应用到其它许多不同的领域中,如业务过程重构b p r 、电子商 务等。 1 2 工作流管理技术研究的主要内容 随着工作流技术应用e l 益得到重视,对工作流技术的研究也正在向更深层次 进行。工作流技术研究的主要方向有两个:一是为工作流技术的发展解决理论上存 在的问题,探讨工作流模型和语义的形式化表示方法等;二是从工作流技术实现的 角度探讨利用先进的技术提高工作流管理系统的性能和可靠性。 工作流技术研究的一些理论课题有: ( 1 ) 过程建模理论与建模方法口】:研究如何清晰、准确地表示实际应用中的过 程,以及研究如何以形式化的方法表示过程模型。支持事务的工作流模型可以从根 本上提高工作流管理系统的正确性和可靠性,因此关于事务工作流模型的研究也得 到了充分的重视。 2 ) 模型验证和模型仿真方法:研究从理论上如何验证所建立的过程模型不存 在死锁问题,研究如何评价所建立的模型的性能和优化模型的方法,这对于企业经 营过程重组问题的研究和实施企业经营过程重组具有重要的意义。 ( 3 ) 分布环境下的资源协调和任务优化调度策略隅9 】:研究在大范围的分布环 境下,在资源有限和任务完成时间约束的情况下,如何优化系统中任务执行的顺序 华北电力大学硕士学位论文 和资源的分配方法,对于工作流技术在大规模生产和调度中有非常重要的意义,如 在供应链管理中的最佳供应和分销策略,复杂的交通管制中的应用等。它对于解决 过程模型执行过程中产生的冲突( 如并行工程的产品设计过程中的约束冲突) 也有 重要的意义。 ( 4 ) 过程模型和其它模型的集成方法:在描述一个企业和一个应用领域的问题 时,仅有过程模型是不够的,还需要有功能模型、信息模型、资源模型、组织模型, 甚至经济模型和决策模型等的配合,这些不同的模型描述了一个应用领域的不同侧 面,它们的集成可以完成对一个企业或一个应用领域的全面描述。但是,如何集成 这些模型还没有良好的解决方法。有些工作流建模工具包括了对资源和组织的描述 能力,但是,目前还没有一个方法来实现过程模型和功能、信息模型的集成。这方 面的研究工作对于促进继承化的企业建模和信息系统实施有重要的意义。 在工作流管理系统的实施上也存在非常多的问题需要研究,这些问题的解决对 于提高工作流管理系统的性能具有重要的意义。 ( 1 ) 分布式工作流机的实施问题”2 13 1 :在通常情况下,企业的应用一般都运行 在分布式环境上,因此,相应的工作流机也应该采用运行在分布环境下的分布式结 构。目前已经开发出了许多分布式工作流管理系统,如i b m 的e x o t i c a 、佐治亚大 学计算机系开发的m e t e o r 等。但是,仍然有许多问题需要进行深入的研究,如工 作流模型实例到每个执行工作流机的分解问题、分布式环境下的可靠性问题、分布 式系统的效率和鲁棒性问题等。在c o r b a 技术和w e b 技术得到广泛重视的今天,研 究开发在c o r b a 环境下,w e b 页面方式的工作流管理系统具有非常重要的应用价值。 分布环境下的工作流机的合作问题也是受到广泛关注的重要问题,它对于提高工作 流管理系统的性能具有重要的意义。 ( 2 ) 异常处理和错误恢复问题:对于制造企业这样一个复杂的应用系统,出现 异常和错误是非常正常的情况,对于工作流管理系统不仅要求它在正常情况下能够 发挥作用,更重要的是要求它能够灵活地处理各种异常情况,并且在某个节点发生 错误时能够保证整个系统不会发生崩溃。 ( 3 ) 融人事务管理的概念:在工作流管理中融人事务管理的概念和模型方法可 以显著提高工作流管理系统处理大规模业务应用的能力,目前这个工作已经得到许 多研究人员的重视。 ( 4 ) 应用集成问题:工作流管理系统本身是一个完成过程建模和过程管理的软 件系统,但是,为了在企业的实际业务中得到有效的应用,它必须和企业已有的或 购买的其他实现业务应用的软件实现集成,通过集成来提高整个企业的应用水平和 应用效率。 华北电力大学硕士学位论文 1 3 工作流技术的研究现状及不足 工作流是一个年轻却具有良好发展前景的研究方向。目前,许多大学和研究机 构都开展了研究项目,取得了众多的研究成果,对工作流技术的发展做出了贡献。 这些研究成果涉及上面提到的工作流技术研究内容的各个方面。在所取得的研究成 果中,比较著名的有i b m 公司的a l m a d e n 研究中心开发的基于持久消息队列的分布式 工作流管理系统e x o t i c a f m q m ( 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 ( m a n a g i n ge n d t o e n d o p e r a t i o n s ) 、基于分布式主动数据库技术的工作流管理系统一w d e ( w o r k f l o wo n i n t e l l i g e n ta n dd 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 ) 等研究项目。其中,e x o t i c a 和m e t e o r 是完全的分布式的工作流管理系统,w i d e 和m e t e o r 采用了c s 结构,活动间的导航、 活动执行情况的管理、异常情况的处理都是由位于服务器层的工作流引擎完成的。 工作流技术的研究与应用在我国尚处于起步阶段,虽然已经有不少研究人员从 不同的角度开展了工作流管理及其相关技术的研究,但是,许多关键技术问题还处 于探索阶段。比较著名的有: c i m r o w 清华范玉顺教授等人设计、开发了一套工作流管理系统_ c i m f l o w 。该系统是根 据当前工作流技术的主流发展趋势以及我国企业的实际需求而设计的。c i m f l o w 具有 较好的性能指标、友好的人机界面,支持高效的运行管理方式、能够满足企业的实际业 务需求。 s i t e c h j e t s i t e c h j e t 是一个基于消息系统的工作流管理系统。该系统可以自定义工作流的流 程、角色和规则,可以把不同的业务应用系统动态地集成到消息系统上。 工作流技术虽然取得了一些研究成果,但是从工作流管理系统的实际应用状况 来看,还远未达到人们所期待的水平,采用工作流管理系统的企业仍只是一小部分, 而且这些系统的应用范围有限,不能全方位地支持企业关键业务流程。从企业用户 应用的角度来分析这种状况的原因口 ,主要有以下几点: ( 1 ) 工作流的运行必须要有底层的通信基础结构的支持:也就是说,工作流管 理系统必须要建立在适当的底层通信基础之上,以便实现执行工作流所需要的分布 式计算环境。比如c o r b a 、d c o m 都是可以选择的,但就目前能够实现分布式计算环 境的产品来看,它们在实际应用中仍然显得不够成熟,在安全性、容错性、可靠性 等方面均不能满足企业的需要,而且价格昂贵。 ( 2 ) 标准化程度差:不同的厂商所提供的工作流产品具有自己独立的一套工作 流模型、工作流定义语言以及a p i 函数。在缺乏标准的情况下,用户旦选定一种 产品之后,就很难再过渡到其他同类产品上了;而且不同的系统之间缺乏互操作的 4 华北电力大学硕士学位论文 接口,使得用户有很多后顾之忧。尽管工作流管理联盟的成立有助于改善这种情况, 但若想实现类似于关系型数据库这样的统一标准,仍有很长的路要走。 ( 3 ) 实现的复杂性:企业应用工作流管理系统不仅仅需要完成过程的定义,还 需要做许多其它工作,主要包括:对外部的应用系统进行包装以便工作流机能够在 必要的时候激活它,建立工作流所必须的分布式计算环境,设计开发相应的用户界 面,制定相应的管理规程和用户操作规范等。目前的工作流产品为这些任务的完成 提供的帮助能力有限,所有的工作流应用都需要工作流产品供应商和应用开发人员 进行很长时间的合作才能最终完成。 ( 4 ) 系统的安全性:目前的工作流管理系统对系统运行中出现的并发访问和异 常错误缺乏正确和可靠的支持,整个系统缺乏清晰的用户授权控制。工作流实例在 运行过程中,有可能出现多个活动同时访问共享资源的情况,各个活动的数据操作 上会出现相互重叠。为了保证系统能够正常运行,必须进行并发控制。授权控制模 型虽然有了一些发展,但很不完善,缺乏动态的授权控制模型。 ( 5 ) 性能问题:目前大多数工作流产品无法满足企业对每天处理上万个,甚至 每小时处理几千个业务的需求。 ( 6 ) 工作流技术尚不成熟:尽管工作流技术从最初萌芽发展到现在已经有了很 大的进步,但工作流技术并不成熟,主要是缺乏一种能够支持过程定义、过程演进 以及过程分析的形式化数学模型。工作流模型的核心是对过程的定义,包括组成过 程的基本活动以及活动之间的顺序关系。目前的工作流模型大部分都是从直觉出 发,以图形语言或者文本语言来定义工作流过程。这种定义的方法本质上还停留在 用户层上,即对用户而言是比较理想的方式,但并不利于实际系统的实现,也无法 对工作流的本质特征进行描述,因而也更谈不上对过程的分析与评价。 1 4 本文的研究内容 本文是在分析了现有的工作流系统中存在的一些不足的基础上展开研究工作 的,主要工作内容有: ( 1 ) 研究分析w f m c 所定义工作流管理系统参考模型和p e t r i 网技术。 ( 2 ) 用p e t r i 网对工作流进行建模。给出了工作流网的形式化定义,并详细讨 论了工作流网的四个基本组件( 顺序组件、并行组件、条件选择组件以及循环组件) , 和工作流网的触发机制。 ( 3 ) 对工作流模型进行时间性能评估。基于正态分布的假设,推导出工作流网 中顺序、并行、循环三种基本过程执行结构的性能等价公式,给出定量分析模型性 能的通用方法,并在最后以实例进行了分析。 ( 4 ) 实现w f m c 所定义的接口1 ,即工作流定义的设计和实现。主要内容有工 华北电力大学硕士学位论文 作流系统相关概念的形式化定义,用x m l 描述工作流,组件( e j b s ) 的设计,提取 用例等。 ( 5 ) 对工作流引擎进行功能分析和原理分析,重点讨论了引擎的两大核心功 能:工作流实例的启动和工作流任务的执行,并依据j a v a 的对象持久化机制,设 计和实现了这两大功能。 ( 6 ) 设计工作流引擎的导航算法。导航算法是工作流控制流转的主要算法,主 要讨论了算法的程序实现,如何获取可执行节点集合以及如何删除无效节点等。 ( 7 ) 研究在大范围的分布式环境下,在资源有限和任务完成时间约束情况下, 如何优化系统中任务执行的顺序和资源分配方法。 同时本文的结构也是按照上述内容来安排的,第一章引言是对工作流管理系统 的综述,第二章介绍了系统所用到的所有基本理论知识,包括工作流管理规范的相 关理论、p e t r i 网理论以及j 2 e e 规范等,第三章从宏观上给出了系统总的体系结构 和技术框架,第四章主要实现了参考模型中的接口1 ,包括流程定义、流程描述、 工作流实现以及表达式求值器,第五章实现了整个系统的核心:工作流引擎,最后 一章对全文的工作进行了总结。 华北电力大学硕士学位论文 2 1 工作流技术的相关概念 第二章基本理论 关于工作流技术的相关概念目前尚无统一、明确的定义、不同组织和产品都有 不同的描述,但其本质和基本特征是一致的。在本文中,我们以工作流管理联盟的 定义为标准。工作流管理联盟w f m c 【5 “( 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 ) ,它成立 于1 9 9 3 年8 月,其主要职责就是负责w f m s 的标准化工作,目前该组织的成员已 经超过了2 0 0 个,其中包括软件厂商、科研机构与咨询机构。1 99 4 年1 1 月2 9 日 w f m c 发布了工作流系统参考模型( w o r k f l o wr e f e r e n c em o d e l ) ,它详细描述了 w f m s 的各主要组成部分,各部分的功能及相互之间的接口。 下面给出与工作流相关的概念1 1 7 18 2 6 。 ( 1 ) 工作流( w o r k f l o w ) :是计算机支持的业务流程的全部或部分自动化。在此 流程中,文档信息或任务按照预定的规则,以网络为载体流转,实现组织成员问的 协调工作以达到业务的整体目标或是促使此目标的实现。 ( 2 ) 工作流管理系统( w f m s ) :是一种能定义、创建和管理工作流执行的软件 系统。就是将现实世界中的业务过程转化成某种计算机所能识别的形式表示( 即工 作流逻辑) ,并在此形式表示的驱动下完成工作流的执行和管理。使用w f m s 可以 充分利用企业资源,有效地跟踪工作过程,提高工作过程定制的速度与质量。 ( 3 ) 业务流程( b u s i n e s sp r o c e s s ) :指在某企业或机构中,能够实现业务目标和 策略的相互连接的过程和活动集,如公文处理流程,投保过程及项目开发过程等。 ( 4 ) 活动( a c t i v i t y ) :工作流中一个逻辑步骤或环节的工作任务,一般分为人 工操作和自动处理两类。活动是流程执行中的最小工作单元,要求有人员的参与或 由计算机自动完成。 ( 5 ) 过程实例p r o c e s s i n s t a n c e ) :实际运行中的一个业务流程,每个实例代表 一个能独立控制执行、具有内部状态的线程。在过程实例的执行过程中w f m s 将解 释相应的流程定义生成有关的活动实例并根据定义中的控制规则协调这些活动之 间的顺序关系,同时根据数据流动关系的定义完成活动之间的数据传送。从参与者 的角度来说,实例的执行实际上是由参与者处理它所涉及的那个环节的数据。完成 该环节的任务之后由w f m s 根据相应结果激活后续环节,同时通知后续参与者对之 进行处理,由此依次反复直至整个过程完成。 ( 6 ) 工作项列表( w o r k l i s t ) :是一个参与者所负责的所有工作项的详细描述。 ( 7 ) 工作流应用数据( w o r k f l o wa p p l i c a t i o nd a t a ) :是指各个活动执行中应用 程序或参与者所处理的数据,如应用数据库中的记录、被处理的文档等。 华北电力大学硕士学位论文 ( 8 ) 工作流相关数据( w o r k f l o wr e l e v a n td a t a ) :指系统主控部件运行服务用来 控制工作流实例的状态和执行的数据,相关数据在流程定义中一般为全局变量,又 可细分为控制数据和参考数据。 ( 9 ) 工作流模型( w o r k f l o wm o d e l ) :工作流过程依赖于一个形式化的工作流模 型来描述工作流任务之间的控制流和数据流。工作流模型由4 部分组成,它们分别 是过程模型、组织模型、资源模型以及工作流相关数据。过程模型用来定义工作流 的过程逻辑,它包括组成工作流的所有活动以及活动之间的依赖关系,它是整个工 作流模型的基础与核心,其它模型均为其提供支持。组织模型用来定义企业人员的 组织结构j 它包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关 系。组织模型的主要任务是为企业人员执行工作流过程提供柔性的组织定义,为过 程模型提供“人”的支持。资源模型用来定义企业资源的组织结构,它包括几种形 式的资源容器元素以及容器内部的递阶层次关系,直至最终的原子级别资源个体, 资源模型的主要任务是为企业人员执行工作流提供“物”的支持。工作流相关数据 用来定义工作流执行过程中需要用到的数据,它包括简单的数据类型与复杂的企业 对象。它主要用于各种条件的判断,以实现工作流机对不同活动的选择性路由。工 作流相关数据为工作流的执行提供了“信息”的支持。 ( 1 0 ) 过程定义( p r o c e s sd e f i n i t i o n ) :计算机所能识别的业务流程的形式化描述, 用来支持运行过程的自动化。流程一般被分解成一些子过程和活动,其定义主要包 括运行过程中涉及到的各种数据和参数,如过程的开始和终止条件、各个工作环节 ( 活动) 及相互之间的控制流和数据流关系以及一些关于个体行为的信息,如组织成 员、与i t 相关的应用和数据等。活动之间依赖关系的语义包括因果关系和时间关 图2 一l 工作流基本概念之间的关系 系,例如活动q 依赖于活动p ,这意味着q 需要p 产生的结果作为输入,并且q 在 华北电力大学硕士学位论文 p 完全结束之前不能开始。 以上给出的这些基本概念之间的关系如图2 1 所示。 路由关系( 根据w f m c 的定义,有以下四种路由关系) ”4 ”1 : 顺序 s e q u e n t i a l ) 路由:一个任务接着另一个任务被顺序的执行,在图2 - 2 ( a 中任务b 在任务a 已经完成之后执行的。 并发( p a r a l l e l ) 路由:在图2 - 2 ( b ) 中任务a 和任务1 3 并发执行,即这两个 任务可以同时或以任意顺序执行。为了模仿并发路由,需要两个组成块a n d s p l i t 和a n d j o i n 。图2 - 2 ( b ) 中的a n d s p l i t 使任务a 和任务b 同步并发执行,而且只 有在任务b 和任务c 都已经完成后,才能执行a n d j o i n 节点。 条件( c o n d i t i o n a l ) 路由:在图2 - 2 ( c ) 中任务a 和任务b 互斥的被执行,为 了表示在两个或多个之间选择,使用两个组成块o r s p l i t 和o r j o i n ,o r s p l i t 使得任务b 或任务c 之问选择其一进行执行,只要有其中一个任务执行完毕, o r j o i n 便可以执行。 ( a ) 顺序路由 ( b ) 并行路由 ( c ) 条件路由 ( d ) 顺序路由 图2 - 2 四种路由结构 循环( i t e r a t i o n ) 路由:有时需要执行一个任务多次,在图2 - 2 ( d ) 中,任务 b 被执行一次或多次。 9 华北电力大学硕士学位论文 2 2 。工作流管理系统参考模型 w f m c 给出了一个工作流管理系统的参考模型如图2 - 3 所示,它确定了工作流管 理系统的各主要组成部分、各部分的功能及相互之间的应用编程接口。这些接口可 以被认为是一系列被工作流运行服务所支持的a p i 调用和交换函数,它们处于工作 流执行服务的边界,用于和其它资源和应用的交互。这里给出了5 个工作流应用编 程接口w a p i 。 接口l 22 1 :过程定义输入输出接口( p r o c e s sd e f i n i t i o ni m p o r t e x p o r t i n t e r f a c e ) 。 接口2 2 0 25 1 :客户应用接口( c l i e n ta p p l i c a t i o ni n t e r f a c e ) 。 接口3 2 0 】:被调用应用程序接口( i n v o k e da p p l i c a t i o ni n t e r f a c e ) 。 接口4 阻2 “:工作流可互操作性接口( w o r k f l o w i n t e r o p e r a t i o n i n t e r f a c e ) 。 接口5 t2 7 j :系统管理和监控接口( a d m i n i s t r a t i o n m o n i t o r i n gi n t e r f a c e ) 。 建立时的功能 图2 - 3 工作流管理系统的参考模型 虽然这个结构图指出了在w a p i 中的5 个接口,但一些功能在各个接口是通用 的。例如,流程状态调用可以属于客户应用接口,也可以属于系统管理和监控接口。 下面我们对此模型作一个简要说明2 ”。 工作流执行服务:它借助于一个或多个工作流引擎,来激活并解释过程定 义的全部或部分,并同外部的应用程序进行交互来完成工作流过程实例的创建、执 1 0 华北电力大学硕士学位论文 行与管理,如过程定义的解释、过程实例的控制、创建、激活、暂停、终止等,在 过程各活动之间的路由、控制条件的计算与数据的传递等,并生成有关的工作项通 知用户进行处理等等,为工作流程的进行提供一个运行环境。工作流执行服务一般 是由一个工作流引擎提供的,在大型w f m s 中工作流的运行控制可能需要多个工作 流引擎共同完成。这一点涉及到w f m s 系统之间的互连,为实现有效的互连,需要 定义互连模型、互连一致性级别及操作元素集,这些将构成接口4 ( 互操作接口) 的 内容。 工作流引擎:工作流引擎负责根据工作流的语义,提供工作流的运行保证, 是整个w f m s 的中枢。引擎主要完成以下功能,解释工作流语义、根据系统运行状 态及产生的事件与工作流语义中定义的运行规则进行匹配,从而控制活动的创建、 激活、挂起及终止;管理群体工作人员信息及其权限,分配项目给工作人员;提供 工作人员到达及系统运行的轨迹与历史,维护工作流控制数据与工作流相关数据, 并向( 从) 应用或用户传递工作流相关数据,激活外部应用的接口等。 过程定义工具:主要功能是给用户提供一种对实际业务过程进行分析、建 模的手段,并生成业务过程的可被计算机处理的形式化描述( 即,过程定义1 ,这也 就是建立时功能的主要内容。过程定义工具与工作流执行服务之间的交互是通过接 口1 ( 工作流过程定义读写接口) 完成的,它为工作流过程定义信息的交换提供了标 准的互换格式及a p i 调用。 客户应用程序:它的作用是给用户提供一种手段,以处理工作流实例运行 过程中需要人工干预的任务。每一个这样的任务被称作是一个工作项,它包括处理 上的一些要求,如处理时间的限制及待处理的数据对象等。w f m s 将为每一个用户维 护一个工作项列表,它表示当前需要该用户处理的所有任务。客户与工作流执行服 务之间的接口为接口2 ( 客户应用程序a p i ) ,w f m s 的各种服务如会话连接、过程控 制、活动控制、过程状态、活动状态、工作项列表的处理以及过程实例的管理等都 可以通过此接口而得到。文献【2 0 给出了此a p i 中各操作的命名规范。 被调的应用程序:指工作流执行服务在过程实例的运行中调用的、用以对 应数据进行处理的应用程序。在过程定义中包含有这种应用程序的详细信息,如类 型、地址等。目前已有的几种方式包括应用代理( 它通过一个标准的接口同执行服 务进行交互) 、某种标准的互换机制( 如0 s i t p 协议或x 4 0 0 等) 、本地过程调用、 远程执行调用、o r b 等。接口3 的目标就是提供一些标准的服务供应用代理使用, 基于这些服务也可以开发出一些专门的应用直接同工作流执行服务交互,关于这些 服务的语义及语法细节还有待更深入的研究。目前初步确定的服务大致可分成会话 建立活动管理( 双向的) ,以及数据处理等几类。 管理及监控工具:其功能是对w f m s 中过程实例的状态进行监控与管理。如 用户管理、角色管理、审计管理、资源管理( 包括过程管理及过程状态控制等) 。它 1 1 华北电力大学硕士学位论文 与工作流执行服务之间的交互是通过接口5 ( 管理及监控接口) 完成的,该接口规范 详细描述了需要从过程执行服务所发生的各种事件上捕获和记录的各种信息 ( c o m m o nw o r k f l o wa u d i td a t a ,c w a d ) ,如过程实例信息、活动实例信息、工作项 信息及远程操作信息等。 以上五个接口被统称为w o r k f l o wa p i ( w a p i ) ,这些标准的制定对于实现不 同厂家的产品之间的互操作( 如用一个厂家的管理与监控工具去管理另外一厂家的 工作流执行服务) 及基于工作流执行服务开发新的应用具有重要意义。 2 3 工作流建模工具p e t r i 网介绍 传统p e t r i 网4 5 0 1 是由两类节点一一库所( p l a c e ) 和变迁( t r a n s i t i o n ) ,以及 一组弧线( a r c s ) 组成的双向图。不同类型的节点之间用弧线直接相连,同类型节点 间则不能直接相连。本文中用圆圈表示库所,用矩形表示变迁。 定义3 1 网:一个网可由一个三元式( p ,t ;f ) 表示: ( 1 ) p 表示有限数量的库所集合; ( 2 ) t 表示有限数量的变迁集合( p n t = 中,p u t 垂) ; ( 3 ) f ( p x t ) u ( t x p ) 表示一组弧线( 用来表示信息流动关系) ; ( 4 ) d o m ( f ) uc o d ( f ) = p u t 。 其中,d o m ( f ) = ( 工1 3 y :( x ,y ) f ) ,称为f 的定义域;c o d ( f ) = f y l 9 x :( 工,y ) f ) , 称为f 的值域。对于b p ,v t t ,当存在从p 到t 的连接弧时,库所p 称为变迁 t 的输入库所,当存在从t 到p 的连接弧时,库所p 称为变迁t 的输出库所,用t 表 示变迁t 的所有输入库所的集合,t 表示变迁t 的所有输出库所的集合;。p 、p 具 有相类似的含义,可以用公式描述为: 对v x p u t ,令 。x = y i ( y p u t ) a ( ( y ,j ) f ) ) 和 z 。= ( y i ( y p u t ) ( ( z ,y ) f ) ) 称石和x 。分别为x 的前置集和后置集。 华北电力大学硕士学位论文 一个p e t r i 网p n 的结构可以用一个关联矩阵c = 】来表示,其中,m = l p l , n = l t i ,并且: f l ,p :f j 一。, 勺= 一l ,p 。厂 【0 , e l s e 其含义是:如果有只的前置集包含f ,则勺= 1 ,若岛的后置集包含t j 则c = 一1 ,否则。矗为0 。 下面通过一个简单的例子来说明上述定义。图3 1 给出了一个经典p e t r i 网模 型,它由三个库所( c l a i m ,u n d e r c o n s i d e r a t i o n ,r e a d y ) 和三个变迁( r e c o r d ,p a y , s e n dl e t t e r ) 组成。这个网简单的对保险索赔过程进行了建模。一个索赔到达库所 c l a i m 时,首先被记录下来,随后选择进行赔付或者发信说明拒绝理由。 不 图2 4 用传统p e t r i 网描述保险索赔 其中,p = p l ,p 2 ,p 3 ) ,t = t 1 ,t 2 ,t 3 ) ,其关联矩阵c 可以用表3 - 2 来表 表2 1 保险索赔p e t r i 网的关联矩阵c t 1t 2 t 3 p l l0o p 21一ll p 3 011 其所有的可达标识m ( 状态) 可用表3 3 来表示 表2 2 所有的可达标识m m 0 m i m 2 m 3m dm 5 m 6m , m sm 9 p l 3 2 lo000112 p 2 0 12321o l0o p 3 0 oo0l23 1 21 华北电力大学硕士学位论文 其可达树可用图3 2 来表示 图2 - 5 保险索赔p e t r i 网的可达树 其初始标识m o = ( 3 ,0 ,o ) 7 ,由于对于v p e 。f 1 :m o 1 ,则m o t l ,记m o h m i 其中m 1 - ( 2 ,1 ,0 ) ,其余的可达m 在图3 2 中描述。 2 4j 2 e e 规范简介 现代企业需要扩展其领域,降低成本,通过对客户,合作伙伴,雇员和供应商 提供易于取得的服务缩短反应时间。由于各种原因,这类服务一般设计为多层的分 布式的应用,包括前端的客户端,后端的数据资源,以及二者之间的一个或多个中 间层。 j 2 e e 降低了开发多层服务的成本和复杂性,并使企业面对竞争压力能够迅速部 署和增强服务。 90 年代早期,传统企业信息系统提供商通过从两层模型向灵活的三层应用模型 的迁移响应客户的需求。新模型将业务逻辑从系统服务和用户界面分离出来,将其 作为中间层摆在这两者之间。新的中间件服务,事务监控,面向消息中间件,对象 请求代理等的发展为这种新的架构提供了推动力。这时的i n t e r n e t 或i n t r a n e t 使 用的增长显露出原有编程模型对生成易于分布的客户端的不足。 多层结构设计戏尉性地简化了开发、部署和维护企业应用。使应用开发者可以 专注于业务细节的编程,依靠后端服务提供基本服务,客户端应用提供用户交互。 开发完成之后,业务逻辑根据实际的需要部署在服务器上。然而,除了这些优点, 模型制订了开发者的从标准化组件建立应用,在广泛的不同平台上部署单个应用或 简单地制定应用规模来适应变化中的业务状况的能力。 这些努力都导向j 2 e e 技术的形成。首先,j a v as e r v l e t s 、j s p 技术显示开发 华北电力大学硕士学位论文 者热衷于生成运行于任何支持j a v a 平台的w e b 服务器上的类似于c g i 的行为。第 二,j d b c 技术提供了将j a v a 编程语言与已有的数据库管理系统结合的模型。最后, e j b ( e n t e r p r i s ej a v a b e a n s ) 和x m l 的成功显示了将一系列完整行为封装到易于配 置,已有的可重用组件中是非常有用的。这三点集中到一点,j a v a 编写的服务器端 行为,连接已有的企业系统和模块的连接器,易于部署的组件,最终结合形成j 2 e e 。 j 2 e e 被设计为提供对顾客、雇员、供应商、合作伙伴和其他需求及组成企业服 务内容实现的应用支持。这些应用本就复杂,它可能涉及从不同的数据源获取数据 并分发不同的应用给不同的用户。 为更好控制及管理这类应用,支持不同用户的业务功能被放在中间层实现。中 间层表现为企业信息技术部门整个控制的环境。中间层一般运行于专用的服务器硬 件并拥有企业完整服务的控制权。 最初的两层模型,客户端一服务器应用模型承诺提高伸缩性及可操作性。但是, 直接分发服务到每个用户和由于在每个用户的机器上的业务逻辑的按照和维护导 致的管理问题成为了主要需要解决的难题。 将企业应用服务实现为多层应用可避开两层模型的限制。由多层应用提供企业 各方面的需求的控制,使大部分在两层模型上的开发转移到中间层软件的开发。 由于开发业务服务功能和获取数据库和其他企业资源的更复杂的底层代码的 开发要求,使得多层服务开发更加复杂。因为每个多层服务器产品拥有其自身的应 用程序模型,很难雇用和训练一个有经验的开发组。另外,随着服务量的增长常常 需要改变整个多层模型的底层代码,导致实现成本和时间的消耗。 j 2 e e 应用程序模型定义了作为多层应用程序的服务实现的架构,避免了这些问 题并交付伸缩性、易访问性和可管理性。j 2 e e 应用程序模型实现多层服务的工作划 分为两个部分:开发者实现的业务逻辑和表示逻辑,j 2 e e 提供的标准系统服务。开 发者依靠平台提供对开发中间件服务的硬件系统问题的解决。j 2 e e 应用程序模型为 多层应用程序提供了一次编写,到处运行的便携性和伸缩性。 华北电力大学硕士学位论文 3 i 系统的总体架构 第三章工作流系统的整体结构 基于j 2 e e 的工作流系统采用三层体系结构,设计此应用框架的指导思想是: 组件化、模块化。由表及里的大致层次为:客户、系统接口、业务处理、数据库管 理,每级只与它的后一级的接口打交道,其它都是透明的。依据j 2 e e 规范,整个 三层体系结构分别为:客户应用层、引擎服务层、数据服务层,具体如图4 - 1 所示。 图3 - l 基于j 2 e e 标准的工作流系统体系结构 客户应用层中的客户分为两种:一种是管理员,一种是普通用户。 管理员通过管理员用户w e b 界面进行对工作流模型的建立和管理。主要的具体 任务有: 查询工作流实例及各执行工作流机的状态; 查询员工或角色的当前状态; 统计历史数据; 控制工作流实例的运行; 异常处理; 保存自己的工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生活垃圾清理合同(标准版)
- 历史社团·昨日今朝
- 广西壮族自治区防城港生态环境监测中心招聘考试真题2024
- 山西省行政审批服务管理局直属事业单位招聘考试真题2025
- 吉林省地方金融监督管理局直属事业单位招聘考试真题2025
- 难点解析人教版八年级物理上册第4章光现象单元测评试卷(含答案详解版)
- 2025年房地产估价师实务操作模拟(含答案)
- 2025年建筑学专升本建筑力学强化练习试卷(含答案)
- 注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案(雄安新区2025年)
- 难点解析人教版八年级物理上册第5章透镜及其应用-凸透镜成像的规律专题训练试卷(含答案详解版)
- 心内科常见病健康教育
- 银行网点手语管理办法
- 狂犬病的护理
- 桥梁养护巡查管理培训
- 工会看电影活动方案
- 牙髓病和根尖周病的护理
- 口腔牙模印模消毒规范与实施
- 水果店员工管理制度
- 2025秋数学人教二年级(上) 校园小导游:第2课时 校园小导游
- 中医信息系统用户中医权限分级制度
- 2025年四川省广安市中考物理真题试卷及答案
评论
0/150
提交评论