(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf_第1页
(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf_第2页
(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf_第3页
(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf_第4页
(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于atbac访问控制模型的工作流管理系统.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文摘要 基于a t b a c 访问控制模型的工作流管理系统 摘要 随着网络技术和计算机技术的迅猛发展,现代企业的经营规模和生产规模日益 扩大,传统的企业运作方式己经不能够满足现代企业信息化的需要,而工作流技术 恰恰为解决复杂的业务过程提出了一个有效的技术方案。正因为如此,近年来工作 流技术引起了国内外学术界和产业界的广泛关注,掀起了工作流研究的一个热潮。 在工作流管理系统中,所有信息都是通过网络传输,不可避免的会遭到非法攻 击,故工作流系统中的信息安全是极为重要的。信息安全包括保密性、完整性和可 用性,涉及到数据加密、身份认证、入侵检测、访问控制等诸多方面。针对这一问 题,本文侧重研究了工作流管理系统的访问控制问题,提出了基于a g e m 一任务的 访问控制( a g e n t - - t a s kb a s e d a c c e s sc o n t r o l ,a t b a c ) 模型,该模型结合了传统 的基于角色的访问控制( r o l eb a s e da c c e s sc o n t r o l ,r b a c ) 模型的静态授权及基 于任务的访问控制( t a s kb a s e da c c e s sc o n t r o l ,t b a c ) 模型中对任务的动态授权, 同时也支持对用户私有权限的处理,所以,该模型体现了更大的灵活性。 本文最后给出了m i n i f l o w 工作流管理系统的总体设计方案,该工作流管理原型 系统共分为三层:表示层,业务逻辑层,数据层。论述了各层主要模块的功能。实 现了可视化建模工具及设计了工作流引擎调度的主要数据表,给出了工作流引擎的 任务调度及消息通知机制算法,并对其访问控制机制做了讨论。最后结合一个请假 流程的具体实例做了阐述。 关键词:工作流x p d l 访问控制r b a ct b a ca t b a c 任务 一一 东北大学硕士学位论文a b s t r a c t w o r k f l o wm a n a g e m e n ts y s t e mb a s e do na t b a ca c c e s sc o n t r o l m o d e l a b s 订a c t a st h er a p i dd e v e l o p m e n to f n e t w o r ka n d c o m p u t e rt e c h n o l o g y ,t h em a n a g e m e n ta n d m a n u f a c t u r es c a l eo fm o d e mc o r p o r a t i o n se x p a n di n c r e a s i n g l y t h et r a d i t i o n a lo p e r a t i o n s t y l ec a n ts a t i s f yt h ec o r p o r a t i o n sd e m a n df o ri n f o r m a t i o n ,h o w e v e r ,t h et e c h n o l o g yo f w o r k f l o wp r e s e n t sa l le f f e c t i v es t r a t e g yf o rt h es o l u t i o no fc o m p l i c a t e db u s i n e s sp r o c e s s a sar e s u l t t h et e c h n o l o g yo fw o r k :f l o wb r i n g so nw i d ea r e n t i o no fa c a d e m i aa n d i n d u s t r yi nr e c e n ty e a r s t h ei n f o r m a t i o ns e c u r i t yi s e x t r e m e l yi m p o r t a n t i nw o r k f l o wm a n a g e m e n t i t i n c l u d e ss e c r e c y ,i n t e g r a l i t ya n du s a b i h t ya n dr e l a t e st om a n ya s p e c t ss u c ha sd a t ae n c r y p t , i d e n t i t ya u t h e n t i c a t i o n , i n t r u d ed e t e c t i o na n da c c e s sc o n t r 0 1 t h ep a p e rf o c u s e so nt h e s t u d yo fa c c e s sc o n t r o li nw o r k f l o wm a n a g e m e n ta n dp r e s e n t sa t b a c ( a g e n t - - t a s k b a s e da c c e s sc o n t r o la c c e s sc o n t r 0 1 ) m o d e l ,w i n c hc o m b i n e ss t a t i ca u t h o r i z a t i o ni n r b a cm o d e li n t od y n a m i ca u t h o r i z a t i o ni nt b a cm o d e la n ds u p p o r tt h et r a n s a c t i o no f u s e r sp r i v a t ep r i v i l e g e s oi th a sb e t t e rf l e x i b i l i t yt h a no t h e r s t h i s p a p e rp u tf o r w a r dt h e w h o l ed e s i g ns c h e m eo fm i n i f o ww o r k f l o w m a n a g e m e n ts y s t e m ,i ti n c l u d e st h r e el a y e r s :p r e s e n t a t i o nl a y e r ,b u s i n e s sl o g i cl a y e ra n d d a t al a y e r t h ef u n c t i o no fm a i nm o d u l ei ne a c hl a y e ri sd e s c r i b e di nd e t a i l t h ev i s u a l m o d e l i n gt o o li si m p l e m e n t e da n dt h em a i nd a t at a b l e so fe n g i n e ss c h e d u l ei sd e s i g n e d , a tt h es a m et i m e ,t h ea r i t h m e t i co ft a s ks c h e d u l eo fw o r k f l o we n g i n ea n dm e s s a g e n o t i f i c a t i o nm e c h a n i s mi sa l s op r e s e n t e d f u r t h e r m o r e ,i t sa c c e s sc o n t r o lm e c h a n i s mi s d i s c u s s e d a tl a s t a nc o n c r e t ee x a m p l eo f l e a v ei se x p l m n e d k e yw o r d sw o r k f l o w ,x p d l ,a c c e s sc o n t r o l ,r b a c ,t b a c ,a t b a c ,t a s k 一一 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果 除加以标注和致谢的地方外,不包含其他人己经发表或撰写过的研究成果,也不包 括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名孑舭 日期: 2 名咿2 客 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定: 即学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查 阅和借阅。本人授权东北大学可以将学位论文的全部或部分内容编入有关数据库进 行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名;否则视为不同意。) 学位论文作者签名 签字日期: 导师签名: 签字日期: 东北大学硕士学位论文 第一章绪论 第一章绪论 工作流技术作为现代企业实现过程管理与过程控制的一项关键技术,为企业 的经营过程提供了一个从模型建立、管理到运行、分析的完整框架;同时,工作 流管理系统通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支 持。工作流技术在现阶段得到了广泛的研究和应用。 1 1 研究的背景及意义 随着i n t e m e t 的出现、发展和完善,计算机及其应用领域正发生着深刻的革命: 计算机正朝着小型化、网络化方向发展,即所谓的网络计算机( n e t w o r kc o m p u t e r , 简称n c ) 的出现,计算机的应用正向着分布式、协同工作的方向发展。这种发展 方向正迎合了人们在社会化网络中社会化分工及其在协同工作方式下完成某个共 同目标的实际要求。计算机支持的协同工作( c s c w ) 正是为了解决这类问题而提 出的一种研究课题,通过研究它们的共同性质,寻求通用的解决方案。 工作流管理系统( w f m s ) 是类特殊的异步并发的c s c w 软件。这种协同 工作软件系统能够理解、解释和自动执行或者同参与者交互的执行各种预定义的 流程( 称为过程定义) ,不需要分别为不同的业务流程开发不同的软件,这就为 企事业单位快速响应外界要求、提高管理水平、降低成本、提高质量等提供了一 个通用的软件平台【l 】。 由于工作流技术的独特优势,已逐步应用到越来越多的行业中,例如电讯、 软件工程、产品制造、财政管理和银行、办公自动化等。越来越多的公司利用工 作流系统来完成它们的业务流程。这样做虽然带来了企业效率的提高,但也引入 了一个新的问题安全问题,而系统安全中的访问控制技术的研究也逐渐成为 热点课题。 1 2 研究现状 在工作流技术目益得到重视的今天,对工作流技术的研究也正在向更深层次 进行。工作流技术的研究发展方向有以下几点:一是为工作流技术的发展解决理 论上存在的闯题,探讨工作流模型和语义的形式化表示方法;二是从工作流技术 实现的角度探讨利用先进的技术提高工作流管理系统的性能和可靠性;三是如何 从企业的经营过程出发,最大限度的提高企业的经营效率【2 】。 一1 一 东北大学硕士学位论文第一章绪论 目前,国内外已有很多工作流产品,其中多数产品以大型企业为目标客户, 方案复杂,成本高。也有一些针对中小型企业的产品,但这些产品多数基于传统 的架构,这些传统的工作流产品多采用集中式的方式,虽然易于实现、维护和管 理,却存在着系统可扩展性( s c a l a b i l i t y ) 差、产品可靠性( r e l i a b i l i t y ) 和可用性 ( a v a i l a b i l i t y ) 不高,与应用系统的集成性( i n t e g r a t i o n ) 差,安全性能( s e c u r i t y ) 不高等显著缺陷。工作流管理系统从支持单个工作组环境开始,现在逐步提高到 企业级的功能需求。这样,单个工作流程就要允许跨越广域网上的多个服务器和 客户端,通过并行计算、资源共享、分布操作使其可扩展性、可管理性得以充分 体现。基于这种现状,工作流学者提出了分布式工作流的概念。分布式工作流采 用分布式策略将工作流系统功能离散化或模块化,这些模块既可以在同一机器上 运行,也可以在通过网络连接起来的祭台不同机器上运行,通过各个模块间的相 互协调工作,实现预定的功能。 建立工作流模型是工作流管理系统的必然要求,工作流模型的正确与否直接 决定着工作流系统的运转效能,所以对模型进行正确性验证是工作流系统的不可 缺少的重要环节。当前建模方法主要有以下几类:基于活动网络的建模方法、基 于形式化表示的建模方法、基于对话模型的建模方法和基于事务模型的建模方法。 其中基于活动网络的建模方法直观易懂、操作方便、不需要专业的知识、容易学 习和使用,而且可以将其转化为扩展p e t r i 网模型来进行验证,比其他的方法更适 合电子政务领域的建模人员。有向图方法就是一种基于活动网络的建模方法。 有向图方法虽然易学好用,但缺少有力的分析手段,无法确定复杂结构,比 如循环的正确性,需要借助其他方法,通常是p e t r i 网来进行模型验证。p e t r i 网是 一种图形化、数学化的建模工具,有丰富的图形表达方式,又是严格定义的数学 对象,借助数学开发的p e t r i 网分析方法和技术既可用于静态的结构分析,又可用 于动态的行为分析。同时,p e t r i 网所有元素都是经过严格定义的,具有规范的模 型语义,有坚实的理论基础和比较成熟的分析方法。这些特点使得p e t r i 网成为模 型分析验证的重要工具。 对于工作流管理系统,不可避免的遇到访问控制的问题。因为在实际应用中, 特别是在企业应用中,一个商业过程的一次执行是需要多个部门协调完成的,在 该商业过程的生命周期中,谁做什么工作,谁不能做什么工作均是由该企业组织 的安全策略所决定的。这样在工作流管理系统中必须由一套授权及访问控制机制, 保证任务被正确的人员所担任并完成。由于在实际应用中可能存在数量庞大的用 户群,这将会给授权管理带来很大的麻烦。基于角色( r o l e ) 的授权与访问控制在 一1 一 东北大学硕士学位论文第一章绪论 用户和权限之间引入了一个角色的概念,并可构造角色之间的层次关系。一个角 色具有一定的操作权限,并通过为用户赋予不同的角色来使用户获取不同的权限。 由于一个企业中实际存在的角色数远远低于用户的数目,并且一个用户在企业中 的职位是相对稳定的,而且用户职位变化导致权限变化时,仅仅只需要改变该用 户所属的角色即可,这样就大大地简化了授权管理操作。因此基于角色的授权与 访问控制机制在9 5 年后受到了广泛的关注与研究。 然而,在工作流环境中采用纯粹的r b a c 模型仍存在着不足之处,主要表现 在r b a c 中的角色是一个比较长期的概念,但工作流系统中组织化和分布式的信 息处理决定了相应的授权控制应该具有短期性。对于工作流系统中某些具有“流 动性”的数据对象,若采用r b a c 的静态授权,则系统难以及时准确的授予、撤 销用户和角色的权限,往往出现权限提前授予、用户拥有权限的时间比他实际需 要的时间长的现象,这是造成系统不安全的重要原因之一。例如在公文处理工作 流中,当用户审批完一个公文并提交之后,对于此公文则不应再拥有“审批”权 限。但是如果为了解决这样的问题而频繁更换角色,显然违背了r b a c 易于系统 安全管理的初衷。 针对r b a c 模型的不足之处,国内外已经展开了不少研究,主要有以下三种: ( 1 ) 基于团队( t e a m - - b a s e d ) 1 3 j :t h o m a s 阐述了t m a c 模型,该模型用于 用户团队协作完成任务的访问控制,在t m a c 中,访问控制围绕着团队这一概念, 所谓的团队是指描述各种角色的用户集合的一个抽象,这些用户相互协作的完成 某个特定的任务或目标。 ( 2 ) 基于时间特性( t e m p o r a l - - r b a c ) 1 4 j :t r b a c 是对r b a c 的扩展,t r b a c 支持角色的周期允许禁止,及角色只在某一特定的时间周期内可用,而对于其它 的时间断不可用,克服了r b a c 中授权约束与时间无关这一缺点,从而增强了系 统的安全性。 ( 3 ) 基于任务( t a s k - - b a s e d ) 1 5 1 :基于任务的访问控制模型( t b a c ) 是将 访问许可与任务相联系,在t b a c 中,对象的访问权限控制并不是静止不变的, 而是随着执行任务的上下文环境发生变化,t b a c 着眼与面向任务的观点,区别与 传统的面向主体,与“角色”相比,“任务”是一个动态的,短期的概念。“任 务”的提出比较符合工作流系统的动态性。 1 3 论文的组织结构 本文的第二章介绍了工作流的相关的基本概念,重点阐述了工作流建模和工 一 一 东北大学硕士学位论文第一章绪论 用户和权限之间引入了一个角色的概念,并可构造角色之问的层次关系。一个角 色具有一定的操作权限,并通过为用户赋予不同的角色来使用户获取不同的权限。 由于一个企业中实际存在的角色数远远低于用户的数目,并胃一个用户在企业中 的职位是相对稳定的,而且用户职位变化导致权限变化时,仅仅只需要改变该用 户所属的角色即可,这样就大大地简化了授权管理操作。因此基于角色的授权与 访问控制机制在9 5 年后受到了广泛的关注与研究。 然而,在工作流环境中采用纯粹的r b a c 模型仍存在着不足之处,主要表现 在r b a c 中的角色是一个比较长期的概念,但工作流系统中组织化和分布式的信 息处理决定了相应的授权控制应该具有短期性。对于工作流系统中某些具有“流 动性”的数据对象,若采用r b a c 的静态授权,则系统难以及时准确的授予、撤 销用户和角色的权限,往往出现权限提前授予、用户拥有权限的时间比他实际需 要的时间长的现象,这是造成系统不安全的重要原因之一。例如在公文处理工作 流中,当用户审批完一个公文并提交之后,对于此公文则不应再拥有“审批”权 限。但是如果为了解决这样的问题而频繁更换角色,显然违背了r b a c 易于系统 安全管理的初衷。 针对r b a c 模型的不足之处,国内外已经展开了不少研究,主要有以下三种: ( 1 ) 基于团队( t e a m - - b a s e d ) ”j :t h o m a s 阐述了t m a c 模型,该模型用于 用户团队协作完成任务的访问控制,在t m a c 中,访问控制围绕着团队这一概念, 所谓的团队是指描述各种角色的用户集合的一个抽象,这些用户相互协作的完成 某个特定的任务或目标。 ( 2 ) 基于时间特一 生( t e m p o m l r b a c ) 1 4 1 :t r b a c 是对r b a c 的扩展,t r b a c 支持角色的周期允许禁止,及角色只在某一特定的时间周期内可用,而对于其它 的时间断不可用,克服了r b a c 中授权约束与时间无关这一缺点,从而增强了系 统的安全性。 ( 3 ) 基于任务( t a s k - - b a s e d ) pj :基于任务的访问控制模型( 1 b a c ) 是将 访问许可与任务相曦系,在t b a c 中,对象的访问权限控制并不是静止不变的, 而是随着执行任务的上下文环境发生变化,t b a c 着眼与面向任务的观点,区别与 传统的面向主体,与“角色”相比,“任务”是一个动态的,短期的概念。“任 务”的提出比较符合工作流系统的动态性。 1 3 论文的组织结构 本文的第二章介绍了工作流的相关的基本概念,重点阐述了工作流建模和工 本文的第二章介绍了工作流的相关的基本概念,重点阐述了工作流建模和工 一1 一 东北大学硕士学位论文 第一章绪论 作流管理联盟提出的工作流元模型及x p d l 描述语言;第三章主要对现阶段的两 种访问控制技术,即基于角色的访问控制和基于任务的访问控制进行了介绍,同 时提出了a t b a c 访问控制模型,该模型结合了r b a c 模型的静态授权以及t b a c 模型中任务的动态授权;第四章对工作流管理系统提出了总体的设计与实现方案, 并在整体把握的基础之上重点阐述了基于a t b a c 访问控制模型的设计与实现,对 工作流引擎中任务调度算法进行了探讨,并给出了一个具体的应用实例。最后第 五章对论文主要研究内容做了概括的总结,对需要进一步研究的问题进行了讨论。 一d 一 东北大学硕士学位论文 第二章工作流技术 第二章工作流技术 工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处 理过程自动化,使人以及各种应用工具相互之间协调工作,以完成某项工作。工 作流管理可以在办公环境( 如保险、学校、银行、法律、行政管理等) 以及工业 和制造业等领域得到广泛应用。工作流管理的目的是为了让适当的人或软件在恰 当的时间执行正确的工作。 2 1 工作流技术概述 2 1 1 工作流技术相关概念 工作流的概念起源于生产组织和办公自动化领域,它是针对日常工作中具有 固定程序的活动而提出的一个概念,提出的目的是通过将工作分解成定义良好的 任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提 高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。 实际上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一 直在进行,它是企业管理的主要研究内容之一,只不过在没有引入计算机信息系 统的支持以前,这些工作是由人工来完成的,在计算机网络技术和分布式数据库 技术迅速发展、多机协同工作技术日趋成熟的基础上于2 0 世纪8 0 年代中期得到 发展,工作流技术为企业更好地实现这些经营目标提供了先进的手段,工作流技 术一出现就得到广泛的重视和研究,至今工作流管理技术己成功地运用到图书馆、 医院、保险公司、银行等行业,然而它更重要的应用还是在工业领域,特别是制 造业领域中。 定义1 工作流是一种反映业务流程的计算机化的模型,它是为了在先进计算 机环境下实现经营过程集中与经营过程自动化而建立的可由工作流管理系统执行 的业务模型。 定义2 工作流管理系统( w 0 证s ) 是支持企业经营过程高效执行并监控其执 行过程的计算机软件系统,通常,工作流管理系统指运行在一个或多个称为工作 流引擎的软件上的,用于定义、实现和管理工作流运行的一套软件系统,它和工 作流执行者( 人、应用) 交互,推进工作流实例的执行,并监控工作流的运行状 态,w n 订s 是支持流程管理、模型执行的软件系统嘲。 5 东北大学硕士学位论文 第二章工作流技术 工作流系统主要由两个功能组件所组成:工作流建模组件和工作流执行组件。 工作流建模组件主要为工作流建模人员提供一个建立时( b u i l dt i m e ) 环境,使得 它们可以定义、分析和管理工作流模型:而工作流执行组件的主要功能是为工作 流的创建、执行和管理提供一个运行时( r u nt i m e ) 环境。在工作流执行过程中, 工作流执行组件可能与用户或者外部应用交互,从而完成工作流的执行。除此之 外,工作流管理系统还包括其它一些功能,如工作流实例监控。 2 1 2 工作流管理系统参考模型 市场上工作流产品的种类在迅猛增长,同时工作流技术也得到不断完善。在 实际应用中,人们需要集成使用各种各样不同的工具来对工作流进行建模、归档 和分析。为了适应对工作流管理系统产品集成的需求,工作流管理联盟( 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 ) 提出了有关工作流管理系统的一些规范,定 义了工作流管理系统的结构及其与应用、管理工具和其它工作流管理系统之间的 应用编程接口,其主要目的是为了实现工作流技术的标准化和开放性,从而支持 异构工作流管理系统与产品之间的互操作,实现与其它应用的快速有效集成。下 面我们将介绍工作流管理系统的体系结构【”。如下图所示: 下面我们对此模型作一个简要说明。 ( 1 ) 过程定义工具 主要功能是给用户提供一种对实际业务过程进行分析、建模的手段,并生成 业务过程的可被计算机处理的形式化描述( 过程定义) 。这也就是建立时功能的 主要内容。过程定义工具与工作流执行服务之间的交互是通过接口1 ( 工作流过程 定义读,写接口) 完成的,它为工作流过程定义信息的交换提供了标准的互换格式 及a p i 调用。 ( 2 ) 工作流执行服务 它借助于一个或多个工作流引擎,来激活并解释过程定义的全部或部分,并 同外部的应用程序进行交互来完成工作流过程实例的创建、执行与管理,如过程 定义的解释、过程实例的控制( 创建、激活、暂停、终止等) 、在过程各活动之 间的游历( 控制条件的计算与数据的传递等) ,并生成有关的工作项通知用户进 行处理等等,为工作流程的进行提供一个运行时环境。工作流执行服务一般是由 一个工作流引擎提供的。在大型w f m s 中,工作流的运行时控制可能需要多个工 作流引擎共同完成,例如某个大的工作流过程中可能会包含多个子流程,这些子 流程就可以由另外的工作流引擎来提供运行时控制环境,甚至这些子流程可能需 一6 一 东北大学硕士学位论文 第二章工作流技术 要其它异质的工作流执行服务来完成。这点涉及到w f m s 系统之间的互连。为 实现有效的互连,需要定义互连模型、互连一致性级别及操作元素集。这些将构 成接口4 ( 互操作接口) 的内容。 过程定义工具 建立时的功能 工蛩理卢 工作洫p i 与交换形式 l 其它工作流执行服务 接d 4 1 = = = 工作流客户 l 工作流引擎直接i 同用户及应用软件 应用调用的应用的交互功能 图2 1 工作流管理系统参考模型 f i g 2 1t h er e f e r e n c em o d e lo fw o r k f l o wm a n a g e m e n ts y s t e m ( 3 ) 客户应用程序 它的作用是给用户提供一种手段,以处理过程实例运行过程中需要人工于预 的任务。每一个这样的任务就被称作是一个工作项,它包括处理上的一些要求( 如 处理时间的限制) 及待处理的数据对象等。w f m s 将为每一个用户维护一个工作 项列表,它表示当前需要该用户处理的所有任务。客户与工作流执行服务之间的 接口为接口2 ( 客户应用程序a p i ) 。w f m s 的各种服务,如会话连接、过程控制、 活动控制、过程状态、活动状态、工作项列表的处理以及过程实例的管理等都可 以通过此接口而得到。 ( 4 ) 被调应用程序 指工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处 理的应用程序。在过程定义中包含有这种应用程序的详细信息,如类型、地址等。 目前已有的几种方式包括应用代理( 它通过一个标准的接口同执行服务进行交 互) 、某种标准的互换机制( 如o s i t p 协议或x 4 0 0 等) 、本地过程调用、远程 执行调用、o r b 等。接口3 的目标就是提供一些标准的服务供应用代理使用。基 于这些服务也可以开发如一些专门的应用直接同工作流执行服务交互。关于这些 一 一 东北大学硕士学位论文 第二章工作流技术 服务的语义及语法细节还有待更深入的研究。目前初步确定的服务大致可分成会 话建立、活动管理( 双向的) 以及数据处理等几类。 ( 5 ) 管理及监控工具 其功能是对w f l v i s 中过程实例的状态进行监控与管理,如用户管理、角色管 理、审计管理、资源控制( 包括过程管理及过程状态控制等) 。它与工作流执行 服务之间的交互是通过接口5 ( 管理及监控接口) 完成的。该接口规范详细描述了 需要从过程执行过程所发生的各种事件上捕获和记录的各种信息( c o m m o n w o r k f l o wa u d i td a t a ,c w a d ) ,如过程实例信息、活动实例信息、工作项信息及 远程操作信息等。上述五个接口被统称为w 砌o w a p i ( w a p i ) 。这些标准的制 定对于实现不同厂家的产品之间的互操作( 如用一个厂家的管理与监控工具去管 理另外一厂家的工作流执行服务) 及基于工作流执行服务开发新的应用具有重要 意义。 2 1 2 工作流技术的未来发展 在工作流技术应用日益得到重视的今天,对工作流技术的研究也正在向更深 层次进行。工作流技术研究主要分为两方面内容:一是为工作流技术的发展解决 理论上存在的问题,探讨工作流模型和语义的形式化表示方法等;二是从工作流 实现技术的角度探讨利用先进的技术提高工作流管理系统的性能和可靠性。以下 主要讨论工作流实现技术的发展趋势。 ( 1 ) 工作流过程建模:包括工作流过程模型和过程描述语言的研究。 ( 2 ) 基于w e b 的工作流:工作流可以通过w e b 扩展到多个企业,并将实 现多个基于w e b 的工作流服务器之,间的协同工作。 ( 3 ) 代理技术与工作流管理技术的结合:在分布对象技术的基础上,充分发 挥工作流技术在灵活性方面的优势和代理技术在知识表达、事务处理、智能性能 方面的优势,以工作流管理为基础,以代理技术为核心,将开发出具有良好前景 的应用软件产品。 ( 4 ) 分布式工作流:工作流管理系统从原来的只能支持单一的工作组环境开 始,逐步发展到现在可以支持企业级( 甚至企业间) 的工作流环境。 ( 5 ) 工作流互操作:互操作的研究主要包括两方面:工作流模型的互操作和 工作流系统的互操作。 ( 6 ) 工作流事务管理:事务管理充分保证了数据操作、数据存储和系统管理 的正确性、可靠性和可管理性。 一8 一 东北大学硕士学位论文第二章工作流技术 ( 7 ) 面向对象的工作流:关于面向对象的工作流管理系统( 0 0 w o “s ) 的研 究主要有两个方面:其一是指w f m s 本身的实现使用了o o p 的方法,另一方面 是关于面向对象的过程模型。 ( 8 ) 工作流模型的分析和仿真工具:引入仿真和性能监控工具,将不可避免 地成为新一代工作流产品的发展趋势。 2 2 工作流模型 2 2 1 常见的工作流建模方案 在研究工作流管理系统的过程中,研究人员先后提出过不同的形式化方法来 描述现实世界中的业务过程建立工作流模型8 1 ,常见的工作流模型有: s a d i q 和o d o w s k a 使用图形符号语言来描述业务过程。这些符号分为两类:节 点和变迁,节点又分为任务节点( 用方框表示) 和协作节点( 用圆圈表示) 。任 务节点继续分为活动节点、子过程节点、活动块节点和空节点,协作节点表示选 择( c h o i c e ) 合并( m e r g e ) ,也就是分别代表或分叉( o rs p l i t ) 与或合并( o r j o i n ) 。 变迁为连接两个节点之间的有向边,表示节点之间的执行顺序和数据流动关系。 使用这种方法可以将业务过程表示为一个有向无环图( d i r e c t e da c y c l i cg r a p h , d a g ) ,它有一个开始节点和一个结束节点。 a a l i t 通过定义工作流网( w o r k _ f l o wn e t ,w 烈e t ) 来描述业务过程。w f n e t 是只有一个源位置( s o u r c ep l a c e ) 和一个漏位置( s i n kp l a c e ) 的p e t r i 网【9 】,其中 标记( t o k e n ) 表示工作流的状态。使w f n e t 可以形式化地描述业务过程,而且可 以证明w f n e t 同样满足一般p e t r i 网的某些特性,如有界性、活性。 e n d l 等人使用扩展e c a ( e v e n tc o n d i t i o na c t i o n ) 规则( 即e c a a 规则) 来 描述业务过程。一个e c a a 规则表示一条业务规则,其含义是当事件( e v e n t ) 发 生时,如果条件( c o n d i t i o n ) 为真,则执行某个动作( a c t i o n ) ,否则执行另一个动作 ( a l t e r n a t i v ea c t i o n ) 。除此之外,使用e c a a 规则还可以描述业务过程中的数据 模型和执行者。 2 2 2 基于活动网络的过程模型 在第四章讲述的工作流建模工具的设计时,我们采用的是基于活动网络的过 程模型,因此,在这对该模型做简要的介绍。 基于活动的方法将过程归结为一个活动和子活动形成的网络,模型分为过程 逻辑和任务逻辑两部分,过程逻辑着重描述活动( 或任务) 间的控制依赖关系, - 9 - 东北大学硕士学位论文 第二章工作流技术 它是对过程较高级别的抽象。任务逻辑着重定义具体活动或任务执行时所需的细 节信息,包括信息对象、执行者绑定、事件处理器、应用工具等。 在基于活动的建模方法中,一个完整的工作流过程由一个无字环的有向图构 成。有向图中的节点元素表示可执行的步骤或任务,节点间的连接弧代表了过程 中的控制流和数据流。组成模型的元素包括过程( p r o c e s s ) 、活动( a c t i v i t y ) 、 模块( b l o c k ) 、控制连接弧( c o n t r o lc o n n e c t o r ) 、数据连接弧( d a t ac o n n e c t o r ) 和条件( c o n d i t i o n ) 。 ( 1 ) 过程:由一系列具体的步骤组成,为完成某一预定的目标而定义,一个 过程就是用有向图来表示的一个工作流。 ( 2 ) 活动:过程中的每一个步骤是一个活动,在图中由一个节点元素来表示。 它可以是程序活动( p r o g r a ma c t i v i t y ) ,也可以是过程活动( p r o c e s sa c t i v i t y ) 。程 序活动是指为活动绑定了一段程序代码,当活动开始时,相应的程序就执行。过 程活动则是在活动的基础上嵌入了一个过程,当活动开始时,也就开始了相应的 过程,过程活动主要用于子过程的嵌套描述与模型的层次化分解。 ( 3 ) 模块:有些类似于“过程”,二者的区别在于,一个过程有一个唯一固 定的标识,可以在不同的工作流中使用。而模块则没有这一项,它只能被一个工 作流过程所使用。 ( 4 ) 控制连接弧:用来定义两个活动之间的执行顺序,在有向图中以节点间 的连接弧表示。 ( 5 ) 数据连接弧:定义两个活动间的信息流,在有向图中也以节点间的连接 弧来表示。 ( 6 ) 条件:用于定义过程执行中的约束,主要分为三种基本类型,属于活动 外部的有一种,即转移条件,属于活动内部的有两种:开始条件和结束条件。 基于活动网络的建模方法是简单、直观、便于理解,适合于流程较为固定, 异常情况较少的生产型工作流的建立,有利于企业规范自身的内部流程。 2 3 工作流元模型及d l 2 3 1 工作流元模型 元模型( m e t a - m o d e l ) 是用来定义语义模型的构造( c o n s t r u c t ) 和规则( r u l e ) 的,通常称为定义表达模型的语言的模型。工作流的元模型是用于描述工作流内 部的各个元素、元素之间关系及元素属性的【1 2 1 。 一1 0 一 东北大学硕士学位论文第二章工作, l 4 t 术 工作流元模型通常涉及相互关联的3 个子元模型,即: ( 1 ) 过程定义元模型:模型元素用于定义业务过程,控制工作流的执行。 ( 2 ) 组织机构元模型:描述单位、部门、人员的组织关系以及所担当的角色。 ( 3 ) 相关数据元模型:工作流“生产”和“消费”的数据以及它们的流动关 系。 元模型描述了过程定义中包含的顶级实体的关系和属性( 包括用于模拟或监 控目的定义的实体,而不仅仅用于执行过程中) 。同时也定义了把过程定义组合 成相关过程模型的约定以及多个不同过程定义或模型中通用定义数据的使用。 元模型定义了过程定义中使用的基本实体,顶级实体介绍如下: ( 1 ) 工作流过程定义实体:过程定义实体提供了应用于过程中其他实体的上 下文信息,它是过程的一个容器,提供与管理相关的信息( 创建日期,作者等) 或者在过程执行中使用( 使用的初始化参数,执行优先级,需检查的时间约束, 通知人,模拟信息等) 。 ( 2 ) 工作流过程活动:过程定义由一个或多个活动组成,并且每个活动都包 含整个过程中的一个逻辑的、自包含的工作单元。一个活动代表一个需要由一些 相关资源处理,或者由计算机应用程序处理的任务。有些信息是与活动相关的。 一个活动也许是一个子流程,在这种情况下,这个活动是一个特定的、分离 的过程定义的执行容器,这个过程可能在相同的工作流服务器上执行,或者在远 程服务器上执行( 通过使用过程互操作接口) 。过程定义允许在子流程中可以包 含其自己的活动定义、内部转换、资源和应用程序的分配,即使这些是从父流程 中继承过来。使用输入输出参数可以实现必要的工作流相关数据在调用与被调用 的过程间进行交换。 有的活动或许是一个区块活动,负责执行一个活动集,或者对转移和活动进 行映射。活动集中的活动、转移共享过程的名称空间。 最后,虚活动是一个活动骨架,不执行任务处理,因此,不需要为其分配资 源和应用程序。但虚活动负责在输入转移、输出转移间进行判断和选择路由。 ( 3 ) 转移信息:活动间通过流程控制条件( 转移信息) 相互联系起来。每个 转移都有三个基本的属性:源活动、目的活动和转移条件。从一个活动到另一个 活动的转移可能需要转移条件,用来判断转移是否可以进行,也可能不需要转移 条件。转移能产生一个连续的活动序列,也可能产生一系列并行执行的活动。一 个转移离开一个活动的相关信息( 离开动作) 以及这个转移进入另一个活动的条 件( 进入动作) ,都在相应的活动中进行定义。离开动作是当一个转移要结束、 一】1 一 东北大学硕士学位论文第二章工作流技术 目标活动要开始时在转移的目标活动中被处理。通过“离开动作”和“进入动作”, 可以把与单线程或同步执行的过程实例的工作流控制,作为相关活动的一部分进 行管理,而且还能够保留转移的简单路由分配功能。一个转移的范围局限于包含 这个转移机器相关活动的过程定义。 ( 4 ) 工作流参与者声明:工作流参与者声明描述了在过程定义中各个活动的 执行者所需要的资源。特定的资源可以分配给特殊的活动,并且作为活动的一个 属性来进行说明。资源分配把活动与可以为其使用的资源集( 工作流参与者声明 中描述的资源) 联系起来。当资源是一个人时,工作流参与者声明不是必须的。 元模型包含了一些简单的资源类型,这些资源也许能在工作流参与者声明中用到。 ( 5 ) 资源库:资源库说明了参与者可以是人,程序或机器。在比较严格的情 况下,参与者声明会引用资源库,如果参与者是人,该资源库可能是一个组织模 型。 ( 6 ) 工作流应用程序声明:工作流应用程序声明描述了工作流服务需要调用 的i t 应用程序或者接口。工作流服务调用这些应用程序和接口来支持对相关活动 进行处理,这些应用程序以及接口在活动的应用程序属性中定义。被调用的应用 程序可以时工业工具软件、特殊部门( 企业) 服务、或者在工作流系统中实现的 本地过程( 方法) 。工作流外部程序声明反映了工作流引擎与外部应用程序之间 的接口,包括任何传递参数。 ( 7 ) 工作流相关数据:工作流相关数据是指那些在过程运行期间,每个过程 实例都需要用到的或者创建的数据。活动或者过程在执行时必须得到这些数据, 这些数据也可以用来在活动间传递持久信息或者中间结果。在条件表达式中也可 能需要这些数据,例如,在转移和参与者分配中。工作流相关数据时一种特殊的 数据类型。x p d l 中定义了一些基本的和复杂的数据类型( 例如,d a t e ,s t r i n g 等) 。 活动、被调用的程序以及转移条件都可能涉及到工作流相关数据。 ( 8 ) 系统和运行环境数据:系统和运行环境数据是由工作流系统或者本地系 统保存的。但是,这些数据可以被工作流活动访问,被工作流系统中的条件表达 式所使用,就如同工作流相关数据一样。 ( 9 ) 数据类型和表达式:元模型中给出了一些标准的数据类型( s t r i n g , r e f e r e n c e ,i n t e g e r ,f l o a t ,d a t e t i m e 等) ,这些数据类型与工作流相关数据、系统 运行数据或者参与者数据相关。需要使用这些标准的数据类型来构造表达式,从 而进行条件计算。可以使用x m ls c h e m a 或使用外部资源中的参考数据定义来对 标准数据类型进行扩充。 一1 2 东北大学硕士学位论文 第二章工作流技术 ( 1 03 工作流过程定义:表示一种由工作流系统设定的自动操作为形式的商 业过程,过程定义由各种活动以及相互之间的网状关系组成,标识了过程的开始 和终止,并且包含了个体行为的信息,比如参与者、与i t 相关的应用程序和数据 等。对于一个过程定义,必须指定如下实体,或在过程定义中明确指出,或直接 通过从周围的包中继承或引用,这些实体包括:工作流过程活动、转移信息、工 作流参与者规范、工作流应用声明、工作流相关数据。 在模型定义中,很多过程彼此之间联系很大,为此定义了包这一概念,包作 为组合多个单独的过程定义以及与之关联的实体,就像一个容器,对许多不同的 过程定义中的通用数据实体进行分组,从而避免在每一个单独的过程定义中重复 定义那些数据。包中存放了许多工作流过程定义实体的公共属性( 作者、版本、 状态等) 。包中的每一个过程定义都自动继承包中的公共属性,除非在过程定义 中那些属性被个别的重新定义。在包中,有些实体的定义范围是全程的,并且这 些实体能被同一包中的工作流定义所应用。这些实体包括工作流参与者描述、工 作流外部应用程序声明、工作流相关数据。 2 3 2x p d l 过程定义语言 为了更好的理解工作流管理中的有关概念,在介绍x p d l 过程定义语言之前, 首先阐述一下工作流过程定义语言,工作流,工作流元模型以及工作流模型这几 个

温馨提示

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

评论

0/150

提交评论