




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 随着市场竞争的日益激烈,企业的业务过程不再是一成不变,它需要根据市场 的需求不断地做出动态的调整和修改工作流技术的出现使得业务过程更加自动、 高效的执行,然而它不能很好地支持业务过程的敏捷化管理,由此业务过程管理 孕育而生。当前业务过程管理很好地把业务过程逻辑从业务过程中抽离出来,进 行中性的维护和管理,实现了业务过程的一定敏捷性,而依次同时,当前业务过 程管理对业务过程活动的内部逻辑、业务策略等特殊过程性信息的管理较弱,并 且把非玎技术人员的专业业务人员拒之整个开发过程之外,这显然大大限制了业 务过程的敏捷化 这里提出一个基于业务规则的业务过程管理模型,以业务规则管理的思想管理 业务过程中的流程结构、业务策略等分布在业务过程任何角落的业务规则,并用 e c a 模型来表示业务规则,很好地支持了业务过程的基本流程结构,这在当前业 务过程管理提高业务过程敏捷化的基础上,大大增强了业务过程的敏捷化。 为了实现基于业务规则的业务过程管理系统,本文对其中的一个重要组成技术 业务规则的存储技术进行了实现讨论,并提出结构化业务规则的思想来提高 业务规则的访问效率和维持规则库的正确性。 最后本文给出一个移动通信运营商的应用例子,来说明如何利用基于业务规则 的业务过程管理来实现业务过程的敏捷化 关键字:业务过程管理;业务规则;业务规则管理;e c a ;敏捷化 山东大学硕士学位论文 mm l a b s t r a c t w i t ht h ei n c r e a s i n gc o m p e t i t i o nf r o mm o d e r nm a r k d 。t h eo r g a n i z a t i o n sb u s i n e s s p r o c e s s e sc a l l ts t a yp u t t h e ym u s tb em o d i f i e da n da d j u s t e df r e q u e n t l yw i t ht h e d e m a n d so fm a r k c t t h et e c h n o l o g yo fw o r l d l o wm a k e st h ee x e c u t i o no fb u s i n e s s p r o c e s sm o r ea u t o m a t i c a l l ya n de f f i c i e n t i y b u ti ti sw e a kt os u p p o r tt h ea g i l i t yo f b u s i n e s sp r o c e s s t h u st h eb 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 , i sp r o p o s e d p r e s e n t t e c h n o l o g i e so fb p ms e p a r a t et h ep r o e e 路i n f o r m a t i o nf r o mb u s i n e s sp r o c e s sa n d m a n a g et h e mi nad e p o s i t o r y t h e s e 删i ym a k et h eb u s i n e s sp r o c e s sa g i l e r b u to nt h e o t h e rs i d e ,p r e s e n tt e c h n o l o g i e so fb p mc a n tt od ow e l lw i t ht h es p e c i a lb u s i n e s s p r o c e s si n f o r m a t i o n ,s u c ha sb u s i n e s sl o g i ci np r o c e s s ,b u s i n e s sp o l i c ya n ds oo n a n d t h eb u s i n e s se x p e r t sw i t h o u ti ts k i l l sa f ee x c l u d e df r o mt h ew h o l el i f e c y c l eo f d e v e l o p m e n tp r o j e c tt h o u g ht h e ya l et h er e a l l ye x p e r tw h oc o n d u c t i n gc o m p a n y b u s i n e s s t h e s ea l lr c :s t r i c tt h ea g i l i t yo f b u s i n e s sp r o c e s s ab u s i n e s s - r u l eb a s e db p mm o d e li sp r o p o s e du s i n gb r m st om a n a g et h eb u s i n e s s r u l e sw h i c ha r et h ee s s e n t i a le l e m e n t sf o rp r o c e s sc o n s t r u c t i o na n db u s i n e s sp o l i c y a n e c am o d e li sp r o p o s e dt oe x p r e s st h eb u s i n e s sr u l e sw h i c hc a ne x p r e s st h ep r o c e s s c o n s t r u c t i o np r e c i s e l y t h eb u s i n e s s - r u l eb a s e db p mw i l ls t r e n g t h e nt h ea 西u t yo f b u s i n e s sp r o c e s sa sb p ma l o n e t oi m p l e m e n tt h eb u s i n e s s - r u l eb a s e db p m s ,a m o d e lo f b u s i n e s sr u l e s d e p o s i t o r y i sd i s c u s s e dh e r ea sa ni m p o r t a n tp a r t i t i o n a ni d e ao fs t r u c t u r e db u s i n e s sr u l e si s p r o p o s e dt oi m p r o v et h ei n t e r a c t i o ne 伍c i e n c yb e t w e e nb r m sa n db u s i n e s sr u l e s a tl a s t , a l le x a m p l ef r o mm o b i l ec o m p a n yi sp m s e n t e dt oi l l u s t r a t et h eb u s i n e s s - r u l e b a s e db p mh o wt or e a l i z et h e a g i l i t yo f b u s i n e s sp r o c e s s k e yw o r d s :b p m ;b u s i n e s sr u l e ;b p m ;e c a ;a g i l i t y 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名: l 丕叁! 日期:2 堕生 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) , 论文作者签名:l 这导师签名: 山东大学硕士学位论文 1 1 背景介绍 第一章引言 早期的i t 系统中,企业的业务过程逻辑大部分是直接包含在执行脚本代码中。 i t 系统的开发完毕,也就意味着企业业务过程的固化。如要需要修改这些固化的 业务过程,企业必须花费大量的人力和物力让专业的r r 技术人员翻阅和修改枯燥 的脚本代码。而2 l 世纪是一个市场环境激烈竞争的世纪,企业的业务过程不再是 一成不变的,她必须实时地对市场做出反应性的调整和修改,由此业务过程管理 ( 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 ) 孕育而生,并以实现企业业务过程的敏捷 化为目标。 工作流技术的出现为业务过程管理提供了有利的支持,它把企业的业务过程逻 辑从脚本代码中独立出来,并进行中性的管理和维护,但它侧重和强调的是业务 过程活动的自动或部分自动执行。业务过程管理显然已超出了这个范畴,它除了 要让业务过程活动自动或部分自动执行外,还要使企业能够在多变的市场环境下 能够动态修改业务过程和业务逻辑,最终实现业务过程的敏捷化。 本文认为,一个业务过程管理系统要实现业务过程的敏捷化,应该具备的几个 重要功能有: 第一:除了i t 技术人员参与业务过程管理系统开发整个过程之外,业务人员 ( 包括业务专家,业务过程和业务决策的制定者等) 必须能够参与。并 在业务过程管理系统开发完成后,能够由业务人员直接维护业务过程信 息( 如业务规则、业务过程模型定义、业务决策模型等) ,无需i t 技术 人员的干预。 第- - :业务过程信息维护的独立性。除代码逻辑只能由i t 技术人员开发完成 之外,尽可能多的实现业务过程逻辑与代码分离。业务过程逻辑可以在 业务系统之外独立完成增加、修改、删除等基本维护功能 第三:业务过程管理系统应该具有动态修改能力。即业务人员或者r r 技术人 员在修改业务过程信息时,可以在不干预当前运行业务的前提下完成修 改。 山东大学硕士学位论文 第四:在保持自身系统独立性的同时,具有与其它系统整合的能力,增加业务 过程管理系统的重用性。 目前对业务过程管理的研究还处在一个相对初期的阶段,较多的文章侧重于业 务过程建模、定义等问题。如文献【1 】对业务过程的定义进行了深入的讨论;文献 【2 从业务过程建模语言( b p m l ) 和p i 演算方面对业务过程管理进行研究;文献 【3 】从过程模型的角度研究b p m ,给出了基于p e t r i 网的过程分析方法等等。对于 敏捷化的研究也有不少文章,但大都集中在制造领域,如文献 4 】、【5 】、【2 0 1 、【2 l 】, 研究业务过程敏捷化的相对较少虽然文献【6 】探讨了如何把b p m 与b r m 结合实 现业务敏捷化的问题,但文献【6 】注重的是他们的结合,并不是把业务过程管理建 立在业务规则之上,忽视了业务规则对业务过程流程结构上的敏捷化支持,更没 有对业务规则的表示形式和存储方式进行讨论。 本文将研究当前业务过程管理对业务过程敏捷化的支持,并讨论它对业务过程 敏捷化支持的不足,探讨如何利用业务规则管理( b u s i n e s sr u l em a n a g e m e n t ,b r m ) 技术增强当胁b p m 对业务过程敏捷化的程度。 1 2 本文的主要工作 讨论分析当前业务过程管理对业务过程敏捷化支持的现状和不足,研究如何建 立一个基于业务规则的业务过程管理办法,来弥补当前业务过程管理对业务过程 敏捷化支持的不足,同时对业务规则的表示形式和存储方式进行简单的探讨,具 体内容如下: 第一:运用一个拓展的e c a 模型来表示业务规则; 第- - :细化业务规则管理在各个层次上对b p m 的支持; 第三:给出一个基于业务规则的b p m 模型框架: 第四:讨论基于e c a 模型的业务规则如何支持基本流程结构; 第五:讨论基于业务规则管理的业务过程流程结构与业务过程活动; 第六:给出一个业务规则存储的实现讨论; 第七:最后给出一个应用例子来说明基于业务规则的业务过程管理如何实现 业务过程的敏捷化。 山东大学硕士学位论文 1 3 本文的组织结构 本文的组织结构如下:在第一章中介绍业务过程管理的目标以及说明本文的主 要研究工作;第二章中介绍业务过程管理和业务规则管理等相关概念;第三章讨 论如何把业务过程管理建立在业务规则之上,使业务过程管理充分利用业务规则 管理的优势,提高业务过程的敏捷化;第四章将探讨基于业务规则的b p m 模型中 的一个重要问题业务规则存储的实现讨论;第五章将给出一个应用举例说明 b p m 如何运用业务规则来增强业务过程的敏捷化。 3 山东大学硕士学位论文 2 1 业务过程管理 第二章相关概念介绍 所谓的业务过程( b u s i n e s sp r o c e s s ) ,是指为了在一定时期内达到特定的商业 目标,而按照各种商业规则连接起来的业务功能集这些业务功能是抽象定义的: 业务功能的具体实现受限于业务功能运行所必须的可用资源。业务功能的构成由 目标决定,其中的任何操作、活动,任务都是为实现目标而设。企业的业务过程 越来越复杂的同时,它需要不断地做出调整才能适应市场。工作流技术的提出, 实现了业务过程与应用程序的分离,在一定程度上提高了企业的业务灵活性。但 工作流技术侧重的是业务过程的自动化程度,还不足以支持整个企业的业务运转, 在此环境下提出了b p m s ( 业务过程管理系统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 ) 的概念【1 7 j 嘲。b p m s 是以从应用程序中抽取出来的业务过程模型信息为管 理对象,在其他应用之下与业务过程模型数据进行交互的管理系统。 j 下如d b m s 是管理数据的系统一样,b p m s 是管理业务过程的系统,通过将 其与众所周知的d b m s 进行对比,可以更好的理解b p m s 的功能及属性。文献 7 】 对b p m s 与d b m s 进行了对比,关系如表2 1 所示: 属性d b m sb p m s 模型的特性数据的中性描述过程的中性描述 模型的形式化表示实体一关系模型、对象模有限状态自动机、过程代 型数、p e u i 网 操作语言s q lb p m l ,b p q l ,x p d l 实现功能数据信息的可靠存储、事过程信息的可靠存储、事 务处理务处理 工具 基于s q l 的各种工具基于标准操作语言的各 种工具 表2 - i :b p m s 与d b m s 的对照表 4 山东大学硕士学位论文 一般而言,b p m s 应该具用的功能模块有; ( 1 ) 过程仓库为业务过程及业务过程相关信息提供集中保存场所,同时提供 系统服务,以方便其他应用对过程仓库进行查询等常规操作。 ( 2 ) 过程模型设计以图形界面模式或者其他方式对业务过程的基本元素和业 务过程进行定义。如执行角色,物理资源,一个具体业务过程等 ( 3 ) 过程信息维护为业务过程信息提供维护界面,可以增加、修改、删除业 务过程及过程基本元素。 ( 4 ) 业务过程分析工具分析业务过程是否具有完整性和安全性,如过程执行 死锁;同时对业务过程进行时间、资源等分析。 ( 5 ) 业务过程引擎以独立服务的形式提供业务过程管理服务,辅助第三方应 用系统达到推动业务过程顺利执行的目的,同时提供业务过程及业务过程相关数 据维护服务;业务过程执行事务功能:业务过程执行异常处理功能等。 2 2 业务规则管理 2 2 1 业务规则 规则有多种含义,英语单词“r u l e ”的中文意思有:规则、惯例、统治、章程、 准则、标准、控制等。规则是人工智能理论中最基本的概念。比如机器人在遇到 前方障碍物的时候,系统就会自动触发某种应对规则,告诉机器人绕开障碍物继 续向前。通过规则的逻辑运算,还可以赋予机器人简单的推理能力。“i f 【条件】 t h e n 动作】”是一个最简单的规则描述。一个机器人或者是一个应用系统就可以 根据这一系列的规则来决定干什么事情。如果我们把规则中的条件或者动作与业 务事件、业务条件等业务相关的信息联系起来,那么我们就可以称这些规则为业 务规则。 对业务规则( b u s i n e s sr u l e ) ,有不少的定义。文献【8 】定义业务规则是“企业 中,业务目标、业务策略和业务约束的描述”;文献【9 】贝0 定义业务规则是“描述如 何操作业务。也就是陈述和指导企业中各种业务的规章及约束制度”:m i t c h e l l 山东大学硕士学位论文 k _ r a m m e r 则在文献【1 2 】中把业务规则看成是企业中各项政策和业务惯例的执行表 述;文献【1 3 则这样描述:“根据你询问的不同人,业务规则可能会包含一些或则 全部关系动词、数学计算方式、推理逻辑、步步推进的结果表述、数据约束、业 务目标和策略以及商业利益”。 业务规则是对业务中某些定义和限制的描述,用于维持业务结构或控制和影响 业务的行为也可以表述为:它是施加于业务上的限制或约束,一般用自然语言 或近似于自然语言的句子描述,使得业务人员和分析人员都很容易理解,不会对 业务规则和规则的组成部分产生二义性。业务规则有静态规则与动态规则之分, 静态规则描述了一致性与完整性规则,通常可用数据模型来描述。而动态规则描 述企业的动态行为,如活动的执行时机与条件等像我们日常见到的管理制度、 业务手册、工艺流程、操作规则、收费标准以及一些没有形成文字的惯例都可以 称之为业务规则下面是几个业务规则的例子 i f 一个客户每月的平均用电量在1 0 0 0 0 0 千瓦时以上t h e n 这个客户就是“用i l 电大户”i 一些规则我们可以把他们看成是定义性的规则,如上面的规则,它描述了一个 客户如果他每月的平均用电量在1 0 0 0 0 0 千瓦时以上时,我们可以定义这个客户为 “用电大户”。 i 客户的月平均用电量= 客户的年用电量1 2f 一些规则描述的可能是计算性质的业务功能,如客户月平均用电量的计算。 i 一个客户如果是“用电大户”,那么他至多可以拖欠4 个月的电费l 还有一些是描述的是约束方面的规则,如上面的规则一个用电大户,他的电 费可以拖欠4 个月,而其他一般客户则没有这个特权。 规则除了上面提到的几个功能外,我们可以归纳规则的功能如下: 术语定义:定义业务中的规章制度、术语等定义性的名词描述; 数据模型定义:各个业务活动之间传递的数据定义; 参与者定义:定义业务活动的执行者或者参与者,它往往可以是人或者资 源; 校验与约束:校验数据的合法性和完整性: 定价与费用结算:对商品进行定价和客户费用结算; 6 山东大学硕士学位论文 流程控制:控制业务过程的执行: 事件响应:针对业务处理过程的各种事件,业务规则给予及时准确的响应。 2 2 2 业务规则管理系统 既然业务规则在企业中的各个方面起着重要的作用,那么我们就迫切需要一个 强大的系统来保存、维护和管理这些业务规则,由此业务规则管理系统( b u s i n e s s r u l em a n a g e m e n ts y s t e m ) 孕育而生。表2 - 2 是把业务规则管理系统与数据库管理 系统的对照关系 数据库管理系统业务规则管理系统 管理对象数据业务规则 基本原理把数据从程序中抽离出把业务规则从程序中抽 来,脱离程序实现管理离出来,脱离程序实现管 理 被管理对象的存储方式由数据库管理系统内部由业务规则管理系统内 实现,对用户透明。存储部实现,对用户透明。存 数据的地方称为“数据储数掘的地方称为“规则 库”库” 权限管理由数据库茉系系统提供由业务规则管理系统提 供 操作方式 s q l ,数据库关系系统或业务规则查询语言,业务 者第三方提供的图形管规则管理系统或者第三 理界面方提供的图形管理界面 与其他应用的交互方式o d b c ,j d b c 等接口a p i ,e j b ,w 曲s e r v i c e 等服务或组件。由规则引 擎负责与其他应用系统 的交互 表2 - 2 :业务规则管理系统与数据库管理系统的对照表 7 山东大学硕士学位论文 业务规则管理系统的特性及功能: 第一:它把规则从程序或者业务中抽取出来,并保存在特定的规则库中它们 可以完全在不影响应用系统的情况下进行增加、修改和删除等操作。规 则部署后,能够在不影响应用系统正常使用的情况下实现业务过程等业 务的动态修改。 第二:业务规则可以由结构化后的自然语言,如类英语,来表述这样业务规 则除了可以由i t 人员创建之外,还可以由那些不懂1 1 r 技术的业务专家 来创建 第三:业务规则管理系统为其他应用系统提供服务的方式可以是a p i 嵌入形 式,也可以是把规则引擎部署在独立服务器上,供其它应用系统来调用 执行 第四:与数据库管理系统类似,业务规则管理系统也必须提供一系列的管理工 具来管理业务规则:业务规则编辑工具、业务规则调试工具、规则库管 理工具、规则库备份工具以及业务规则查询语言等技术完成业务规则库 的管理。 一个基于规则管理模型必须要用一个规则引擎。所谓规则引擎就是一个嵌入在 应用程序中或者可以单独提供服务的组件,他的任务是把当前提交给引擎的数据 对象与加载在引擎中的业务规则进行测试对比,激活那些符合当前数据状态下的 业务规则,根据业务规则中声明的执行逻辑,触发应用程序中对应的操作 由于规则引擎是软件组件,所以只有开发人员才能通过程序接口的方式来使用 和控制它,规则引擎程序接口至少包含以下功能: 加载和卸载规则集; 数据操作; 引擎执行; 数据返回。 应用程序使用规则引擎基本遵循以下5 个典型的步骤: 第一步:创建规则引擎对象; 第二步:向引擎中加载规则集或更换规则集; 8 山东大学硕士学位论文 第三步:向引擎提交需要被规则集处理的数据对象集合: 第四步:命令引擎执行; 第五步:导出引擎执行结果,从引擎中撤出处理过的数据和规则集。 如果使用的规则库相同,则可以重复使用( 3 ) 至( 5 ) 。使用规则引擎之后, 许多涉及业务逻辑的程序代码基本被这五个典型步骤所取代我们将在后面的应 用举例中给出相应的伪代码。 2 2 3 基于e c a 模型的业务规则 e c a 规则最早在文献 1 0 】中描述主动数据库系统时提出,“规则往往包含三 个部分;事件( e v e n t ) ,条件( c o n d i t i o n ) 和动作( a c t i o n ) ”,因此称为e c a 规则。事件表示规则在什么时候可以执行,条件表示在执行一定动作之前必须要 满足的条件,而动作就是对事件的响应e c a 规则( e v e n t - c o n d i t i o n a c t i o n ) 表 述规则如下: o ne v e n t l fc o n d i t i o n t h e na c t i o n 上述描述表示:当事件 发生,如果条件 为真,则执行动作 为了增加e c a 业务规则的功能,文献【l l 】拓展了e c a 规则模型使之成为 “e c a a ”、“e c “a n ”等模型。这里我们再次拓展e c a 模型使之能够表示更多的 结构,如图2 1 。 9 山东大学硕士学位论文 fo ne v e n t 皿c o n d i t i o n _ t h e n a c t i o n e l s ea c t i o 比 o n e v e n t mc o n d i t i o n l 7 e v e n t - i e v e n t - 2 e v e n “ t h e na c t i o n | | | 、 o n a 。v 。i = 1 | 一l 口 c o n d l t l o r - t c o n d i t i o n - 2 c o n d i t i o r , i 。 9 0 a 。vj ,i = l t h e n a c t i o n - iaa c t i o n = 2a aa e t i o n - ia 。 i = 1 图2 1 :e c a 模型的拓展 我们对普通e c a 模型的拓展主要体现在两个方面: 第一:结构上的拓展:由原来的“e c a ”拓展为“e a ”,“e c a a ”。 第二:主体组成的拓展:由单一的e v e n t 拓展为e v e n t 事件集合集合中的事 件关系可以是并或交叉关系;条件部分c o n d i t i o n 与事件部分同理,由 单一条件拓展为条件并或交叉集合i 动作部分a c t i o n 则由单一的动作 拓展为可以触发一系列的动作 除此之外,文献【1 1 】还提出了事件的更为复杂组合关系: 事件选择性发生:事件集合 e 1 ,e 2 ,吣中有m 个事件发生,r e 间隔事件:事件( e l ,e 2 ) 间的间隔。 然而当业务过程在无任何事件被触发的状态下如何保持业务过程引擎的主动 性,使业务过程继续往下执行呢? 文献【l l 】提出了三个时间相关事件: 绝对时间:t : 0 山东大学硕士学位论文 相对时间:事件e 发生之后的t 时: 定期间隔时间:时间区间( t l ,t 2 ) 间的每个间隔t 。 利用这些辅助复杂事件组合关系,我们就可以控制更为复杂的业务过程结构。 但有一点需要说明的是,e c a 模型表示业务规则,并不代表业务规则仅仅是为了 用来控制业务过程,e c a 业务规则也可以用来进行数据校验、客户费用计算等流 程无关功能。 山东大学硕士学位论文 第三章基于业务规则的b p m 3 1 当前b p m 支持业务过程敏捷化的现状 当前,b p m 把业务逻辑从应用系统、脚本代码中抽离出来,使得业务过程不 再是只存在于程序语言中的东西。业务过程作为独立中性的数据存储在过程库中, 用户可以通过过程管理工具中性地维护和管理这些业务过程。业务过程引擎负责 过程的调度和保证业务过程的正确顺利执行。b p m 同时提供辅助工具,使得i t 技 术人员和业务专家等非i t 技术人员可以方便的修改和维护业务过程数据,使得业 务过程更加适应不断变化的市场。这就在一定程度上实现了企业业务过程的敏捷 化。当酊b p m 实现业务过程敏捷化可以体现在以下几个方面: 第一:业务过程从应用系统脚本代码中的抽离,实现了业务过程信息的独立中 性维护,并通过辅助管理工具使业务专家等业务人员可以参与应用系统 的整个开发和运行周期,从而实现业务过程的敏捷化; 第二:业务过程的修改可以由非i t 技术人员实现,不在需要业务人员学习专 门的技术实现业务过程的修改: 第三:由于业务过程逻辑已经从系统代码中抽离出来,并保持了业务过程信息 的独立性,业务的运转完全在业务过程引擎的驱动下进行,业务过程的 修改就可以在不干预现有系统正常运行的情况中,实现业务过程的动态 修改; 第四:由于业务过程引擎是以独立服务形式运行,如w e b s e r v i c e ,那么它有 利于b p m 与其它引用系统的整合和b p m 自身的重用。 3 2 当前b p m 支持业务过程敏捷化的不足 正如前面讲到的,业务规则存在于企业业务的任何角落,所以虽然当前b p m 在一定程度上实现了业务的敏捷化,也提供了一些辅助工具使得非i t 技术人员的 业务专业人员可以维护和管理业务过程信息,但许多的业务逻辑还是被技术人 2 山东大学硕士学位论文 员以脚本代码的形式隐式地包含在应用系统中,大大限制了业务过程的敏捷化程 度。 当前b p m 对业务过程敏捷化的不足,主要体现在以下几个方面: 第一:虽然业务过程信息已经从代码中抽离出来,但还是有许多的业务规则被 写为代码逻辑。如果企业要修改业务规则从而实现业务过程的修订,需 要i t 技术人员花费大量的人力和时间重新设计、修改和调试程序代码, 这显然要影响企业业务的正常运行,不能实现动态修改; 第二:b p m 虽然在一定程度上支持了业务过程的敏捷化,但对企业业务策略 的敏捷化支持明显不足。所谓业务策略往往指的是企业中的业务风险、 商品价格、费用等数值计算方式、决策等表示企业中特殊业务过程性的 业务信息。b p m 支持的是普通业务过程,是企业如何进行业务运转的 管理,而对这些特殊过程性业务信息的敏捷化管理和维护,b p m 就显 得力不从心; 第三:每个企业都有自己的业务策略,业务策略是企业在市场中打败竞争对 手,占领市场一席之地的保证。这就需要企业不断的调正自身的业务策 略,使自己处于市场竞争的有利位置业务策略是业务过程的指导思想, 而b p m 对业务策略的弱性支持,大大降低了市场敏感性企业的业务过 程敏捷化程度。 基于上述当前b p m 对业务过程敏捷化支持的不足,b p m 迫切需要一个管理机 制柬中性管理和维护企业的业务逻辑、业务策略等特殊过程性信息。业务规则管 理丁f 好为企业业务过程提供这方面的支持,大大提高企业业务过程的敏捷化程度。 3 3 基于业务规则的b p m 为了增强业务过程敏捷化的程度,有效的管理和维护当前b p m 所不能敏捷管 理的业务规则,本文把b p m 建立在业务规则管理基础之上,使得b p m 充分利用 的b r m 的优势,达到业务过程敏捷化管理的目的。但由于现在b p m s 和b r m s 是两个独立的管理系统,他们各自都有一套管理工具管理着自己的信息。过程引 擎在与客户端或者第三方应用系统交互时,并不知道规则引擎也可能参与其中。 山东大学硕士学位论文 作为业务过程的定义和管理者而言,业务规则对他是无关的,同时作为业务策略 也就是业务规则的管理者而言,企业中的业务过程对他来说也是无权管辖的这 里将讨论b p m 的各个部分如何建立在业务规则之上,最终达到业务过程敏捷化的 目的。 3 3 1 基于业务规则的b p m 集成开发环境 b p m s 作为一个独立的管理工具,如果要把它建立在b r m s 的基础上,首先 想到的可能是集成开发环境的调整这主要是为了使r r 技术人员和业务专家等非 i t 技术人员可以充分利用b p m 和b r m 的辅助管理工具优势,完成业务过程信息 和保护其中的业务规则信息的维护。最终达到客户端敏捷处理业务过程的目的 但使b p m 的集成开发环境建立在b r m 的集成开发环境之上并非易事,这需要 b p m 和b r m 系统开发商提供程序接口,这显然是一件非常有难度的事,但这里 假设:b p m 系统与b r m 系统之间有着良好的交互能力文献 6 】在集成开发环境 层次上对b p m 和b r m 进行了结合讨论,但都没有注意到业务规则可以在流程控 制上对b p m 产生重要的作用,这可以大大增加业务过程的敏捷化程度,本文将在 文献 6 】的基础上提出一个基于业务规则的b p m 集成开发环境框架,增加业务规则 对业务过程的流程控制。 信息维护工具主要包括定义工具,修改工具等。在b p m 的业务过程定义工具 中,增加业务规则相关的活动,业务规则相关流程控制等业务规则相关实体。当 用户选择一个业务相关流程控制连接两个或者多个业务过程活动时,b p m 将会通 过b r m 预留的程序接口调用b r m 规则定义和维护工具,加载相关业务规则,如 图3 1 所示。 山东大学硕士学位论文 图3 - 1 :基于业务规则的b p m 集成开发环境 基于业务规则的b p m 的集成开发环境使得业务过程模型定义者在管理维护业 务过程信息的同时还能够管理维护业务过程相关业务规则信息,这显然比单独使 用b p m 管理工具要方便的多。但它同时也对用户提出更高的要求,用户在知道业 务过程信息的同时,必须详细了解业务过程中的业务规则,并且需要同时学习业 务过程模型定义工具和业务规则定义工具,这显然增加了无i t 技术知识的业务人 员的学习负担。 3 3 2 基于规则库的过程库 由于业务规则从业务过程逻辑中抽离出来后,业务规则作为独立的信息由 b r m s 管理和维护,所有对业务规则的查询、修改等操作都要经过规则引擎。而 我们在前面的章节中已经说明,业务规则可以控制业务过程的流程结构,也就是 说业务规则参与了业务过程模型的定义。如果对那些控制业务过程流程结构的业 务规则进行修改,而同时这些被修改的业务规则被多个业务过程引用并定义业务 过程模型的话,那么在修改业务规则的同时,我们需要知道它们所被引用的业务 山东大学硕士学位论文 过程信息。因此,有必要把业务过程信息库建立在业务规则库的基础上,使业务 规则信息与业务过程信息建立一定的联系,这样我们就能很方便地由业务过程查 询它所引用的业务规则信息,同时由业务规则查询引用它的业务过程信息,不管 我们对业务规则进行修改维护还是对业务过程进行修改维护,都可以使信息库中 的信息保持一致性和完整性。图3 2 就是基于业务规则库的b p m 过程库示意图。 囱 图3 - 2 :基于规则库的过程库 但当前b p m 和b r m 的系统独立性使建立统一的基于业务规则的过程库有一 定的难度。基于规则库的过程库不但增加了信息库和b r m 系统的复杂度,还降低 了b r m s 的系统独立性,但这超出了本文研究的范围,这里不做更深入的讨论 山东大学硕士学位论文 3 3 3 基于规则引擎的过程引擎 过程引擎与规则引擎分别是b p m 和b r m 工作的核一t l , ,那么过程引擎怎样利 用规则引擎增强业务过程的敏捷程度也就是本文讨论的一个重要部分在讨论之 i j i ,先让我们了解规则引擎可以为过程引擎提供哪些方面的功能。基于在第三章 中提到的业务规则的功能,我们可以把规则引擎对过程引擎的作用归纳为如下几 点: 第一:为过程引擎提供流程控制信息。过程活动的迁移和活动状态的改变都可 以由规则引擎提供的规则服务加以控制。如,电力营销中高压新装客户 与低压新装客户要转不同类型的供电方案活动处理。 第二:为过程引擎提供数据模型定义在过程引擎中传递的数据、消息模型都 可以由规则引擎加以定义。如客户信息由客户编号、客户名称、客户地 址等信息组成。 第三:为过程引擎提供数据校验和约束控制。校验用户输入的数据及业务过程 中数掘流的合法性和完整性。 第四:定义业务过程中活动的前续和后继条件。业务活动的前续和后继条件是 活动是否能被正确触发并完成工作的保证。比如,前续条件可以定义本 过程活动所需的数据是否都准备完备,后继条件可以定义本过程活动是 否把该处理的数据都准确处理。 第五:任务分配。如何合理分配业务过程中同种业务活动的任务是业务过程能 高效、按时、准确处理的一个重要环节。而规则引擎就可以利用规则的 敏捷管理优势,实时调整任务分配规则。 第六:为过程引擎提供数据公式计算。在业务过程处理中肯定会有大量的数值 计算,这方面完全可以由规则引擎来加以完成、如客户某月电费的计算 第七:为过程执行中的资源( 包括人、静态资源等) 进行角色定义。角色是业 务活动执行的主体,它是任务分配的前提。如“张三是营业厅工作人员” 就是一个人员角色定义。 第八:为过程引擎提供业务过程处理中的业务实体分类方法,以便过程引擎对 各类业务实体进行区别处理。如“如果一个客户每月的平均用电量在 山东大学硕士学位论文 1 0 0 0 0 0 千瓦时以上那么认为这个客户是用电大户一。 在实际运用中规则引擎为过程引擎所能提供的服务不会局限于上述给出的几 个功能。一些业务过程可能会在每个业务活动的处理、每次业务活动的转递都需 要运用规则引擎的支持。而有些业务过程的处理很可能不需要或者极少需要规则 引擎的支持。但不管如何,一个好的引擎整合机制都能很方便地为这两个情况提 供支持。 文献【6 】给出了一个过程引擎与规则引擎的整 冈 i _ j i 一一一一一一5 一一一一一- j 图3 3 :过程引擎与规则引擎整合的耦合度递变示意度 这里客户端指的是以处理业务过程活动为中心的应用系统,当然它也可以是任 何需要与过程引擎交互的第三方系统这里需要指出的是,本文的目的是建立一 个业务过程管理模型,业务规则管理只是辅助业务过程管理达到业务过程敏捷化 的目的,客户端以与过程引擎的交互为主要目的。 从图3 3 中可以看出,过程引擎与规则引擎的整合耦合度可以是一个连续的整 合方式。一个高耦合度的整合方式就是把过程引擎与规则引擎合并为一个引擎, 而以松耦合度的整合方式就是把过程引擎与规则引擎开始是完全独立的引擎。显 过w f ,馨 砒s j 0 紫 山东大学硕士学位论文 然这两种极端的整合方式都不利于企业业务过程的敏捷化。整合方式显然采用图 3 3 中的b 方案,一个基于规则引擎的过程引擎为客户端提供服务最为合适。 图3 - 3 的a 方案把过程引擎与规则引擎合并,作为一个新的引擎对外提供服务, 这显然削弱了过程引擎与规则引擎原来独立服务时所具有的敏捷性,使得其他应 用系统无法再单独与过程引擎或者规则引擎进行交互。 方案c 完全孤立了过程引擎和规则引擎,把过程引擎与规则引擎交互的工作都 有客户端来承担。这不仅加重了客户端的代码负担,还增加了客户端的业务过程 逻辑依赖性,不利于业务过程的敏捷化。例如一个业务过程需要修改,本来可以 在只修改业务规则信息和业务过程信息的情况完成业务过程的动态修改,然而由 于采用了c 的松耦合度。客户端也必须修改相应的业务过程逻辑代码才能完成业 务过程的修改,这显然不利于业务过程的敏捷化同时方案c 忽视了过程引擎与 规则引擎的交互,b r m 的优越性在b p m 中得不到充分的利用。 结合方案b 是一个中等耦合度的整合。他不但能使过程引擎充分利用规贝f j q t 擎 的优势管理业务过程中的业务规则,利用规则引擎来辅助控制业务过程中的业务 规则,以此来增强业务过程的敏捷化,还保持了过程引擎与规则引擎的一定独立 性。 3 4 基于业务规则的b p m 模型框架 本文基于上述讨论。提出一个基于业务规则的业务过程管理系统模型框架结构 图,如图3 - 4 。该模型是一个基于面向服务( s e r v i c eo r i e n t e d a r c h i t e c t u r e ,s o a ) 体系结构的模型。面向服务的体系结构是一个组件模型,它将应用程序的不同功 能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是 采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语 占。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交 互。 过程引擎与规则引擎都以“服务”的形式发布自己的b p m 与b r m 的功能。 客户端与应用系统也通过“服务”来与b p m 和b r m 进行交互。鉴于当前d b m s 在应用系统的中的重要地位,本模型认为,客户端与应用系统可以以独立直连方 1 9 山东大学硕士学位论文 式与d b m s 交互。但为了保持多层结构的优越性,不建议客户端和应用系统直接 访问数据库,而是通过各“服务”,以业务逻辑的方式访问数据库,这样可以降低 客户端的业务逻辑度,保持多层结构的敏捷性 图3 - 4 :b p m 与b r m 结合模型 3 5 基于业务规则的基本流程结构 由于文献【6 】在b p m 与b r m 的结合中,只注重业务规则在每个业务活动中的 业逻辑作用,忽视了业务规则对业务过程中流程结构控制的支持。本文将结合文 献【1 1 】,在这一节中讨论如何以拓展的e c a 模型表示的业务规则来实现基本流程 结构。 3 5 1 顺序结构 用e c a 规则表示顺序结构时,只需每个e c a 规则在执行完自己的动作 山东大学硕士学位论文 ( a c t i o n ) 后,触发另一个规则的事件( e v e n t ) ,如图3 5 。 图3 - 5 :e c a 规则实现顺序流程结构 规则1 完成自己的执行动作a c t i o n - 1 后,触发事件e v e n t - 2 ,使第二个规则得 以执行,第二个规则完成自己的动作a c t i o n - 2 后,同样触发事件e v e n t - 3 ,使第三 个规则特意执行,这样依次类推实现业务过程的顺序执行。 一 3 5 2 并行结构 用e c a 规则表示并行结构时,可以由两个相同触发事件的规则使两个执行动 作同时执行,这两个规则按照自己的流程触发一系列规则后,再由一个事件“并” 集来完成规则的同步,如图3 - 6 。 j o ne v e n t - 2 停 c o n d m e 0 2 - 1 型七脚割7 t h e ni 。 i o n - 2 - 1 i f o n d m o l t ie v e m i :cl 也t h e j n a 艘c l t o n - 叫i - v 、 百【瓦口 1 堡l 墅! ! ! 竺丝l l t h e nl “a 。一l o e 2 ,- 1 :- ) 图3 - 6 :e c a 规则实现并行流程结构 规则l 完成自己的动作a c t i o n - 1 后,触发事件e v e n t - 2 ,而有两个规则( 规则 2 1 和规则2 2 ) 的触发事件都是e v e n t - 2 ,所以规则2 1 和规则2 - 2 同时被触发, 并执行相应的规则序列。在同步时,规则i 的触发事件是集合“e v e n t - i l e v e n t - i 一2 ”,也就是说只有当规则( i 1 ) 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机高级维修师考试题及答案
- 期末导游业务试题及答案
- 2025飞机维修技工考试题及答案
- 九年级历史下册 第三单元 第8课《第一次世界大战的进程及结果》说课稿3 华东师大版
- 高速公路承包施工合同(3篇)
- 公司向个人提供无抵押贷款合同模板
- 股权激励型干股股份投资合作协议书
- 高标准工伤赔偿合同
- 2025贵港公务员面试题及答案
- 宠物保险代理公司与宠物主人服务合同
- 《参与民主生活》参考教案
- 晕厥诊断与治疗中国专家共识(全文)
- 《一着惊海天》学案
- 【妊娠高血压临床护理探究进展综述6000字】
- 2024年贵州贵阳市矿能集团矿产贸易有限公司招聘笔试参考题库含答案解析
- 高压灭菌器安全培训
- 体育教材-跳皮筋
- 高压电缆抢修方案
- 八年级数学下册《勾股定理》单元测试卷(带答案解析)
- 名词专项练习-集体名词
- 粉尘清扫清洁记录表
评论
0/150
提交评论