(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf_第1页
(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf_第2页
(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf_第3页
(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf_第4页
(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)动态工作流技术在办公自动化中的应用研究.pdf.pdf 免费下载

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

文档简介

北方l 业人学硕十学位论文 捅要 工作流技术是计算机支持的业务流程的全部或部分自动化,目的在于通 过对业务工作的流程化分解改造,提高企业运作的灵活性和适应性、优化并 合理利用资源,使企业能集中精力处理核心业务,跟踪业务处理过程。工作 流技术的重要应用之一是办公自动化领域。 随着办公业务过程的复杂化、管理流程的不断优化、组织机构的不断改 革,各种新技术的涌现和新法规的出台,仅能够定义业务流程已经不能满足 实际需要。同时,越来越多的工作流都已不再是静态的流程,它们常常需要 在运行的过程中进行某些修改以快速响应需求的变化。因此,对工作流的研 究迫切需要融入动态修改部分,形成动态工作流技术,以增强工作流的应变 能力。将动态工作流技术运用于业务繁杂的办公自动化系统,可以使系统具 有良好的灵活性和可扩展性,针对需求变更做出快速响应。 本文分析总结了国内外动态工作流的相关成果,着重研究了实现动态工 作流的基本原理和方法,在此基础上,提出基于j a v a 的动态工作流引擎的 设计方案并予以实现,通过在办公自动化中的应用检验,验证了引擎的正确 性和灵活性。在本文的研究过程中,对如何进行工作流流程定义解析、如何 控制进程的流转、如何保证工作流一致性和正确性以及动态修改的执行策略 等问题进行了深入探讨,力求为动态工作流的进一步研究提供参考和思路。 关键词:动态工作流,动态工作流引擎,办公自动化 北方r :业大学硕士学位论文 r e s e a r c ha n da p p l i c a t i o no fd y n a m i cw o r k f l o wt e c h n o l o g y i no m c ea u t o m a t i o n a b s t r a c t w o r k f l o wt e c h n o l o g ym a k e sb u s i n e s sp r o c e s sa u t o m a t i c ,w h i c hh e l p se n t e r p r i s e t od e a lw i t ht h em o s ti m p o r t a n tb u s i n e s sa n dt r a c ep r o c e s s e s t h ep u r p o s eo f w o r k f l o wi st oi m p r o v ef l e x i b i l i t ya n da d a p t a b i l i t yo fe n t e r p r i s eo p e r a t i o n , o p t i m i z ea n du s e a l lk i n d so f r e s o u r c e st h r o u g hb u s i n e s sp r o c e s sr e b u i l d i n g m d e m a n do f0 伍c ea u t o m a t i o n o n eo ft h em o s tf u n d a m e n t a la p p l i c a t i o n s o fw o r k f l o w , b e c o m em o r ea n dm o r ec o m p l e x ,w h i c hi sn o to n l yd e f i n i n g b u s i n e s sp r o c e s s b u ta l s om e d i f y i n gt h eh y i n gw o r k f l o wp r o c e s s t h er e s e a r c hi n h o wt om o d i f yw o r k f l o wi sv e r yn e c e s s a r y , a n dw ec a l lt h i sr e s e a r c ha sd y n a m i c w o r k f l o wt e c h n o l o g y d y n a m i cw o r k f l o ww i l lm a k e0 硒c ea u t o m a t i o ns y s t e m m o r ef l e x i b l e ,e x p a n s i b i l i t ya n dt i m e l yr e a c t i o no f d e m a n dc h a n g e t i l i sp a d e rr e s e a r c h e dt h ep r i n c i p a lt h e o r ya n da p p l i c a t i o nm e t h o do f d y n a m i cw o r k f l o w o nt h eb a s i so ff l l l lu n d e r s t a n d i n go fd y n a m i cw o r k f l o w t h e o r y , i tp r o v i d e dad y n a m i cw o r k f l o we n g i n e d e s i g nb a s e do nj a v aa n d c o n f i r m e dt h ec o r r e c t n e s so fd e s i g ni no m c ea u t o m a t i o ns y s t e m d u r i n gt h e r e s e a r c h ,t h i sp a p e re x p l a i n e dh o wt or e s o l u t i o np r o c e s sd e f i n i t i o n , h o wt oc o n t r o i p r o c e s sr o u t e h e wt oi n s u r a n c et h eu n i f o r m i t yo fw o r k f l o wa n dm o d i f yp o l i c yi n d e t a i li no r d e rt op r o v i d ev a l u a b l em e t h o d si nd y n a m i cw o r k f l o wr e s e a r c h k e yw o r d s :d y n a m i cw o r k f l o w ,d y n a m i cw o r k f l o we n g i n e ,o f f i c e a u t o m a t i c - 2 一 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得韭 友王些太堂或其他教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表 示谢意。 学位论文作者签名:墨1 怨签字日期:坤妇弘日 学位论文版权使用授权书 本学位论文作者完全了解j 友工业太学有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权j 友王些太堂可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:圣- l 起 签字日期:再箩i 切日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签名: 签字日期一7 年期叫日 f 电话: 邮编: 北方 :业大学硕十学位论文 i 引言 1 1 课题研究背景和意义 本课题来源于“北京市门头沟区工业局电子政务系统”项目。将动态工 作流技术的具体理论研究应用到电子政务里的办公自动化系统中,使办公自 动化系统能够动态适应于环境的改变。 办公事务作为政务工作的重要组成部分,通常涉及多个科室的群体事务 活动,办公内容会涉及到文字处理、公文收发流转、信息采集处理、审核批 复、办公事务决策处理、人事管理等内容【1 】。日常的办公过程是一个非常复 杂的过程,没有一个固定不变的办公方式可循。在办公流程中,对不同的事 务都有不同的处理流程,即使是相同的事务针对不同的办公人员也可能有不 同的处理流程。目i j 的办公自动化系统普遍存在这样一个问题:各部门办公 业务工作改变或科室人员变动,都将带来整个系统软件的调整,但对单位总 体而言,其工作是基本不变的,只是工作内容的分配有所不同。正是工作内 容的分配差异,造成软件的设计只能针对各个单位当时的具体情况进行,一 旦有了变动就需要对系统进行二次开发。这不仅给软件开发带来许多重复性 的工作,更是给系统的维护带来困难,用户工作稍做调整就需要维护一个新 版本。单位内部机构的调整,各科室工作内容的变动,都会导致软件系统的 重新设计,既造成资源浪费,又影响了政府的工作效率。动态工作流技术能 很好地解决这一问题,给办公自动化系统带来彻底性变革,使其达到动态适 应环境变化的要求,避免系统二次开发所带来的项目耗费。 动态工作流是在工作流技术的基础上发展起来的,它继承了工作流的诸 多特性,同时具备自身优点。在办公自动化系统中运用动态工作流的优势在 于: ( 1 ) 实现了工作过程管理与办公业务逻辑的分离。动态工作流侧重于 对工作流程自动化执行的管理,具体的业务逻辑及办公过程中的各个活动可 以根据实际需要自由定义。同时支持对业务流程的动态修改,优化改造。 ( 2 ) 实现了业务流转的自由控制,同一办公业务的不同进程的运行独 立性。与传统程序流相比,动念工作流可以自由定义办公自动化系统中各项 北方r 业大学硕七学位论文 业务的活动路径,针对同一业务可定义多种不同的流转路径。同时在业务进 程的运行过程中,可以根据需求仅对该进程进行流转路径的调整,而不影响 同一办公内容的其它业务进程的运行,极大地提高了系统的灵活性。 ( 3 ) 实现了组织机构、角色与业务活动的动态映射。动态工作流支持 业务活动与角色的映射,角色与用户的映射。同一业务活动在不同的情况下 可以与不同的角色进行映射。遇到组织机构或人员调整时,只需调整活动的 映射角色或修改角色与用户的映射,无需修改程序。 北京市门头沟区工业局作为国家行政部门,负责管理北京市门头沟区的 所有工业和乡镇企业。局内的各项办公业务工作主要包括公文流转、用车管 理、人事管理、考勤管理、会议管理等。近几年,随着工业局的业务发展, 其科室机构、人员分配、办公业务流程也在不断调整中,原电子政务系统中 的办公自动化系统已经不能满足现有需求,工业局迫切需要提高办事效率, 加强业务流程的改造。因此,将动态工作流技术应用到当前的办公自动化系 统中,可以使用户根据办公业务需求,对系统中的业务流程进行定义、动态 修改、调整,以适应繁杂和不确定性的业务环境,大幅度提高办公自动化系 统的灵活性、易用性和可扩展性。 1 2 国内外研究现状 随着时间的推移和应用的深入,人们在生产实践中逐步意识到工作流技 术能够有效地协调和控制复杂过程的执行。目前,工作流技术己经融入到社 会各个行业中,包括政府机构、企事业单位、学校、银行、医院、电力、保 险等。同时,工作流技术在与各行业相关的诸多领域已得到成功的应用,典 型的有办公自动化、电子商务、企业资源管理、计算机系统集成与制造、客 户关系管理以及物流、资金流等专业流程【2 t 。 由于动态工作流的相关理论、规范还不成熟,因此,在各领域中应用动 态工作流技术尚处于研究实验阶段,尤其在办公自动化领域。大多数包含工 作流技术的办公自动化产品并不具有对工作流程动态修改的功能。 目i i ,国内外很多高校和科研机构对动念工作流的各个方面进行研究, 针对解决丁:作流的动念性等问题,定义了多种工作流模型,试图从不同角度 北方l j 业大学硕士学位论文 建立能够适应业务过程动态变化的工作流模型,使其具有可伸缩性和可扩展 性等适应性特征。 文献一【3 】认为工作流技术理论研究和实际应用的基础是工作流模型,工 作流模型的描述能力差且缺乏柔性致使工作流管理系统不够灵活。所以,应 该增强模型的描述能力和应变能力。 文献二h i 提出了一种基于数据库技术的柔性工作流建模方法,将d b m s 与工作流技术结合起来,定义了一系列工作流活动的工作流模板及其完整约 束,并将工作流进行细分,分别为:水平工作流、垂直工作流、偏水平工作 流,存放于数据库中的流程模板表中,使工作流之间的关系更清晰,管理方 便。作者还提出了基于规则的工作流执行模型,通过操作和管理数据库对现 有的模板进行修改,进行工作流程的定义或根据实际需要设计新的流程模 板,加强了模型的动态性,以适应流程的各种变化。研究结果表明,该模型 提供了基于d b m s 的工作流管理实现动态性和适应性的一种方法,有一定的 实用价值,但是该模型没有体现出对于流程模板动态更新、新工作流程动态 变化等问题的解决方法,未能从根本上解决工作流的动态性和适应性问题。 文献z t 5 1 提出了基于对象p e t r i 网( o b j e c tp e t r i n e t ,简称o p n ) 和基于o p n 的文本描述语言和工作流过程定义接口标准,即支持动态工作流的流程建 模。但该模型语义表达能力不足,动态扩展性差,在繁杂多变的环境下难以 建模。 文献四【2 2 】将外部的群件系统集成到工作流执行中,借助外部工具增加了 工作流系统的灵活性、开放性和与外部交互的能力。 文献五【7 】认为目i ; 的工作流在模型描述能力方面以及柔性方面有限,因 此未能在企业中得到广泛的应用。因此,文中提出了一种基于协调理论和反 馈机制的工作流建模方法。在该方法中,作者提出了一种新的建模机制,并 给出了扩展建模元素( 如请求、服务、协调) 的实现机制和应用场景。与传 统的活动网络模型相比,该建模方法模型复杂性较低、系统柔性及适应性方 面较高,流程建模柔性较强,但流程的有效性很难验证。 文献六【2 3 1 给出了基于约束定义的工作流系统的原型t u c u p i 。文中提出在 生产过程中存在很多无法预知的活动,在工作流中,这些活动都是无法预定 北方i :业大学硕十学位论文 义的,因此在定义和执行工作流时必须和工作流系统问进行交互。当系统执 行目标活动或目标活动序列时,这种交互允许控制器向系统询问活动必备的 预先条件。该原型中的交互方式确实可以解决实际情况中很多无法预定义的 活动,并能处理执行中遇到的异常,在一定程度上可以实现工作流的柔性和 适应性,但系统过于依赖人机交互,忽视了工作流的本质,即自动化执行, 存在着局限性。 文献七1 9 l 中对工作流的柔性做出了大体的分类与讨论,从业务流程的复 杂性、业务流程的应变能力等几个方面讨论了柔性在工作流中的必要性,并 设计了一个基于面向对象技术开发的工作流管理系统的原型。在工作流的执 行过程中,用户可以根据需求修改流程路径、重组活动。但系统在控制多用 户的协作机制方面非常有限,也未讨论工作流其它的动态性。 综上所述,国内外现有的对工作流的动态修改存在三个问题:一是动念 性不强。大部分模型、方法只支持对流程、组织机构的预先定制或修改,当 工作流进程在执行过程中发生外部环境改变时,多数模型缺乏对工作流进程 的扩展行为支持,难以适应实际环境下的多种变化,缺乏流程所需的动态重 构能力。二是可重用性不高。多数模型中的工作流程缺乏可重用性,因此, 用户为了调整现有的某个流程,往往需要重新设计一个新流程。在这种情况 下,对于复杂流程或需多次迭代设计的流程无疑是致命的打击,这不仅对现 有流程资源造成浪费,更极大地降低了工作流建模效率。三是缺乏对修改操 作合法性的检验。修改流程定义会给相关进程的执行带来很多潜在问题,尤 其是正在运行的进程,造成进程的不稳定。 1 3 课题主要工作 ( 1 ) 研究动态工作流相关概念和动态修改策略,分析动态工作流具体的功 能需求,流程定义的实现方法、解释执行与定义的实例化。其中,着重研究 动念修改给工作流定义与流程执行带来的影响并提出解决方法。这是动态工 作流需要解决的主要问题之一,直接影响系统的一致性、健壮性。 ( 2 ) 将理论研究实践化,设计并实现一个动态工作流引擎,研究引擎的基 本架构,并完成对工作流的动态修改。同时,对流程执行状况进行监控。 北方1 :业大学硕十学位论文 ( 3 ) 根据实际业务需求,将动态工作流引擎应用到办公自动化系统中,检 验引擎是否达到动态修改的效果,是否提高了办公自动化系统的灵活性和适 应性。 1 4 论文结构 论文的主要结构如下: 第一章,引言部分主要介绍了课题的研究背景和意义,采用动态工作流 技术的优势,目前国内外的主要研究现状以及课题的主要工作。 第二章,动态工作流的分析研究部分主要分析了动态工作流相关技术及 规范,总结出了课题采用的动态修改策略,是课题的理论基础研究。 第三章,实现动态工作流的关键技术及方案部分主要介绍了课题采用的 开发技术及原因,阐述了课题的系统方案设计与技术方案设计。 第四章,动态工作流引擎的设计与实现部分讨论了引擎的架构和工作机 制,并给出了具体实现方法的伪代码描述,是课题的核心实现。 第五章,动态工作流在办公自动化中的应用部分介绍了在办公自动化系 统中运用引擎的方法,对比原办公自动化系统,给出了应用结果分析。 第六章,总结部分对课题进行总结性陈述,分析了课题的研究成果与需 进一步完善的工作。 北方t = 业大学硕士学位论文 2 动态工作流的分析研究 2 1 动态工作流的相关概念 2 1 1 动态工作流的概念 工作流( w o r k f l o w ) 是计算机支持的业务流程的全部或部分自动化。在此 流程中,文档信息或任务按照预定的规则,在不同执行者之间进行传递和执 行,实现组织成员问的协调工作以达到业务的整体目标【15 1 。工作流程之问 可能是相互交叉,循环或是连接。一个工作流程的终点可能就是另一个工作 流程的起点,如上级部门的发文处理过程结束后引发了下级部门的收文处理 过程。工作流的目标就是要协调工作流中的角色,资源、事件、状态,推动 工作流的发生、发展、完成,实现全过程监控。简而言之,工作流就是一系 列相互衔接、自动进行的业务活动。一个工作流包括一组活动及它们的相互 顺序关系,还包括流程及活动的启动和终止条件,以及对每个活动的描述。 工作流在大多数的实际应用中可以描述为:在服务器和多台计算机客户 端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关 数据的处理而完成【2 6 1 。例如,在日常办公中,当起草好某份公文之后,需 要提交给科长进行核对或审批;再交由其它几个部门的科长意见会签,会签 意见需要汇集并提交给局长,以便对公文进行进一步的修改。这样,形成同 一篇文档在多个人之间的顺序或同时传递。对此,我们可以使用工作流技术 来控制和管理文档在各个用户间的自动传递,即为工作流的一个简单应用。 目前,对于动态工作流,不同的研究开发者有着不同的描述,定义尚不 明确统一,但其本质和基本特征是一致的。本文认为,相对于技术而言,动 态工作流更像是一种思想,它是工作流技术的发展与延伸,侧重于对传统工 作流的动态修改。这里的“动态修改”包含两方面,一方面是对业务流程定 义的修改,一方面是对流程定义执行的修改,即进程的修改【2 ”。 2 1 2 动态工作流的相关术语 下面给出动态工作流中涉及较多的术语及其解释【l l 】【2 4 】: 业务流程( b u s i n e s sp r o c e s s ) :业务流程指在某企业或机构中,能够实现 北方i :业犬学硕十学何论文 业务目标和策略的相互连接的过程和任务集,如发文流程,税收申报,保险 索赔等。工作流的基本目的是处理业务流程,每个业务流程的生命周期都是 有限的。 流程定义( p r o c e s sd e f i n i t i o n ) :流程定义也叫工作流模板,是业务流程的 计算机表示。流程可以分解成子流程和活动,流程定义指出哪些活动必须执 行,每个活动由谁以什么样的顺序执行。其定义主要包括流程执行过程中涉 及的各种数据和参数,如整个流程启动条件和终止条件,单个活动的参与者, 活动间的执行路由以及流程运行过程中的控制流,数据流等。 活动( a c t i v i t y ) :活动是组成流程定义的基本工作逻辑单元,活动必须完 整执行,若在执行活动期间发生任何错误,必须返回活动执行前的状态t 2 1 1 。 典型的活动如起草文件、核对文稿等。 活动实例( a c t i v i t yi n s t a n c e ) :活动是一个定义,活动实例是活动的实际 执行。在进程中,活动是最小工作单元,要求有人员的参与或由计算机自动 完成。 进程( p r o c e s s ) :进程也叫流程实例,是流程定义的一次执行,每个进程 代表一个能独立控制执行、具有内部状态的业务流程。在进程的执行过程中, 工作流引擎将解释相应的流程定义生成有关的活动实例,根据定义中的路由 关系协调这些活动实例之间的流转,同时根据数据流动关系的定义完成活动 之间的数据传送。从参与者的角度来说,进程的执行实际上是由参与者处理 自己所涉及的活动的数据。完成该活动后由工作流引擎激活后续活动,同时 通知后续参与者对之进行处理,依此反复直至整个进程完成。进程包括以下 6 种运行状态【6 j ,图2 1 显示了进程状态转换的关系。 ( 1 ) 起始:一个进程已经生成但还没有满足开始执行的条件; ( 2 ) 就绪:进程已经可以执行但是还不能满足开始执行第一个活动并生成 第一个任务的条件; ( 3 ) 运行中:该进程中的一个或多个活动已经开始执行: ( 4 ) 暂停:该进程正在运行但处于静止状念,该进程中的所有活动实例停 止直到有外部事件促使该进程回到准备运行状态; 北方r 业大学硕十学位论文 ( 5 ) 结束:该进程已经完成并且满足了执行结束的条件,工作流引擎将执 行进程结束后的操作,从当前运行进程列表删除该进程; ( 6 ) 终止:该进程在正常结束前被迫终止,原因有可能是出现错误或者异 常情况,工作流引擎将从当前运行进程列表中删除该进程。 图2 1 进程的状态转换 路由( r o u t i n g ) :路由是活动间依赖关系和时间关系的表现。如活动b ( 核 对文稿) 依赖于活动a ( 起草文件) ,这意味着核对文稿这一活动需要有起 草后的文件作为输入,从时间序列上看,核对文稿一定是在起草文件之后完 成。不论活动自j 的关系有多复杂,都是由以下四种基本路由构成: 顺序路由:活动( 或活动实例) 一个接一个,以唯一路径执行。当两个 连续的活动通过一个条件相链接时,它们必须做顺序执行。图中活动b 是在 活动a 完全结束后开始执行的。 活动a活动b 图2 2 顺序路由 并行路由:多个活动( 或活动实例) 可以同时执行或以任意顺序执行, 图中,当流程运行到a n d s p l i t 节点时,要求活动a ,活动b ,活动n 并 行完成,也就是说只有在a 、n 都完成之后,才能进入a n d - j o i n 节点, 接着执行下一个活动。我们把活动a ,活动n 合称为一个活动节点。换 句话说,活动节点是由两个或多个的活动组成。 北方! :业大学硕士学位论文 活动a a n d - s p l i t 9 活动na n 6 。j o i n p 图2 3 并行路由 选择路由:在两个或多个活动之间选择一个执行。图中,流程运行到 o r - s p l i t 节点时,要求活动a ,活动b ,活动n 之间只要有一个活动执行 完毕,就允许进入0 r - j o i n 节点,接着执行后面的活动( 或活动节点) ,因 此活动a ,活动b ,活动n 也组成了一个活动节点。 活动a o r - s p l i t 。活动no r :j o i n 一 图2 4 选择路由 循环路由:在一定条件下,某个活动的反复执行。理想情况下,一个业 务流程中的每个活动最多执行一次,然而,在实际运作中,使用循环路由是 必要的。例如,当某项活动需要反复执行直到通过随后的检测。图中说明了 活动b 可能需要反复执行直至满足条件为止。 活动a 活动b 珏“a t i o 图2 ,5 循环路由 角色( r o l e ) = 角色指在流程中对某个活动和活动集合具有访问权限和完 成能力的处理实体。角色足一组相关的技能,通过角色能够保证活动被分配 给正确的用户。用户与角色b j 存在映射关系。典型的角色有:系统管理员、 办公宅主任、科员等。 北方1 :业人学硕十学位论文 资源( r e s o u r c e ) :资源是一个或一组生产工具。资源也包括参与者,比 如用户、机器、应用和业务单位等。资源只能完成某些任务,因此可以将其 分成一个或者多个资源类,一个资源属于某一资源类,表明了该资源在组织 中的职位或所拥有的品质。 工作项列表( w o r ki t e ml i s t ) 和工作流应用数据( w o r k f l o wa p p l i c a t i o n d a t a ) :i 作项列表是一个用户所负责的所有工作项的详细描述,不仅保存 现有的活动,还要保存用户的历史工作任务。工作流应用数据指各个活动在 执行过程中的应用程序或用户所处理的数据,如应用数据库中的记录、被处 理的文档等。 工作流引擎( w o r k f l o we n g i n e ) :工作流引擎负责将工作流的流程定义实 例化为进程,进行资源调度,驱动实体按流程定义从一个参与者流向下一个 参与者的机制。 动态工作流引擎( d y n a m i cw o r k f l o we n g i n e ) :是动态工作流的核心部分。 本文在参考了传统工作流引擎的基础上,对其功能进行了扩展,形成动态工 作流引擎。动态工作流引擎不仅关注活动分配、执行,流程定义的准备和修 改,更关注于流程定义修改后对于进程的协调,进程执行过程中队活动的动 态修改、强制执行等。 : 工作流模型( w o r k f l o wm o d e l ) :工作流模型由4 部分组成,分别是流程模 型、资源模型、组织模型以及工作流相关数据【8 l 。流程模型用来定义工作流 的流程逻辑,它包括组成工作流的所有活动以及活动之间的依赖关系,它是 整个工作流模型的基础与核心,其它模型均为其提供支持。资源模型用来定 义资源的组织结构,它包括几种形式的资源容器元素以及容器内部的递阶层 次关系,直至最终的原子级别资源个体,资源模型的主要任务是为用户执行 工作流提供“物”方面的支持。组织模型用来定义角色及用户的组织结构, 它包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。组 织模型的主要任务是为用户执行工作流流程提供柔性的组织定义,为流程模 型提供“人”方面的支持。工作流相关数据用来定义工作流执行过程中需要 用到的数据,它主要用于各种条件的判断,以实现工作流引擎对不同活动的 选择性路由。工作流相关数据为工作流的执行提供了“信息”方面的支持。 北方 业大学硕十学位论文 f l - 磊毳蕊而: i 一一一一一一一一一一一一一一一一一一一一一一一一一一一 : 啦务流鄹 图2 6 工作流相关术语间的基本关系 2 2 动态工作流的研究内容 研究者们发现传统工作流已不能应对实际生产环境下产生的变化,因此 决定对工作流的灵活性,自适应性做进一步研究,以使其更好地适应实际生 产环境,实现工作流的真正价值。因此,动态工作流是工作流技术深入发展 的结果,其研究重点不仅包括工作流的关注热点,更包括对工作流动态性的 研究。 动态工作流的核心就是“动态修改”。目前,国内外对工作流动态修改 的研究主要集中在0 1 2 1 1 2 5 l :动态修改的分类;动态修改的实现策略;动态修 改的实现方法;动态修改包括哪些操作:动念修改对整个系统的影响;如何 解决动态修改造成的流程冲突以及怎样更好地支持动态工作流等。 2 3 动态修改的分类及特征 随着工作流抽象层次的不同,其动态修改的含义和方式是不同的( 如图 2 7 ) 。根据工作流的抽象层次1 3 】,动态修改需要面对应用领域动态变更, 流程动态变更,资源动态变更三个方面。 2 3 1 面向应用领域的动态修改 工作流技术的实用价值必将依靠于某类具体的应用系统去实现。一个实 - l2 一 一一 域;一篓 ? 瓣缸降| | 北方l :业大学硕十学位论文 际运行系统往往是面向某一特定的业务领域,而在这个特定的业务领域,工 作流可以被认为是相对独立的,与具体的业务逻辑无关。工作流必须能够自 由配置和协调这些业务领域和组织机构之间的关系。 当某一业务领域发生变革时,必将影响到现有的应用程序的配置。因此, 动态工作流需要处理和整合这些领域,特别是不同领域和不同组织之间的异 构性,因此就需要在应用领域层次对工作流进行适配,以适应外部环境的变 更。 系统层次对惠的幼念变化 成f j 锉域晦j j 领域之剃豹霹隧霞 流烈 一浼秽定义 一 f 务 瓷渤 一较搠f l 一鲋纵硬剐 一数据醺带 浚程演变 一流稃更倒的没定r | 茂蹙 - i s , | 4 l 姚性教 资源醐l 鼋 一鳃 t i 。年f l 梭【l 一人城潲织 一榭父数鬏t j 逶魁 系统聃 j :f ;鲤l 织系统的醌献雠 2 3 2 面向流程的动态修改 图2 7 工作流抽象层次 流程层面上的动态修改主要指工作流的某一业务流程或者进程中的一 个活动发生改变,这时,我们就需要进行动态适配。这个层次上的动态适配 又分为“流程演变”和进程的设定性修改两种。前者来自于业务过程重组 ( b u s i n e s sp r o c e s sr e d e s i g n ,b p r ) ,一旦业务过程发生变动,那么对应的工 作流定义就需要做修改,其变化的核心内容是工作流定义的重设计,即活动 的添加、删除及次序的改变,由于改变所带来的进程的调整,版本控制等。 而进程的设定性修改随机地发生在其执行阶段,这种修改往往需要结合不同 的实际情况,根据设定的修改策略来使得流程定义保持一致性和正确性,并 实时对进程的执行状态进行监控。 北方f :业大学硕十学位论文 2 3 3 面向资源的动态修改 资源层面上的动态修改主要指各种工作流资源的重新分配,组织结构的 变更和数据结构的变化等,这些也间接反映在流程定义之中。这里我们简要 讨论组织结构的变化和相关数据的适配。 2 3 3 1 组织机构的变化 这类变化最典型的就是人员的变动,这样会直接的影响工作流过程的执 行。人员的变动、企业组织结构的变动都会直接反映在工作流的组织资源模 型上,这时,就需要工作流模型及时有效的处理这种变化。比如大多数工作 流模型都采用了用角色来代替某一特定的员工,用组织角色来代替某一类的 职能部门等。 2 3 3 2 工作流数据的变化 当一个工作流流程正在运行时,其数据或数据结构可能会发生变化。通 常的讲,一个j 下处于运行阶段的流程是不允许被修改其相关数据的。如果这 个过程依赖于某被详细定义的全局数据,而这个全局数据发生了变更,工 作流模型就必须作相应的变动从而使其适应这个数据的变更,因此,工作流 模型必须对全局的数据结构有相应的感知能力。 2 3 3 3 系统基础组织的变化 随着工作流模型的发展,新的功能被不断的增加、新的技术也会被不断 的采用。这时反映在工作流模型的基础支持软件系统发生了变化,就需要对 工作流模型进行重配置。为了及时、准确、方便的对工作流模型再配置,就 需要一个柔性的基础支持系统的适配器,比如采用基于x m l 的配置方法等。 2 4 动态修改的策略及规则 2 4 1 动态修改的策略研究 参照2 3 节中动态修改的分类,可以确定动态修改的两个主要方面:流程 定义的动态修改和进程的动态修改。 流程定义的动念修改相当于在工作流中新增一个流程定义,但是系统中 北方i :业大学硕十学位论文 可能有多个进程己经按照旧的流程定义启动并运行了,而且这些进程一般会 处于各自不同的执行进度,因此,处理好这些已经运行的进程是关键问题。 通常有三种策略对这些进程进行处理【1 4 】:重新启动策略( r e s t a r tp o l i c y ) 、继续 执行策略( p r o c o e dp o l i c y ) 、转换策略( t r a n s f e rp o l i c y ) 。在这三种策略中,重新 启动策略将放弃所有己经运行的进程,相当于删除了当前系统中所有与流程 相关联的业务活动,代价非常昂贵。继续执行策略对己经运行的进程不加任 何处理措施,因此,对实际变化的响应较慢,灵活性差。转换策略自动将己 经运行的进程转化为新的流程定义结构,对变化的响应较快,因而是比较合 适的动态修改策略。但是在应用转换策略将已经运行的进程转换为新的流程 定义结构时,这些进程可能会处于各不相同的执行进度,这时如果将多个进 程生硬地自动转换为同一个流程定义结构,就会造成进程在转换后无法继续 向下执行的问题,显然这种转换策略是不合适的。 为了解决上述问题,首先,将应用转换策略的情况分为两种: ( 1 ) 系统中己经存在需要转换的进程有多个,并且它们从来没有进行过 动态修改。 “ ( 2 ) 系统中己经存在的需要转换的进程有多个,并且这些进程中有的曾经 进行单个进程的动态修改,有的从未有过动态修改。 针对上述两种情况,本文将实行以下转换策略: 对于未经任何动态修改过的进程,并且用户同意按新定义执行,则直接 将该流程转换为新的流程定义结构,进程按照新的流程定义结构向下继续运 行。若用户不同意某一进程按新结构执行,则该进程不转换为新的流程定义 结构,按照旧的流程定义结构向下继续运行。 对于曾经历过单个进程修改的进程,属于特殊进程,它们都是因受某一 次的实际业务变动而进行调整,具有特殊性,因此,不允许转换为新的流程 定义结构。如果特殊进程需要按新结构执行,则必须单独修改此进程,即再 次进行进程修改。 进程的动态修改是为了响应某些临时的变化( 如组织人员的变更、角色 变换) 而对单个正在运行的进程进行修改。进程修改只影响进程自身,不影 北方【:业大学硕十学位论文 响它对应的流程定义。 2 4 2 动态修改的规则分析 动态修改大部分会涉及到活动间的逻辑关系,必须要满足工作流的正确 性和一致性要求,为了避免因动态修改而导致工作流进程无法继续运行甚至 出现部分功能崩溃情况,动态修改必须要遵循相应的规则。动态修改规则就 是在进行动态修改时要遵循的一个规则集【1 0 】,在这个规则集中,通过对动 态修改的操作进行约束和限制来保证动态修改后活动逻辑关系的正确性和 一致性。 制定动态修改规则有两个出发点:一是动态修改不能造成修改后的进程 无法继续运行。二是如果动态修改针对的是进程,修改后的进程将按照新的 进程结构继续向下执行;如动态修改针对的是流程定义,修改后新启动的进 程将按照新的流程定义运行,系统中按照旧的流程定义启动的进程根据转换 策略转化为新的流程定义结构继续向下执行 1 6 l 。 为此,本文为动态修改建立一个规则库,定义相应的修改规则。修改规 则通过当前活动法来实现,具体内容如下: 规则库中存有当前活动、前一活动、后一活动,以当前活动为中心,根 据活动间的约束关系,将当i ; 活动前后允许插入删除哪些活动,不允许插入 删除哪些活动制订成规则,保存在规则库中。用户进行修改的时候,系统要 根据舰则库判断修改操作是否合法。 并不是在任何时候对任何流程定义或进程都允许进行修改,表( 2 i ) 列举 了允许进行动态修改的限定条件。 北方t 业大学硕十学位论文 表( 2 1 ) 动态修改的限定条件 动态修改操作 限定条件 新增活动 由该流程定义刨建的进 程中的活动实例已经全 流程定义 修改活动 部完成或未执行 删除活动 新增路由 在流程定义中,仪限于 流程定义和 修改路由 该流稃定义创建的进程 中的活动l 三经全部先成 进程 或未执行。 删除路由 在进程中,仅限于尚未 执行的活动实例。 修改参与者 添加活动实例 当前活动实例的后续,即 进程 修改活动实例 仪限于进程中尚未执行的 活动实例 删除活动实例 2 5 动态工作流的功能需求分析 结合项目背景,本文主要从用户角度来分析动态工作流的具体功能需 求。用户分为两类:一类是普通用户,一类是工作流管理员。普通用户是一 般的使用人员,完成日常工作任务和流程运行过程中产生的属于自己的活 动,具体有以下3 个主要功能: 1 ) 启动流程。普通用户可以根据自己的启动项目的权限和需求来新建 一个工作流项目,并启动该流程的执行;2 ) 工作查看。普通用户可以查看 等待自己执行的当前工作,即业务流程执行中产生的和自己相关的进程信息 列表,也可以查看自己的历史工作信息;3 ) 执行任务。进入属于自己的活 动,填写活动执行所需要的数据并执行。活动的执行包括选择提交的流程使 之进入下一步正常执行,或者要求不满足而回退到某一步重新执行。 工作流管理员负责管理业务流程需要的工作流角色,流程定义,动态修 改等,具体有以下4 个主要功能: 1 ) 角色管理。角色是根据功能划分的资源,工作流管理员能够对角色 北方l 业大学硕十学位论文 和普通用户做映射:2 ) 定义管理。能够定义活动,定义流程,定义规则, 这些定义是工作流执行的依据与基础;3 ) 动态修改。能够根据业务需求的 临时或永久性改变去修改流程定义和进程,也能够调整进程的执行进度;4 ) 进程监控。查询当i ;i 运行进程的执行状况,并强制改变进程状态。 北方。i :业大学硕十学位论文 3 实现动态工作流的关键技术及方案设计 3 1 关键技术研究 3 1 1 元数据技术 元数据( m c t a d a t a ) 这一概念起源于计算机科学,f l j m y e r s 在1 9 6 0 年提出, 当时是指能够有效描述资料的方式,后来面对电子信息所特有的分散式、变 动性与多元性,元数据再度引起更广泛的关注【1 7 1 ,现在研究的元数据是以 数据的形式存储的。元数据并不是一个新事物,它在信息知识进行分析、分 类与管理中十分重要。实际上传统的图书馆卡片、磁盘的标签、图书的版权 说明等都是元数据。 3 1 1 1 元数据概念 元数据是数据的数据,是以计算机系统能够使用与处理的格式存在的、 与内容相关的数据,是对内容的一种描述方式。它描述了数据的内容质量、 内容的属性、结构信息和其它特性,其本身也可以作为被描述的对象,元数 据可以出现在:数据内部、独立于数据、伴随着数据或与数据包裹在一起。 元数据帮助人们定位和理解数据。数据集是元数据所描述对象数据的最 小单元,它可以是单个文件,多个文件或者数据库数据。根据各个行业的业 务数据类型的不同,形成各种行业元数据。元数据一旦从原始内容中提取出 来,就可以与原始的内容分开,单独被处理,从而大大简化了对内容的操作 过程。 3 1 1 2 元数据的分类 元数据有不同的分类方法,一般分为:描述性元数据,结构性元数据, 存取控制性元数据,评价性元数据等。 a ) 描述性元数据( i n t e l l e c t u a lm e t a d a t a ) ,描述一个文献资源的内容及其与其 它资源的关系的元数据。从总体上看,可以认为元数据部是具有描述性的, 但其中直接描述资源对象属性的一些元素,常被称为描述性元数据,例如资 源的名称、主题、类型等。 此方l 业大学硕七学位论文 b ) 结构性元数据( s t r u c t u r a lm e t a d a t a ) ,描述数字和信息资源的内部结构,用 于定义一个复杂的资源对象的物理结构,以利于导航,信息检索和显示,例 如书目的目录、章节、段落的特征等都是描述怎样组织各个组成部分的元素。 c ) 存取控制性元数据( a c c e s sc o n t r o lm e t a d a t a ) ,用来描述数字化信息资源能 够被利用的基本条件和期限,以及这些资源的知识产权特征和使用权限,例 如所有权权限的管理,产生制作时间和方式,文件类型,其它技术方面的 信息,使用或获取方面的权限管理等。 d ) 评价性元数据( c r i t i c a lm e t a d a t a ) ,描述和管理数据在信息评价体系中的 位置。 3 1 1 3 课题采用元数据的原因 课题采用的是结构性元数据,确切的说,是借用元数据的思想去描述流 程定义。 从数据库设计层面上看,在传统的办公自动化系统中,需求获取阶段要 求每项办公业务的功能与流程都是固定的,设计阶段将每项业务流程转化为 数据库中固定的一个或多个表。当业务功能与流程有调整时,需要修改底层 数据库中的业务表结构,代价很大。 由于不同业务功能经历的操作活动内容和活动个数不尽相同,因此,课 题采用元数据描述进行流程定义和进程。首先定义单个活动,将活动作为维 表,根据不同业务流程的需要,组织相应的活动,动态生成流程定义,相当 于为每个流程定义实现了一张虚拟的流程定义表。当某一个流程定义实例化 时,即将定义中每个活动实例化,组成一个进程,进程由活动实例描述,按 照虚拟的流程定义表结构存储。也就是说当业务功能与流程有调整时,不需 要触动底层数据库的表结构,只需要重新组织出一张虚拟表即可。该方法提 高了系统的灵活性,减少重复性的开发工作。 3 1 2j a v a 和d a v a b e a n 技术 3 1 2 1j a v a 概述 j a v a 是f l q s u n 公司所发展出来的程序语言。j a v a 语占有下面一些特点1 19 】: 北方i :业大学硕十学位论文 1 、简单性j a v a 略去了运算符重载、多重继承等模糊的概念,并且通 过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,j a v a 也 适合于在小型机上运行,它的基本解释器及类的支持只有约4 0 k b ,加上标 准类库和线程的支持也只有2 1 5 k b 。 2 、面向对象j a v a 语言的设计集中于对象及其接口,它提供了简单的 类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法, 实现了模块化和信息隐藏:而类则提供了一类对象的原型,并且通过继承机 制,子类可以使用父类提供的方法,实现了代码的复用。 3 、鲁棒性j a v a 在编译和运行程序时,都要对可能出现的问题进行检 查,以消除错误

温馨提示

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

评论

0/150

提交评论