首页 实现柔性工作流管理的规则引擎设计

实现柔性工作流管理的规则引擎设计

举报
开通vip

实现柔性工作流管理的规则引擎设计 2009年第7期 (总第118期) Chinese hi- tech enterprises NO.7.2009 (CumulativetyNO.118) ------------------------------------------------------- 中国高新技术企业 工作流技术正成为 21世纪新的热点。工作流管理系统在 工作流管理联盟(WorkflowManagement Coalition,WFMC)制定 的一系列标准下得到了迅猛发展和广泛应用。现代化企业的生 产与经营方式面临着业务重组...

实现柔性工作流管理的规则引擎设计
2009年第7期 (总第118期) Chinese hi- tech enterprises NO.7.2009 (CumulativetyNO.118) ------------------------------------------------------- 中国高新技术企业 工作流技术正成为 21世纪新的热点。工作流管理系统在 工作流管理联盟(WorkflowManagement Coalition,WFMC)制定 的一系列 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 下得到了迅猛发展和广泛应用。现代化企业的生 产与经营方式面临着业务重组,流程再造,以适应不断变化的 市场需要,客观上对工作流管理系统提出了适应变化、适时更 新的高要求,也就是要建立具有自适应能力,灵活定制业务流 程的柔性工作流管理系统。工作流是业务流程的抽象,大多以 静态、固化的形式表现,一般的工作流管理系统在业务流程建 模、定制开发、表达能力与系统灵活性方面还不能做到动态、适 时地调整,不能做到根据变更需求,灵活地调整工作流程。 工作流引擎是工作流管理系统的核心,本文对工作流引 擎的核心构件———规则引擎进行分析、设计,把静态的工作 流进一步抽象,剥离出业务逻辑与业务规则,对其变更规则进 行规范,由条件、事实及规则(依赖与转换规则)组成规则引 擎,实现工作流管理系统的灵活性、自适应性。 一、相关概念 (一)规则 规则是知识表达最常用的形式,规则是业务过程的一种 抽象,用来描述如何解决问题,基本上由条件与相应操作两 部分组成,在工作流引擎中可以定义成 IF- THEN结构,IF部 分是给定的条件,THEN部分为相对应的操作(动作),规则可 以有多个条件,用 AND/OR连接。规则的条件由(对象,连接 算子与取值)三元组组成,连接算子一般是 is、is not、are、are not等逻辑运算子进行逻辑判断,其值为一个布尔值;操作部 分为条件成立时相应的操作或事实。 (二)规则引擎 规则引擎是工作流引擎的核心组成部件,对规则的抽取、 判定、管理,为工作流引擎这一工作流管理系统核心功能提供 前置(依赖性规则)条件与后置(转换性规则)提供规则调度与 策略管理。它对频繁变化的业务流程进行规则抽象,剥离出 来放入规则库中管理和修改,其基本过程是将提交给它的事 实数据对象与加载在引擎中的业务规则进行测试和对比,判 定是否激活相应的业务规则,触发对应的操作,完成对工作流 引擎的路由控制(调度)及状态变更,达到系统动态调整目的。 规则引擎一般由事实库、规则库、推理三部分构成。其运行机 制是通过在事实库、规则库中快速检索对象及加载的各项规 则进行匹配,激活符合条件的规则,形成优先级排序,解决冲 突,决定规则的响应与触发。 (三)工作流、工作流管理系统、工作流引擎 工作流是业务过程的计算模型,是对业务逻辑和业务规 则在计算机的数值模型表示,并实施计算。业务过程是业务 活动的集合,通过业务规则进行前后链接,相互协作,形成一 个有机整体,达到一个共同的业务过程控制管理的目标。 工作流管理系统是符合WFMC标准的软件系统,完成工作 流的定义、建模、调度,并对活动、节点以及状态进行管理,使业务 过程按照预先定义好的工作流逻辑推进工作流实例的执行。 工作流引擎是工作流管理系统的核心,为工作流管理系统 提供一组运行时解释或者执行的一组服务的数据模型和软件 体,其核心功能包括路由选择(调度)、数据交换、过程流转与状 态变换等,其核心就是要决定任务表中各个任务运行实例后的 后续处理节点,使活动的执行按照预定义的路线(规则)流动。 二、规则引擎实现柔性的工作流管理 规则引擎是工作流引擎的核心构件,流程引擎的路由调 度、过程流转与状态变迁是基于业务规则来实现的。规则引 擎主要实现的功能是存储、分类和管理规则,验证规则的一致 性,通过规则推断其他规则、联系规则和执行这些规则的应用 程序。其主要思想是从具体的业务逻辑中分离出业务规则, 以实现业务变更的灵活性。 传统的开发模式,业务逻辑往往是被直接用程序代码固 定,系统维护代价高,业务规则的微小变化往往导致系统的变 更,数值模型与业务流程的全面修改。 通过规则引擎提供一种机制,将业务处理逻辑和业务规 则分离,业务逻辑是变化频度最高的,通过专门的业务模型工 具可以让用户动态地、适时地进行修改,而业务规则的变动只 是涉及规则库,策略的调整,不改变整个系统的结构,可以实 现动态的变更,满足柔性工作流管理系统建设的需要。 规则引擎有两个重要任务:分离业务逻辑和业务规则;规 则的形式化描述。 将业务流程中的业务逻辑和业务规则分离本质是一个抽 象过程,将关键的业务判断条件与响应操作提取出来,即规则 实现柔性工作流管理的规则引擎设计 梅胜全 (成都理工大学信息工程学院,四川 成都 610059) 摘要:工作流管理系统是现代企业流程管理的重要软件系统。实现柔性的工作流管理,需要工作流引擎具有适应需 求变更,动态调整业务流程的功能。文章分析了规则表示、规则引擎的组成构件,功能与特点,并设计了规则引擎。规 则引擎作为工作流引擎的核心,提供规则抽取、表示、判定以及活动响应的服务集,为路由控制(活动调度)、规则判 定、活动转移,状态监控提供关键支持,实现动态流程调整,满足柔性的工作流管理需要。 关键词:工作流;业务过程;业务规则;规则引擎;工作流引擎 中图分类号:TP311 文献标识码:A 文章编号:1009-2374(2009)07-0011-02 11- - 图 2 规则引擎运行流程时序图 提取,形式化描述业务规则就是对业务规则的数值表述,形成 规则库,与事实库一起被规则引擎调用,达到业务流程的可运 算化。同时必须考虑规则间的冲突并提供冲突解决机制,所 谓规则冲突是指规则在相同条件下的值域交叉引起的判定 歧义。一般可根据设定规则的优先级顺序,在规则发生冲突 时采纳较高优先级规则的判定反馈,或者采用队列模式,依 据先进先出原则进行判定,或者考虑业务中规则使用频率, 低频率较高或较低的规则反馈。 规则的形式化描述是为了使业务规则的代码化,能被规则 引擎识别,并参与判定、运算。根据 Rete算法(网络算法)思想, 将规则分割为 LHS(Left Hand Side)和 RHS(Right Hand Side), LHS由规则的条件部分组成,RHS由规则的判定部分组成。 三、规则引擎设计 规则引擎这一软件构架可以结合复杂的业务流程对业务 策略和逻辑进行更改,业务流程中指定的规则会随时间而改 变,一般而言,业务流程中业务规则(决策或策略)最容易变 化,因此,业务规则引擎的设计能够直接创建和修改业务规则 集,而业务规则通过规则编辑器进行创建,生成规则库(策略 库),由业务规则引擎直接执行它们。 (一)规则引擎组件图 图 1 规则引擎组件图 一个规则引擎主要由规则引擎服务、事实库、业务规则编 辑器以及规则库四个部分组成,其中:(1)规则引擎服务:解析 和执行业务规则,其为系统级服务;(2)事实库:操作数据的 API函数集合,包含运行时数据、常数以及流程变量三种类 型;(3)业务规则:一个业务规则包含一组条件和在此条件下 执行的操作(动作),它们表示业务规则应用程序的一段业务 逻辑;(4)业务规则库:许多业务规则的集合,每条业务规则都 包含一个条件过滤器和多个动作。条件过滤器是多个布尔表 达式的组合,其结果仍然是一个布尔表达式;在程序运行时, 动作将会在条件过滤器返回结果为真的时候执行;(5)业务规 则编辑器:是生成业务规则的图形化编辑工具。 (二)规则引擎运行流程 从图 2可以清晰看出规则引擎在规则调用、解析、条件判 定及转移规则的完整流程。 (三)规则引擎接口 规则引擎作为工作流引擎的一个核心部件,这里给出一 般需要的接口。 表 1 规则引擎接口 四、工作流引擎的动态适应策略 可以说规则引擎是实现柔性工作流管理系统的核心部 件,一个工作流管理系统需要通过规则引擎进行服务的主要 是:状态转换规则(活动间的连接线);前置规则(向前依赖规 则);后置规则(向后转发规则);工具栏按钮访问权限 /展现 控制规则;循环审批结束规则(指派)。这些通过规则引擎可以 灵活配置,满足复杂多变的个性化需求。 柔性工作流引擎的主要任务是启动流程、指派任务、控制 路由转移条件,并对工作流实例进行状态监控,并能动态适应 流程的变更。当一个业务流程发生变化时,存在两种动态修 改:一是业务逻辑的变更,另一个是业务规则的调整。这也就 是两种柔性工作流引擎的自适应策略:(1)通过业务过程定义 与管理工具动态修改,通过相应的管理工具(流程建模工具) 对流程的路由选择进行修改,若是新增流程可以直接创建原 始模型,若修改运行中的流程实例,可以创建新的副本;(2)通 过规则引擎的规则编辑器对系统属性与相关数据进行动态 修改,具有相当大的灵活性,规则与业务逻辑的分离,使得整 个工作流管理系统具有极大的灵活性。 五、结论 本文重点讨论了工作流引擎中规则引擎的结构、功能,分 析了工作流引擎的核心功能,将业务逻辑与业务规则进行分 离,通过规则引擎提供的服务,支持路由控制、状态监控,可以 实现柔性的工作流管理系统,具有以下的优点:规则从流程中 剥离,可以实现规则本身的可管理性,通过规则引擎,业务逻 辑不再依赖于程序及开发人员;管理随需的流程为用户动态 修改流程定义提供了有效的工具与方法;基于规则引擎的工 作流管理系统,配置灵活,具有良好的稳定性,可扩展性及灵 活的业务处理能力。 参考文献 [1]路春光,孟丽丽,郝立文,马琨.基于 WEB的柔性工作 流引擎的设计[J].微计算机信息,2006,(5). [2]张晓东,柴跃廷,任守榘.基于业务规则的事件驱动建 模方法[J].清华大学学报,1999,39(7). [3]张建,郝晓玲.支持群体协作的工作流引擎设计[J].山东 建筑工程学院学报,2006,(3). [4]于海波,车海燕,吕巍.一种 RB-RBAC模型规则冲突 消解算法[J].计算机工程与应用,2006,(42). [5]陶晓俊,朱敏.基于规则引擎的企业服务开发模式[J].计 算机技术与发展,2008,(18). [6]冯梅,王宏安,金宏,刘海龙,戴国忠.基于 Rete算法的 多 Agent的实时协同推理[J].计算机科学,2003,(30). 作者简介:梅胜全(1970-),男,四川南部人,成都理工大 学信息工程学院博士生,研究方向:地球探测及石油物探数据 处理、静校正与地震反演、计算机软件与应用。 接口名称 功能描述 IFact 无实际功能,定义属性 ICodeExpression 定义逻辑表达式结构 ICondition 定义条件结构 IExpressionOption 定义数据(Fact)结构,profile ILogicExpresion 定义运算符类型,对成逻辑表达式 12- -
本文档为【实现柔性工作流管理的规则引擎设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_181941
暂无简介~
格式:pdf
大小:104KB
软件:PDF阅读器
页数:2
分类:互联网
上传时间:2011-03-24
浏览量:51