搜索
您的当前位置:首页正文

基于角色的工作流管理系统研究

来源:知库网
维普资讯 http://www.cqvip.com

计2008年第5期 算机与现代化 总第153期 JISUANJI YU XIANDMHUA 文章编号:1006-2475(2008)05-0060-03 基于角色的工作流管理系统研究 毛雪芹 ,刘厚泉 ,魏利峰 (1.中国矿业大学计算机科学与技术学院,江苏徐州221008;2、沈阳航空工业学院管理系,辽宁沈阳110136) 摘要:工作流是业务过程的全部或者部分自动执行。将业务过程进行抽象建立过程模型是工作流管理的第一步。以活 动为中心的工作流管理系统过于强调执行的过程,忽略了流程管理中的主动因素——角色。本文主要以角色为中心建 立业务流程模型,通过角色的交互实现业务目标,角色及其核心元素使用XML定义。流程通过角色之间的交互来实现。 给出了适用于角色模型的工作流管理系统的体系结构。 关键词:模型;角色;工作流管理系统 中图分类号:TP315 文献标识码:A Study of Role-based Workflow Management System MAO Xue—qin ,LIU Hou—quan ,WEI Li—feng 一 (1、School of Computer ciSence and Technology,China University of Mining and Technoloy,Xuzhou g221008,China; 2,Department f oManagement,Shenyang Insittute of Aeronautical Engineering,Shenyang 110136,China) Ab ̄ct:Workflow is the automation of a business process in whole or part.To abstract the business process and model business process modeling is the first step of work ̄ow management.Activiy-centtered work ̄ow management system emphasizes process ex.- eeution so much hatt the role of het orgniazation is ignored.This paper mainly estblaishes business process by roles.Business’S goals are achieved by role’s interaction、Role and its elements are expressed by XML.PrOCeSS is expressed by role’S interaction、 This paper also igves an architecture applying this ore-lbased mode1. Key words:model;role;work ̄ow management system 0 引 言 业务流程管理(BPM)成为企业业务流程重组的 为中心的流程管理明显地在这方面存在着不足,难以 适应企业的发展。 核心,而工作流技术随着信息技术的发展,也逐渐成 为BPM的核心技术。现实世界中,流程的管理实际 上是由多个承担不同角色参与者协作完成。角色是 流程的主动因素,能够利用企业或者系统的资源,能 动地完成流程的管理。研究表明,几乎每个事件的发 生都可以找到角色的因素 J。 而目前的工作流管理系统,多是基于活动的,以 工作流模型是工作流执行的前提和基础。本文 主要讨论工作流模型的建立,首先综述了研究现状然 后在原有定义基础上对基本定义进行补充和完善,之 后借鉴WFMC工作流管理系统 的原型给出一个基 于角色工作流管理系统的框架,并且给出了引擎的执 行算法。 1研究现状 WFMC在工作流元模型定义时,使用到了角色, 以便于将流程分配给抽象的单元,而流程的具体执行 目前的很多研究也是基于这一原则,根据RBAC模型 活动为中心进行管理。这在小规模的企业管理中尚 可以维持。’然而随着网络的发展,组织之间、企业之 角色的协调,强调流程处理的灵活性。传统的以活动 收稿日期:2007-04-29  间的合作越来越明显,组织之间的流程管理更加强调 者可以动态地改变,提高了系统的灵活性和安全性。作者简介:毛雪芹(1981一),女,江苏丰县人,中国矿业大学计算机科学与技术学院硕士研究生,研究方向:计算机协同,工作 流管理;刘厚泉,江苏徐州人,副教授,研究方向:网络信息集成,计算机协同,代理技术;魏利锋(1978.),男,内蒙古霍林郭 勒人,沈阳航空工业学院管理系讲师,硕士,研究方向:高网络安全可用集群服务器。 维普资讯 http://www.cqvip.com

2008年第5期 毛雪芹等:基于角色的工作流管理系统研究 6l 来进行角色建模 。以RBAC模型为基础的角色工 作流研究仍然是将活动作为流程的核心,只是在流程 实例执行时将角色进行权限匹配进而绑定到活动。 不能体现现代管理理念中人这一核心元素。 文献[1]提出了基于角色建立工作流模型,该模 型以角色为中心,定义了二元工作流模型P::=< Role,Relation>,其中Role表示角色集合,Relation表 示角色之间的协作关系。二元模型从满足顾客的要 求分析,流程的基本组成元素是角色及其协调关系, 每一角色有输入与输出参数集。活动和关系只是角 色及其合作的外在表现。该模型可以说是基于Yoon 的角色模型,但只是简单地给出了流程的定义,对流 程的组成元素并没有详细的定义,而且在系统如何实 现时,只是简单地提到使用ECA规则进行活动转换。 整体研究可以说只是从抽象理论提出基本概念。 文献[5]在二元模型的基础上,提出了一个基于 角色的三元工作流模型。模型定义P::=<Role,E— Relation,O—Relation>,其中,E—Relation是基于活动的 事务关系,描述了流程执行过程中属于不同角色的活 动间的协作关系,O—Relation是组织依赖关系,描述的 是流程参与者之间在企业组织结构中所表现出来的 级别从属关系。该模型在实现时采用已有的引擎实 现,工作流管理系统中并未体现角色的特点,整体上 看是RBAC模型的变形。 文献[6]将角色模型的理论扩展至跨组织环境, [跨组织动态商业]提出一种基于角色视图的方法, 将工作流管理系统映射为角色,以角色来包装流程服 务,通过发布服务来提供网络流程支持。至此,以角 色为中心的工作流研究扩展至Internet环境中跨组织 流程的交互。 有该消息处理的任务队列。每一条消息可以代表业 务流程的一个工作结果、信息、条件和状态。角色之 间的流程由角色之间互发的消息进行控制。角色包 括了角色的扮演关系、状态关系和活动关系 。 定义1角色: Role::=<ID,S,P,O,A,Parameters>。 各属性定义如下: ID是系统实现时,对角色的标识,类似于以活动为中心 的流程定义中活动的标识。 S={S;},指的是角色的状态。角色的状态由其所执行的 活动的状态来决定。 P={P;},权限集合。定义了角色为履行其义务所必需具 备的各种业务职能,以及能够利用的资源。 O:{O;},是角色的义务集,定义了角色必须完成的任务 目标和要达到的目标,它反映了角色的目标和行为约束。另 外,角色的义务集也反映了角色之间的组织关系,即在组织内 部,角色之间的相互负责关系。 Parameters定义了角色参数集合,用于存储角色运行的条 件或者运行参数。 A={a;},指的是角色的活动队列,即角色在某一时刻分 配到的活动序列。活动单元具有挂起、运行、关闭状态。 对于每一个活动,定义了活动的类型、动作、执行 2基于角色的工作流模型 角色是指演员扮演的剧中人物。社会学中将角 色定义为与社会地位密切联系的、对应于一系列角色 期望的、有赖于个体认知和实践能力的一套行为模 式。因此,角色是权限与责任的集合体。在企业内 角色以及输 输出参数。即A={a l a =<type, role,inputs,outputs,action>}o其中,role∈Roleo in— puts/outputs是输,/V输出的关于action的控制信息 和数据信息。action是具体的操作,action∈{role. P},即action在角色role的许可集当中。type是活动 的类型,可以是人工活动,也可以是系统的自动活动。 文献[1]定义过程为:P=(Role,Relation),Role 指的是角色集合,表明完成该业务过程参与的角色集 合,Relation的定义过于笼统,对于角色而言,除了具 有组织机构关系之外,还具有事务协作关系,而角色 之间的交互可以通过角色间对话来完成通讯,通过对 话和业务对象的流转来实现流程的动态特性。角色 本身在定义的时候,应该包含角色自身的社会关系, 而角色间的对话内容主体是消息,消息中包含了协作 双方的事务协作信息,所以,角色的流程模型可以改 进为: 定义2角色过程模型:P::=<Roles。Conversa. tions>o 部,将角色分配给人员,人员根据自身的角色利用相 关的资源实现各自的任务目标。角色与过程的参与 者之间是多对多的关系。一个角色可以对应多个参 与者,而一个参与者也可以同时担任多个角色。 2.1角色的定义 定义3工作流中的角色集合: Role={ri},r 为工作流中的一个角色单元。值 得注意的是i=0时表示过程本身的角色标识。 2。2角色模型的表示 在工作流管理系统中,角色由活动,消息(输入/ 输出)和状态组成。一个活动定义为角色的一个独 立的任务,而每个活动可由角色的多个实例执行。一 条消息调用一个将被一个角色执行的活动。根据业 务流程中存在的顾客一供应商关系,前一个角色控制 的输出消息传递到下一个角色,然后,每个角色必须 文献[7]采用扩展的RADs来形式化地表示角色 模型。文献[1]采用EBNF形式,给出了其模型的定 义架构,但是由于EBNF形式定义的文档,在共享性 和向其他类型的数据转换性能上存在不足,而XML 作为一种标记语言,应用于工作流非常简单,对于工 维普资讯 http://www.cqvip.com 62 计算机与现代化 2008年第5期 作流管理系统中需要在不同节点或是不同平台上交 互的数据,无论什么格式,都可以把它转换为XML的 (3)过程中会话元素<Conversation>定义。 过程中的会话描述在完成该目标的过程中角色之间需要 完成的对话,会话包括角色之间的协议<Protocol>定义,协议 定义角色之间的承诺关系,每一条协议由若干个规则集< Rules>组成。Rules采用ECAA[ 形式来定义。 形式,同时,XML格式的数据又可以轻易地转化为系 统专有的数据格式。因此,本文提出使用XML作为 模型的定义语言。 目前使用最多的是XPDL 8 来描述工作流的过 程定义,然而基于角色与基于活动因为观点的不同, 所以,对于角色工作流的定义,XPDL不能够完全胜 任。角色整体可以看作是一个子过程,因而,角色内 部的活动定义可以借鉴XPDL的部分定义,而角色和 3基于角色的工作流管理系统框架 3.1角色工作流系统的功能 基于角色的工作流管理系统核心元素是角色,即 role.centric。过程以角色作为描述的主要对象。一个 以角色为核心的工作流管理系统应该包括: (1)角色定义:用来定义角色的相关信息,包括角色职责、 义务和执行目标等信息。定义结果作为角色数据来源。 (2)过程定义:用来定义过程的元素,包括过程的目标、过 程中参与的角色、角色间的交互信息、过程的状态约束。 (3)流程解释:将由工作流建模工具生成的工作流模型进 会话的定义则进行另外的定义。 如前所分析,一个工作流过程的定义,应该包含 过程的目标、参与的角色、角色之间的关系、角色之间 的交互(会话)。 由此,相对于XPDL的过程定义,XRPDL对过程 元素的扩展元素包括<Goals>、<Roles>、<Conver— sations>等,每个元素都具有ID和Name属性。 根据对模型定义的分析,限于篇幅,我们只给出 XRPDL对这几个核心元素的Schema说明。 (1)目标Goal定义Schema。 企业经营目标由过程实现,因此在定义时,过程中涉及到 的经营目标的子目标说明,通过Goal元素来定义。Goal元素 包含<Descirption>、<FormalParameters>、<GoalExpression >等元素,分别表示目标的描述,完成该目标需要的参数和可 用于该目标的表达式。角色的目标表达式GoalExpression是 行解释,得到引擎可识别的格式。在传统的工作流管理系统 中,大多是将图形化的流程定义转化成XPDL文档并对其进 行解析。面向角色的工作流引擎中将对XRPDL文档进行解 析。 (4)流程控制:按照工作流定义中的活动和参与的角色, 将活动进行角色分配,通过向会话管理器传递过程定义中的 交互信息向参与的各角色传递初始信息,以便于初始化角色 状态。 (5)角色控制:角色按照流程控制分配的活动,负责内部 活动的调度,将活动执行的结果封装成会话体,通过会话管理 器传递给其他角色,并改变自身的状态。目标角色可以是上 由多个目标组合成的复合目标表达式,其子目标可以是顺序 关系也可以是选择或者并行关系。 (2)角色、角色属性及角色关系定义Schema。 角色定义的元素包括<Description>、<Goals>、<Quali— ifcations>、<Obligations>、<Permissions>、<Performers>、 级角色也可以是下级或者同级角色。角色在计算机系统内部 的通讯依赖于角色控制功能。角色控制功能有着自身的活动 处理逻辑,除了调度执行角色内部自身自动执行的活动之外, 还要提供给人工角色的接口。用户通过接口控制会话信息和 向问题处理单元传递参数或者命令。 <Relations>分别对应角色的描述、目标、资格、成员、关系、义 务和权限属性。在这里没有对活动属性进行描述是因为在定 义时,将活动的定义包含在义务和权限之中。 角色控制器的结构如图1所示。 角色管理器 角色之间Relation的Schema主要定义角色之间的责、权、 利关系以及角色之间协作关系,是对角色社会属性的定义,其 中角色关系状态表明了当前执行角色与交互角色之间的层次 关系。因此,角色之间的关系类型包括:IS_AUTHORIZED— BY、AUTHORIZE、COOPERATEWITH。 _I对外接口 l会话列表 I l用户管理}. n j'[ I 问题处理单 l 图1角色管理器结构 角色资格Qualification定义Schema主要定义了满足该资 格的角色应该具备的条件<Conditon>,该元素的定义在xP. DL中有详细的描述。 角色的参与成员Performer定义扮演该角色的成员。担 3.2角色工作流系统引擎执行算法 任该角色的成员除了具备角色类型之外,还有对应其自身的 类型。角色承担者可以分为人工成员、具有自动处理问题功 根据工作流的定义,给出工作流过程实例的执行 算法如下。该算法由两部分组成:一是过程和角色实 能的系统成员和以集体为单位的组织单元成员。即其类型为 HUMAN、ORGANIZATIONALuMT或者SYSTEM。 例的创建,二是角色活动实例的执行。 算法1用户根据过程P创建过程实例Pi。 (1)从工作流管理系统中选择用户指定的过程P。 (2)根据用户选择的工作流模型P以及指定的名字,建立 一角色义务Obligaiton的Schema定义角色之间的事务等级 关系,表明角色的授权角色、收益角色和承担该义务的角色。 分别对应<AUTHORITY—ROLES>、<OBLIGATED—ROLES >、<BENIFITED—个过程实例P ,并且根据工作流角色模版中的角色建立P 中所有的角色实例R;。对过程进行初始化工作,包括P;的名 ROLES>,这些元素均由角色集合中的元 素组成。 称、系统当前的时间 P;的状态赋初值;设置(下转第65页) 维普资讯 http://www.cqvip.com

因篇幅问题不能全部显示,请点此查看更多更全内容

Top