(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf_第1页
(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf_第2页
(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf_第3页
(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf_第4页
(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf_第5页
已阅读5页,还剩89页未读 继续免费阅读

(计算机软件与理论专业论文)工作流柔性任务建模方法及分派策略的研究与应用.pdf.pdf 免费下载

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

文档简介

中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 工作流柔性任务建模方法及分派策略的研究与应用 专业: 计算机软件与理论 硕士生:林春泉 指导教师:李磊教授 摘要 工作流的概念起源于生产组织与办公自动化领域。工作流就是工作流程的计 算模型,即将工作流程中的工作任务前后组织在一起的逻辑和规则,在计算机中 以恰当的模型进行表示并对其实施计算【l 】。工作流要解决的主要问题是,为实现 某个业务目标,在多个参与者间,利用计算机,按某种预定的业务规则传递任务, 这些任务包含业务处理对象信息和相应的操作方法。工作流系统要达到的最终目 标是在流程的运行过程中,将合适的任务在合适的时机分派给合适的用户处理。 然而,要实现工作流最终目标中的“合适性”却非常困难,以至目前大部分 工作流产品都难以达到柔性任务调度的要求。这主要是因为工作流系统中任务建 模以及任务分派的内容是复杂多变的,一方面任务描述与业务流程上下文以及业 务对象的数据特征密切相关;另一方面,由于企业为了应对市场竞争必须随时调 整各种业务策略,这决定了任务分派是工作流系统中最易变化的部分。因此,为 了实现工作流系统的最终目的,我们必须从任务建模方法和任务分派策略两个方 面来考察研究。其中,工作流任务的建模方法是基础,而实现柔性任务分派是最 终的目标。本文的研究成果建立在柔性任务模型和分派策略的基础之上,基本解 决了工作流中的“任务分派 问题。 本文参考了中山大学软件研究所提出的基于主谓宾的需求获取与分析方法 的思想对任务建模,以任务的生命周期过程以及任务的处理对象作为任务描述的 依据和核心,采用多层次和多视点组合描述问题空间各个元素、元素之间关系以 及元素属性的静态关系和动态行为关系。另外,本文从静态和动态的观点来考察 工作流任务的概念,分别提出了任务模式和任务实例的基本概念。本文还基于 e c a 规则论述了在工作流管理系统中任务实例的派生及状态变迁的详细过程。 在以上基本任务模型的基础上,本文进一步引入了用户、角色、表单、日志 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 等实体,各类实体描述为相关属性的集合并且定义了一套基于属性计算的规则表 达式,这些规则表达可用于描述任务分派过程的各种具体策略。 本文以中山大学软件研究所研发的工作流系统叫b p i p ( g l o b a lb u s i n e s s p r o c e s sp l a t f 0 1 t 1 1 ,全局流程集成平台) 为实验平台,用j a v a 语言实现了本模型, 并与g b p i p 集成为一体。最后,本文以一个案例研究介绍了模型的应用方法。 案例表明,本模型定义的各种实体以及规则描述语言能够正确、高效地描述工 作流系统中的任务分派需求,表达力强,具备实际的应用价值。 关键词:工作流、任务建模、任务分派、业务规则、e c a 规则 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 r e s e a r c ha n da p p l i c a t i o no ff l e x i b l et a s km o d e l i n gm e t h o da n d a s s i g n m e n ts t r a t e g yo nw o r k f l o w m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :l i nc h u l l q m n s u p e r v i s o r :p r o f l il e i t h e c o n c e p t o fw o r k f l o wc a m eo fo f f i c ea u t o m a t i o n a n dp r o d u c t i o n o r g a n i z a t i o n w o r k f l o w i s ac a l c u l a t i o n m o d e l o fw o r k p r o c e s s i o n , w h i c hi sas e to fr u l e sa n dl o g i ct h a t a r r a n g es o m er e l a t e dj o b s i nap r o p e r s e q u e n c e 1 1 t h ec o m p u t e rc a nw e l lu n d e r s t a n dt h o s er u l e sa n dl o g i cd e f i n e di naw o r k n o w :s oc o m p u t e rc a np r e s e n ta n dc a l c u l a tt h ew o r k f l o wm o d e li nac o r r e c tw a y t h e m a i np r o b l e mw o r k f l o wt r y i n gt os o l v e di st h a tp a s s i n gt a s k e st h a tr e l a t e dw i t h s p e c i f i c a ld a t af r o mo n ep e r s o nt oa n o t h e rb yc o m p u t e rb a s e do ns o m es t r a t e g i e sf o r t h eb u s i n e s sg o a l t h eu l t i m a t eg o a lw o r k f l o ws y s t e mt r y i n gt oa c h i e v e di st h a t m a n a g 啦t h ea p p r o p r i a t ed i s t r i b u t i o no ft a s k sa tt h er 逸h tt i m et ot h er 远h tp e o p l e d u r i l l gt h ep r o c e s so f w o r k f l o w h o w e v e r , i t ss od i f f i c u l tt oa c h i e v et h eu l t i m a t eg o a lo f a p p r o p r i a t e n e s s i n w o r k f l o w , t h a te v e nn o wm o s to ft h ew o r k f l o wp r o d u c t sa r ed i f f i c u l tt om e e tt h e r e q u i r e m e n t so ff l e x i b l et a s ks c h e d u l i n g t h i si sm a i n l yb e c a u s et h ec o n t e n to ft a s k m o d e l i n ga n da s s i g e m e n ti sv e r yc o m p l e xa n dc h a n g e a b l e o nt h eo n eh a n d ,t a s k d e s c r i p t i o n i sr e l a t e dt ot h eb u s i n e s sp r o c e s sc o n t e x ta n dt h eb u s i n e s s d a t a c h a r a c t e r s t i c s o nt h eo t h e rh a n d ,e n t e r p r i s e sm u s tb er e l yt or e s p o n dt oc o m p e t i t i o n i nt h em a r k e tt oa d j u s tav a r i e t yo fb u s i n e s ss t r a t e g y , w h i c hm e a n st h et a s k a s s i g n m e n ti so n eo f t h em o s tc h a n g e f u lp a r ti nt h ew o r k f l o ws y s t e m t h e r e f o r e ,i no r d e rt o a c h i e v et h eu l t i m a t e g o a lo ft h ew o r k f l o wi n t h e a p p r o p r i t e n e s s ”,w em u s tr e s e a r c hf r o mt h e s et w oa s p e c t s :t a s km o d e l i n gm e t h o d a n dt a s ka s s i g m e n ts t r a t e g y a m o n gt h e m , t a s km o d e l i n gi st h ef o u n d a t i o n , a n d f l e x i b l et a s ka s s i g n m e n ti st h eu l t i m a t eg o a l t h ep u r p o s eo ft h i sp a p e ri st os o l v et h e w o r k f l o w t a s ka s s i g n m e n t p r o b l e m t h i s p a p e rm a d er e f e r e n c e t oas u b j e c t - p r e d i c a t e - o b j e c tb a s e d r e q u i r m e n t i i i 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 a c q u i s i t i o na n da n a l y s i sm e t h o d 丘o ms u ny a t s e ni n s t i t u t eo fs o f t w a r e i nt h i s m e t h o d ,w em a k ed e a l i n gw i t ho b j e c t sa st h et a s kd e s c r i b e dt h eb a s i sa n dc o r e ,a n d m a k em u l t i - l e v e la n dm u l t i - p e r s p e c t i v ec o m b i n a t i o nd e s c r i p t i o no ft h ep r o b l e ms p a c e f o re a c he l e m e n t ,t h ee l e m e mr e l a t i o n s h i pa n de l e m e n ta t t r i b u t e ss t a t i cr e l a t i o n sa n d d y n a m i cb e h a v i o rr e l a t i o n s i na d d i t i o n , 舶mas t a t i cv i e w , t h i sp a p e rd e f i n et h e c o n c e p to ft a s km o d e lw h i l ef r o mad y n a m i cv i e w , t h i sp a p e rd e f i n et h ec o n c e p to f t a s ki n s t a n c e t h i sp a p e ra l s ee x p l a i nt h ed e t a i lp r o c e s s i o no fh o wt a s ki n s t a n c e c o m i n gi n t ob e i i l ga n dh o w i t c h a n g ef r o m eo ns t a t et oa n o t h e rt h r o u gi t sl i f tc y c l e b a s i n go ne c a r u l e b a s e do nt h eb a s i ct a s km o d e la b o v e ,t h i sp a p e ri n t r o d u c e st h eu s e r , r o l e ,f o r m , s c h e d u l el o ga n do t h e re n t i t i e s ,v a r i o u st y p e so fe n t i t i e sd e s c r i b e da sac o l l e c t i o no f r e l a t e d p r o p e r t i e s a n dd e f i n eas e to fr u l e sb a s e do n p r o p e r t i e s c a l c u l a t e d e x p r e s s i o n s e x p r e s s i o no ft h e s ea r i e sc a nb eu s e dt od e s c r i b ev a r i o u st a s k sa s s i g n e d s t r a t e g i e s i nt h i sp a p e r , w em a d et h eg b p i p ( g l o b a lp r o c e s si n t e g r a t i o np l a t f o r m ) w h i c hi s aw o r k f l o ws y s t e mb u i l tb ys u ny a t s e ni n s t i t u t eo fs o f t w a r ea st h ee x p e r i m e n t a l p l a t f o r m , u s i n gj a v al a n g u a g et oi m p l e m e n tt h em o d e la n di n t e g r a t e dt h em o d e l i m p l e m e n tw i t hg b p i ef i n a l l y , w eu s e ds e v e r a lc a s e s t u d i e st oi n t r o d u c et h e a p p l i c a t i o no ft h em o d e lm e t h o d c a s e ss h o w , t h em o d e lc o r r e c t l yd e s c r i b et h et a s k a s s i g n m e n tp r o c e s s ,h a v i n gg r e a tp r a c t i c a lv a l u e k e yw o r d s :w o r kn o wt a s km o d e l i n g ,t a s ka s s i g n m e n t ,b u s i n e s sr u l e s ,e c a r u l e s 烈 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论丈作者签名:燮盔塾 日 期: 学位论文使用授权声明 如f 口弓。 本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 学位论文作者签名:积溘孓 导师签名: 日期:跏l 眸s 月s o 日日期:2 0 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 1 1 研究背景 1 1 1 本章概述 第1 章绪论 计算机软件系统发展到现在,已经从以往的简单、封闭、静态的系统演变为 现在的复杂、开放、动态的系统。传统的以数据处理为中心的企业应用系统已逐 渐不能适应企业业务灵活多变的需求。在这一背景下,以企业资源计划( e i 心) 、 工作流管理系统( 岍m s ) 和面向服务体系结构( s o a ) 为代表的新兴技术手段 应运而生,其共同特点就是以业务流程为核心,通过实现对业务流程的灵活重组 来满足业务的变更需求1 2 2 1 。 我们把上述以业务处理为核心的信息系统统称为业务流程管理系统,标准化 程度最高、应用最广泛的业务流程管理系统就是工作流系统。传统的工作流系统 以业务数据维护、安全的资源访问控制以及业务流程调度为关注点,在一定程度 上实现了企业自动化管理的目的。然而,传统的工作流系统缺乏柔性并且自动化 程度不高,难以实现工作流系统的最终目标:在流程的运行过程中,将合适的任 务在合适的时机分派给合适的用户进行处理。它们往往忽略了企业关于任务分派 的需求,或者缺乏有效的手段帮助企业及时地、动态地、合理的分派任务以及相 关资源,从而产生了“任务分派问题”。产生“任务分派问题”的根源有两个方 面:一方面是没有有效的柔性任务描述方法,另一方面是缺乏适用范围广、灵活 的且易于描述的任务分派策略。 1 1 2 任务分派问题难点及解决方法 由于组织机构错综复杂、内部分工细致入微、业务流程变更频繁等原因,企 业内部关于工作任务分派的需求越来越复杂,例如:一项工作任务需要分解以便 多人同时参与,如联合审批;一项工作任务可能有多位候选参与者,且候选者人 数多于任务所需要的任务,决策者或决策系统需要根据策略( 如任务紧急程度、 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 候选者能力、历史工作质量、兴趣爱好等) 挑选最合适者参与处理;要考虑任务 分派的负载均衡问题;任务分派策略必须能快速调整以适应企业业务流程变更的 需求;另外,为了防止欺骗并维护工作的完整性,任务分派过程还要支持相关的 安全策略,例如,要保证执行某个任务的用户不能是执行前面某个任务的同一用 户,即职责分离;最后,由于任务分派都是事前处理,因此,必须解决任务分派 的动态柔性问题,即任务分派的结果能够随环境的变化而调整。传统的业务系统 或者工作流系统都难以满足企业决策机构关于柔性任务分派的需求,这样,就导 致企业内部机构或者人员的任务分派不当,影响了企业的整体办事效率。 目前,大量学者已经开始研究在业务流程管理系统中( 包括工作流管理系统、 e r p 系统系统等) 关于任务分派的问题。任务分派问题本身具有很大的复杂性, 其难点包括以下三个方面: 第一,人们对工作流任务的理解和描述含糊,不能清晰刻画任务的静态属性 和动态属性( 即没有区分模式和实例的概念) ,不利于工作流任务的描述并开展 后续的研究工作。另外,人们对任务分派过程中的相关对象( 如操作日志、企业 组织机构、操作人员等) 描述仍然不全面、不完整。以上问题可以归结到软件工 程的需求分析与获取问题,即如何对领域问题进行建模分析,具体到任务分派问 题,就是如何描述工作流任务模型,并建立相关的任务分派策略。传统的面向对 象的需求分析方法是最有代表性的一种需求分析方法,然而,这是一种重量级的 需求分析方法,需要对等分析领域问题内所有相关元素,包括主体、客体、主体 与主体间的关系、客体与客体间的关系、主客体间的关系,整个过程缺乏侧重点 和中心线索,难以清晰地描述领域模型;另外,面向对象的需求分析与获取方法 适用于静态的信息管理系统( s ) ,例如,面向对象需求分析方法的典型产物 是静态用例图、静态o r 图、静态类图等,而不适用于强流程的、动态的业务 流程管理系统、工作流管理系统等。针对这些不足,目前出现了一些轻量级的、 动态的需求分析和获取方法,如极限编程( ) 的需求分析范式、敏捷开发( a g i l e d e v e l o p m e n t ) 的需求分析范式。针对强流程的复杂业务流程管理系统,中山大 学软件所提出了“以宾语为中心的主、谓、宾需求获取与分析方法”。这种方法 以业务表单作为需求描述的依据和核心,采用多层次和多视点组合描述问题空间 的各个元素、元素之间关系以及元素属性的静态关系( 如表单项的属性和属性计 2 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 算规则) 和动态行为关系( 如流程推导) 。以宾语为中心的主、谓、宾需求获取 思想,同样适用于任务分派问题的建模分析,以该思想解释任务分派问题,就是 如何设计并根据一定的业务规则集把业务所需的文档、信息、或者其他业务处理 对象从一个参与人传递到下一个参与人并执行相关的处理。在这里,宾语是任务 的处理的对象,主语是任务的执行者( 对于有些任务,可以缺省执行者) ,而谓 语是主语对宾语的操作。由于宾语、主语本身是一系列属性的集合,属性本身、 属性之间的计算关系都易于形式化定义;谓语本身难以用统一的方式进行描述, 但本文并不关心谓语的具体过程,将是将谓语抽象为业务逻辑程序的接口,并对 接口进行统一定义,因为,谓语也可以精确描述。综上所述,基于主谓宾的需求 获取与分析方法更有利于工作流任务模型的形式化描述、验证以及实现。 第二,现实世界复杂多交,任务分派往往是业务系统中最容易变化的部分。 企业为了自身发展需求而随时需要调整人力资源组合,改变业务调度策略,这就 要求业务流程系统也必须能快速、低成本、柔性地适应任务分派策略的调整以适 应企业的业务过程变更。第二个问题可以归结为如何实现柔性的任务分派。目前, 主要从任务分派的描述方式来解决任务分派的柔性问题。当前,有多种任务分派 描述方式:硬编码、二次开发接口、基于动态脚本、可视化图形界面、基于业务 规则【3 0 】。由于业务规则集中反应了企业实际的业务处理过程,换言之,企业业务 过程的变更都是由于业务规则、策略变化引起的,因此,本文认为,基于业务规 则的任务分派模型最贴近企业关于“柔性业务过程”的需求。另外,任务分派属 于一种事前行为,一次任务分派的结果与当时的上下文相关,而由于环境是不断 变化发展的,这样,之前的分派结果可能与当前的环境在业务规则上发生冲突。 因此,要实现任务分派的动态柔性,必须通过一种机制使任务和任务分派的结果 能够随着环境的变化而动态调整,然而,目前关于工作流任务及分派结果随环境 变化而动态调整的研究甚少。 第三,从用户角度看,任务分派属于企业日常业务处理的范畴,业务人员应 该能自主地对任务分派策略进行定义和维护,系统应该可以编译用户定义的各种 策略,调整其任务分派的行为,这样,整个过程就不需要系统开发人员进行繁琐 的二次开发,极大提高了系统的适用性和灵活性。如果是采用基于规则任务分派 模型,并且使用成熟的规则引擎作为基础,研究者一般是通过业务规则分层描述 3 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 和解释来解决用户接口问题。即规则系统的高层定义面向操作人员的业务规则, 然后针对具体的规则引擎,将高层的规则语言解释为低层的规则语言,由规则引 擎加载、解释、计算。 1 2 研究内容及意义 1 2 1 研究内容 本论文基于中山大学软件研究所的研究课题全局流程集成平台,是关于 软件工程领域的应用开发框架的研究和应用。该课题的意义在于:通过提高开发 框架对流程的描述能力和解释能力,降低在框架上进行应用开发的复杂度;实现 应用开发速度的提高和目标系统的健壮性。 本文研究的重点在于工作流系统任务描述及分派模型:模型必须能够灵活地 表达业务流程中的用户、角色、业务表单和操作动作等任务分派相关要素及它们 之间的关系;满足柔性的任务分派策略需求,并易于与现有的工作流系统集成。 通过结合全局流程集成平台的研究成果以及参考任务分派的相关文献,本文 确定采用中山大学软件研究所“以宾语为中心、主谓宾需求分析与获取 的思想 对工作流任务进行形式化的描述及建模分析,以业务表单( 宾语) 的描述为中心, 同时考察用户( 主语) 和业务表单的关系以及用户对表单的操作动作( 谓语) , 采用多层次和多视点组合描述问题空间各个元素、元素之间关系以及元素属性的 静态关系和动态行为关系。 基于上述问题域模型,本文再建立基于表单、任务实例、用户属性的规则描 述语言,研究采用业务规则来描述业务系统中的常见任务分派策略。最后,本文 基于成熟的脚本技术( b e a n s h e l l ) 设计了上述规则语言的解释器,实现了基于业 务规则的工作流任务分派机制。 1 2 2 研究意义 实现一套灵活、可定制、可扩展的柔性任务分派机制是所有工作流系统的普 遍需求,以达到“在流程的运行过程中,将合适的任务在合适的时机分派给合适 4 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 的用户进行处理 的目的。 然而,并非所有的工作流系统都具备“任务分派”的调度模块,缺少任务分 派模块的系统一般是通过这种方式分派任务的:( 1 ) 在满足访问控制约束的前提 下,所有用户的优先级是平等的,要获取业务操作对象,例如表单,用户需要以 抢占的方式去抓取。( 2 ) 系统必须通过安全的“访问控制 机制以判断用户是否 具备访问相关业务操作对象的权限或者其他条件。( 3 ) 访问控制的过程还要进行 资源冲突判断,以确保用户对业务操作对象的获取是“独占 的。 通过访问控制实现任务分派存在诸多局限性:( 1 ) 由于用户以主动抢占的方 式获取表单,缺少全局调度机制,这样就容易造成部分用户持续等待、表单分派 不均的情况,从而影响了业务流程的执行效率。( 2 ) 这种方式仅能支持有限的任 务分派策略( 如:职责分离、排他型或肯定型) ,这主要是由于它们关注的是任 务分派的安全性和时效性,而没有很好地考虑任务分派的合理性。( 3 ) 程序执行 效率低,如果业务表单的数量是m ,用户的数量是n ,则要进行m x n 次访问控 制操作和资源冲突检查。 本文研究的任务分派模型独立于工作流系统的访问控制模型,能从系统应用 的层次考虑任务分派的合理性和安全性;并且通过业务规则语言,可以描述出灵 活的任务分派策略,从而实现了柔性的任务分派机制,即“在合适的时机将合 适的任务分配给合适的用户”的“合适性 。最后,本模型具备动态特性,即任 务和任务分派的结果能随着环境的变化而动态调整。 本文的成果不仅能够应用在全局流程集成平台中,弥补平台在任务分派方面 的不足,由于其理论独立性、完整性,还能够应用在不依赖于全局流程集成平台 的工作流系统或其业务流程管理系统中。 1 3 论文组织结构 本文后续章节的组织结构如下: 第2 章主要是介绍本文相关基本概念以及任务分派的研究和应用现状,并分 析了各种任务分派方式的优势和劣势,最后提出本文任务分派模型的基本原理和 目标。 第3 章对柔性任务模型以及基于规则的任务分派策略进行形式化描述和分 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 析。 第4 + 章主要讨论本文任务分派模型的具体实现技术及其与全局流程集成平 台的集成方法。首先简单介绍b e a n s h e l l 引擎和全局流程集成平台,接着从软件 设计角度给出了模型的具体实现方案,最后讨论了该模型实现方案与全局流程集 成平台的整合方法。 第5 章为案例应用分析,通过一个实际的例子来展现本文提出的任务分派模 型是如何灵活地描述应用系统中的任务分派策略,从而满足业务流程管理系统中 的柔性任务分派需求。 第6 章是总结和展望,首先对本文的研究工作做了系统的总结,接着对本文 中不足之处及下一步的研究方向做了展望。 6 中山大学硕士学位论文 工作流柔性任务建模方法及分派策略的研究与应用 第2 章研究现状 2 1 相关概念与预备知识 2 1 1 工作流系统与业务流程管理系统 业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,b p m ) 在维基百科【l 】中被定 义为:b p m 是一种帮助组织实现高效随需应变的手段,是一个全面的管理办法, 通过技术实现业务的创新、灵活和集成,从而促进业务效能和效率的提升。组织 为了达到其业务目标,使用b p m 来改进其流程,通过流程定义、流程度量和流 程改进进行持续的流程优化。而业务流程管理系统( b u s i n e s sp r o c e s sm a n a g e m e n t s y s t e m ,b p m s ) 即指采用计算机技术手段,用于实现业务流程管理目标的软件 系统。 其中,工作流系统是标准化程度最高、最具代表性的业务流程管理系统。由 于业务流程管理系统涉及到复杂的上下文情景和业务对象,这就要求任务分派机 制必须具备强大的描述和表达能力;另外,业务流程管理是一个动态的过程,在 管理期间,业务流程必须随着业务目标的变更而作出相应的改进优化,这就要求 用于这类系统的任务分派策略能够灵活地根据业务规则灵活变更;最后,环境的 变化也要求任务分派的结果能根据业务规则动态调整。 2 1 2 基于主谓宾的需求获取方法 在第一章文本提到工作流任务分派面临的几个重要问题,其中第一个问题, 即难以对“任务 进行准确的描述,往往是由于缺少一种有效的需求获取与分析 的方法引起的。虽然传统的面向对象的需求分析方法现在已经普遍采用,并且其 在描述系统整体需求方面效果明显,但是由于这种方法为了描述问题的完整性, 往往将领域问题内的主体、客体、主体与主体间的关系、客体与客体间的关系以 及主体对客体的操作手段同时考虑,这样大大增加了需求获取的难度,导致问题 描述含糊,使软件设计者无法从需求分析阶段平滑过渡到系统设计阶段。 针对这个问题,中山大学软件研究所创造性的提出了一种基于主、谓、宾的 7 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 需求获取与分析方法【2 1 。这种需求分析方法从逻辑的观点来解释软件工程中关于 系统需求分析的概念,认为软件系统的需求获取工作就是获取并描述软件系统的 主语、谓语、宾语以及它们之间的关系,其中主语是软件系统的使用者( 或者最 终用户) ,谓语可以理解为系统使用者可以执行的操作或功能,宾语就是主语操 作的对象,通常是企业的相关数据( 包括单据、表单等) 。这样一来,需求获取、 分析的主要工作是要弄清系统的主语有哪些,他们之间是什么关系,他们分别能 执行什么功能,产生哪些数据或对哪些数据产生影响等。以上这些实际上可以归 结为获取系统的主语、谓语、宾语及其关系,并通过它们来刻画系统的功能需求。 并且,这种需求分析方法提倡将对宾语的分析做为需求分析的基础,并且采用对 宾语的描述方式来描述主语。因为宾语实际上系统处理的业务对象,与系统的业 务功能密切相关,通常指各种业务表单,通过分析表单以及表单流,有助于我们 理清系统需求。另外,由于表单实际是各种表单项的集合,即数据属性的集合, 表单项的数据类型是可枚举的( 整型、浮点型、日期型、字符串型等) ,易于踩 用形式化的描述方法;主语( 用户) ,同样可以认为是数据属性的集合;然而, 谓语,即主语对宾语的作用手段,往往对应于一段以主语和宾语作为输入参数, 最终作用于宾语的业务逻辑程序,这些业务逻辑程序本身就是不可枚举并且难以 进行形式化描述的。 2 1 3 工作流系统中的任务 在当前大部分研究中,都将工作流任务定义为是工作流管理系统中的一个逻 辑单元。它是一个可以区分的作用在特定业务对象上的动作,可能与多个用户相 关,也可能包括几个子任务( 如联合审批) 。 传统的定义直观、易于理解,但是直接作为任务分派的基础仍然存在诸多问 题。其根本原因是没有深入分析工作流任务的特点,没有区分关于任务的静态概 念( 共性抽象) 和动态概念( 可变描述) ,即没有区分模式和实例。例如,传统 的任务定义将操作动作和操作对象进行静态的关联,但是在实际的业务流程管理 系统中,特定的操作能否作用在特定的对象上往往与上下文条件或者操作对象的 属性特征相关;此外,工作流任务实例从产生开始就不是一成不变的,而是具有 其生命周期,传统的任务的定义也没有描述出这些动态特性。 8 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 2 1 4 工作流任务分派的特点 工作流系统有“流”的基本特性,其动态性十分明显,例如,当数据在工作 流中流动时,执行的操作的用户在改变,用户的权限也在改变,数据处理的上下 文环境在发生着变化,因此,工作流系统必须具备相当的柔性才能满足实际业务 处理的需求;另外,自动化程度是工作流系统的重要功能评价标准,对工作流的 定义就有“在合适的时候将合适的工作任务交给合适的用户处理”,这和m i s 是 完全不同的概念,在m i s 中,用户往往是主动去查询、获取自己的工作列表, m i s 系统缺少灵活性和智能调度处理的功能,而工作流系统更应该是一种主动系 统,能根据给定的策略进行业务工作的调度,具有决策或辅助决策的功能特性。 因此,在工作流系统中,任务分派必须具备柔性以适用于动态环境,必须具备主 动性以满足自动化处理的需求。 当前,人们一般是采用两种方式来间接实现任务分派:访问控制或者动态查 询。这两种方式最大的特点是实现简单,但是存在诸多不足。 采用访问控制的方式,如d a c 、m a c 、r b a c 、a b a c ,即用户提出资源 请求,然后使用访问控制模块拦截用户的请求并判断用户是否具备相应资源的访 问权限,如果用户具备相应权限则响应用户请求并返回相应资源,否则拒绝用户 请求( 并提示拒绝原因) 。这种方式的本质是从资源全集或者候选集中逐一挑选 出用户可访问的资源,资源列表绑定特定应用程序后( 如电子表单、报表、文档 编辑区) 即成为任务列表。 采用动态查询方式,即基于当前上下文条件,系统直接将用户的请求转换为 特定数据库的查询语言,通过数据库查询返回用户在指定流程或者流程环节下所 能访问的资源列表,资源列表绑定特定应用程序后成为工作列表。 对于上述第一种任务分派策略,其主要缺陷是效率低下,需要逐一对资源集 合的所有成员进行访问控制评价,然后根据这些评价构造任务列表,在大数据量 的情况下,这种方式显然是不可取的;另外,访问控制是一种静态模型,采用的 是“请求一响应 的模式,不是主动模型,这种被动模型难以实现业务系统自动 化的需求;对于柔性的要求,目前除了t b a c 和a b a c ,其他访问控制技术都 较难实现柔性控制。 9 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 对于上述第二种任务分派策略,虽然仍然是被动模型,限制了系统的自动化 程度,但是由于其本质是直接的数据库查询( 而不是像访问控制一样逐一进行约 束检查) ,因此能用在大数据量的场合。但是第二种方式对技术要求高,需要专 门建立一套面向业务人员的查询语言和语言转换规则,难度较大,由于技术上的 限制,这种采用动态查询的描述能力很弱,不适合在业务规则复杂的场合;另外, 针对不同的数据库类型,针对数据库查询的差异性需要构造相应的语言转化规 则,代码移植能力较差。 综上所述,由于工作流系统中任务分派的固有特性,采用已有的访问控制和 数据库动态查询技术间接实现任务分派是不可取的,必须专门研究任务分派的机 制已达到工作流系统的最终目标。目前,很多学者针对工作流系统的特点,开展 了一系列工作流任务分派问题的研究工作。 2 2 任务分派的研究与应用现状 本文在1 1 节关于任务分派的研究背景中提到了任务分派问题的三个难点, 其中最突出的是如何实现柔性的任务分派策略。在业务流程管理系统( 或工作流 管理系统) 中,所谓的柔性任务分派,至少应该包含以下关注点【3 0 】:( 1 ) 可以描 述在复杂组织结构中的任务分派,可以执行基于组织结构和业务条件的判定,比 如身份冲突判定,组织级别的判定,可以根据一定的条件在组织结构中向上或向 下进行多级查找,可以根据条件找代理人等;( 2 ) 可以按照流程关系进行任务分 派,比如某个步骤以前由谁做的,那么这个步骤也由谁来做;( 3 ) 支持参数化和 集合运算,可以动态设置和构造复杂的流程参与者集合;( 4 ) 任务分派描述是可 以动态变更的,而不是硬编码实现的;( 5 ) 业务人员可以自己改变分派策略;( 6 ) 任务分派的结果可随环境的变化而动态调整。 关于工作流系统中的任务分派方法,目前已经有多种常用的方法,它们各有 优缺点。通过考察当前市场上的工作流系统以及相关的研究成果,归纳出常见的 几种任务分派描述方式如下: 1 0 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 2 2 1 基于硬编码的任务分派方式 最开始的业务系统应用场景通常比较简单,人们对于任务分派的认识也不是 很深入,任务分派的内容通常比较简单,因此,很多工作流系统往往采取直接程 序编码的方式来实现任务分派策略。我们将这种直接采用程序代码实现的方式称 为“硬编码 方式。 这种方法的优点是在任务分派需求简单时实现简单、程序执行效率高,通过 直接修改原有系统的代码,可以在系统中增加任务分派的相关业务逻辑,并且其 功能强大。理论上,通过无约束的硬编码编程方式,可以实现任何有规律可循的 任务分派策略。然而,这种方法的缺点也是显而易见的。它的技术性太强,业务 人员无法理解,必须由技术人员和业务人员参与才能实现,增加了沟通成本。另 外,由于采用的是一种侵入式的硬编码方式,业务变化时需要重新修改代码,并 且需要从新编译、从新部署整个系统,并且这种侵入式的设计方法大大增加了系 统的维护难度。 仅当任务分派策略简单,并且企业业务过程相对固定的情况下才考虑硬编码 的方式;而在任务分派需求复杂,或者任务分派策略经常变动的情况下,这种通 过硬编码编程实现任务分派策略的方式显然是不可取的。 2 2 2 基于编程接口的任务分派方式 本质上也是一种常规的编程方式,但这种方式采用面向接口编程( i n t e r f a c e o r i e m e dp r o g r a m ,i o p ) 或者面向切面编程( a s p e c to r i e n t e dp r o g r a m ,a o p ) 的 设计模式对任务分派的代码进行优化和高度封装,仅空出与业务逻辑密切相关的 少量程序接口供程序员实现,这样,程序员仅需要编写少量的代码,就能实现复 杂的任务分配策略。 目前,大部分复杂业务系统或者工作流平台就是采用这种方式,例如,著名 的开源工作流平台j b p m 就提供了任务分派相关的二次开发接口。在基于1 b p m 的工作流管理系统上,程序员只需要通过实现这些任务分派的相关接口,就可以 快速定制出自己的任务分派策略。这种方式一方面保留了编程方式高效、灵活、 功能强大的优点,另一方面由于平台已经封装了大量重复的代码,程序员可以集 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 中精力关注任务分派的相关业务逻辑,其进行二次开发的任务量和难度都不大。 然而,这种方式的缺点也是很明显的,由于采用编程方式,业务人员仍然无法理 解,必须由程序员实现;另外,采用这种方式每次更新后,仍然需要重新编译、 部署系统。在大型的业务流程管理系统中,或者在企业需求变更频繁的情况下, 不推荐使用这种方式。 2 2 3 基于界面设定的任务分派方式 由于只有业务人员才能够真正理解业务的实际需求,因此业务人员应该能够 直接参与任务分派策略的定义与维护。目前,很多面向最终用的工作流产品( 如 微软、金蝶的工作流产品) 都向业务人员提供了图形化的任务分派策略定义工具, 使业务人员能够独立的参与任务分派策略的定义与维护,以可视化的方式设定任 务分派的各种条件和分派动作( 如负载均衡分派、随机分派、抢先分派等) 。 这种任务分派方式的优点是直观、易于理解,操作简单,即使非信息技术背 景的业务人员也能直接参与业务规则的定义和维护,并且在业务变更时不需要修 改系统代码,不需要从新编译、部署系统。然而,这些任务分派定义工具是开发 商从整个行业应用背景中提取出公共需求,进而研发并作为软件产品发布的,因 此,基于图形界面的任务分派的描述能力受到很大的限制,只能满足普遍需求, 而不能针对企业的具体要求定制;另外,这些图形化工具只能在开发商的特定工 作流产品上使用,应用范围受到限制。这种方式一般只能基于角、部门、职位、 员工进行分派,但是现实中的任务分派策略内容在不断发生变化且需求复杂,这 种基于图形界面的任务分派不易被扩充,不能移植推广,其描述能力不能满足现 实系统的需求,不是“柔性”的任务分派方式。 2 2 4 基于动态脚本的任务分派方式 用简单、灵活、松散的动态脚本代码代替规范、严谨的程序代码( 如c 、c + + 、 j a v a 等) ,并使用脚本编译器对脚本解释编译,从而实现系统任务分派的相关行 为。目前,使用脚本方式实现任务分派策略主要有通用脚本和专用脚本两种方式。 通用脚本,即已被广泛采用、已形成( 或正在形成) 工业标准的脚本语言, 1 2 中山大学硕士学位论文工作流柔性任务建模方法及分派策略的研究与应用 例如j a v a s c r i p t 、p e r l 、p y t h o n 。通用脚本的优点是功能强大,可以实现任何有规 律可循的任务分派机制;动态性好,可以在运行过程中改变任务分派的内容;可 移植,能在支持相同脚本语言的任务分派系统中移植代码;不需要重新编译、部 署系统。然而,通用脚本的缺点是,技术性太强,业务人员无需理解;由于语法 灵活、不严谨,调试麻烦,一般的技术人员也难以使用。 专用脚本,即开发者为特定工作流系统所开发的脚本语言,需要

温馨提示

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

评论

0/150

提交评论