面向服务的基于业务规则引擎的业务规则设计方法

文档序号:6434662阅读:298来源:国知局
专利名称:面向服务的基于业务规则引擎的业务规则设计方法
技术领域
本发明属于计算机图形编辑器技术领域,特别涉及一种将业务规则进行图形化描述并转化为规则语言的方法。
背景技术
业务规则引擎,是一种嵌入在应用程序中的组件,主要功能是根据业务规则做出业务决策。现有的业务规则引擎有Dr00lS、IL0g、JesS等。在使用业务规则引擎时,IT团队需要针对公司的业务专门开发一套业务规则设计工具,再交付给业务规则设计者使用。这种开发模式缺点其一通常类似这种业务规则设计工具的开发都是针对特定应用的,也就是说每一个特定的大型应用若想集成业务规则引擎,都必须专门为它开发一个业务规则设计工具,而缺乏一种通用的业务规则设计工具适合所有公司来设计他们的业务规则。其二 本质上这种业务规则设计工具是某一种特定业务规则引擎(如ILog或Drools)的规则语言的设计器,而对于规则语言的语法格式方面,不同的业务规则引擎提供商基本上是各自为政,缺乏一种统一的标准,由此对于业务规则在规则语言层面上的描述还将受到具体的业务规则引擎的限制。

发明内容
为解决现有业务规则缺乏通用性、受限于特定的业务规则引擎的约束的问题,本发明提供一种面向服务的基于业务规则引擎的业务规则设计方法,其实施方案如下面向服务的基于业务规则引擎的业务规则设计方法,包括下述步骤创建一个图形编辑器;在图形编辑器的工具栏中定义统一服务规则建模语言图元库,所述图元库中的图元包括规则集标签图元、规则标签图元、条件标签图元、结果标签图元、服务标签图元、运算符容器标签图元、变量标签图元、运算符标签图元;从图元库中选取图元到图形编辑器的编辑区中,通过属性视图区编辑图元属性, 并且将图元按照业务规则引擎结构进行嵌套,实现业务规则的图形化描述,所述将图元按照业务规则引擎结构进行嵌套的方法是规则集标签图元嵌套规则标签图元,规则标签图元嵌套条件标签图元和结果标签图元,条件标签图元嵌套服务标签图元、运算符容器标签图元和变量标签图元,运算符容器标签图元嵌套运算符标签图元,结果标签图元嵌套服务标签图元;将规则标签图元按优先级顺序连接;将编辑器中创建的对象生成统一服务规则建模语言代码;将统一服务规则建模语言代码转换为规则语言代码。上述方案中,将规则标签图元按优先级顺序连接,是指用带箭头的规则连线将规则标签图元进行顺序连接,以确定规则之间的优先级,其中优先级值按箭头所指方向递减。作为本发明的优选方案,本发明可作如下设计
使用基于Java的图形化编辑框架GEF来创建所述图形编辑器;使用XML来定义统一服务规则建模语言;所述统一服务规则建模语言与规则语言之间的映射关系使用XML来实现,所述规贝1Ji吾言为Drools或ILog或Jess0GEF,Graphical Editor Framework ;上述XML,其全称为Extensible Markup Language,中文含义为可扩展标记语言。本发明的目的是提出一种基于业务规则引擎的业务规则设计方法,使用该方法可以在SOA架构的应用中设计业务规则。其特点是对设计不同的SOA应用的业务规则具有通用性,以及不受限于某种特定的业务规则引擎的约束。本发明方法由两个过程构成业务规则的图形化设计和规则语言代码的转化。以下对本发明的原理作详细介绍
统一服务规则建模语言为实现该方法,本发明提出一种基于XML的通用的规则设计语言,即统一服务规则建模语言,该统一服务规则建模语言在本发明中处于核心地位,它与业务规则引擎的规则语言在结构上存在映射关系,该映射关系可以进行从统一服务规则建模语言代码到规则语言代码的单向转化。统一服务规则建模语言的schema如

图1所示。规则语言映射表为实现该方法,本发明提出一种存储统一服务规则建模语言与规则语言(基于业务规则引擎)语法结构上的对应关系的映射表,当要把统一服务规则建模语言代码转化成业务规则引擎的规则语言时,将以该映射表作为转化的依据。针对不同的业务规则引擎可以开发相应的映射表。以下是针对Drools规则引擎开发的映射表实例的源代码< xml version=" 1.0" encoding="UTF-8" > <!--定义规则文件映射关系-->
〈mappingxmlns:xsi=Mhttp://www.w3.org/2001/XMLSchema-instanceM
xsi:noNamespaceSchemaLocation=MD:\XML\mapping schema.xsd"〉 〈filename name="package"〉 <element>failurl</element> <attribute>name</attribute〉 <suffix>.drl</ suffix〉 〈/filename〉
〈declaration name="package"> <prefix>package</prefix> <blank/>
<attribute>name</attribute〉 <newline/> </declaration> <rule name="rule">
<rulename name="rule"> <prefix>rule</prefix〉 <blank/> <openquotation/> <attribute>name</attribute〉<closequotation/> <newline/> </rulename>
<mlepriority name="rule"> <prefix>salience</prefix> <blank/>
<attribute>priority</attribute〉 <newline/> </rulepriority> <rulecondition name="rule"> <prefix>when</prefix> <newline/>
<element>when</element> <newline/> </rulecondition> <ruleaction name="rule"> <prefix>then</prefix> <newline/>
<element>then</element> <newline></newline> </ruleaction> </rule>
〈/mapping〉业务规则的图形化设计本发明提供一个MVC模式的设计器,能够以图形化编辑的方式设计业务规则,此过程设计出来的业务规则的代码是基于统一服务规则建模语言的。统一服务规则建模语言的标签与view层的图元对应关系如表一所示表一
标签名标签类别图元说明<ruleset>逻辑标签Rs规则集
权利要求
1.面向服务的基于业务规则引擎的业务规则设计方法,其特征在于包括下述步骤 创建一个图形编辑器;在图形编辑器的工具栏中定义统一服务规则建模语言图元库,所述图元库中的图元包括规则集标签图元、规则标签图元、条件标签图元、结果标签图元、服务标签图元、运算符容器标签图元、变量标签图元、运算符标签图元;从图元库中选取图元到图形编辑器的编辑区中,通过属性视图区编辑图元属性,并且将图元按照业务规则引擎结构进行嵌套,实现业务规则的图形化描述,所述将图元按照业务规则引擎结构进行嵌套的方法是规则集标签图元嵌套规则标签图元,规则标签图元嵌套条件标签图元和结果标签图元,条件标签图元嵌套服务标签图元、运算符容器标签图元和变量标签图元,运算符容器标签图元嵌套运算符标签图元,结果标签图元嵌套服务标签图元;将规则标签图元按优先级顺序连接;将编辑器中创建的对象生成统一服务规则建模语言代码;将统一服务规则建模语言代码转换为规则语言代码。
2.根据权利要求1所述的面向服务的基于业务规则引擎的业务规则设计方法,其特征在于使用基于Java的图形化编辑框架GEF来创建所述图形编辑器; 使用XML来定义统一服务规则建模语言;所述统一服务规则建模语言与规则语言之间的映射关系使用XML来实现,所述规则语言为 Drools 或 ILog 或 Jess。
3.根据权利要求1或2所述的面向服务的基于业务规则引擎的业务规则设计方法,其特征在于所述图形编辑器的编辑区具有三个页面,分别由三个子编辑器控制,所述三个子编辑器为Ruleset编辑器、Rule编辑器、XML编辑器,分别通过按钮区中的Ruleset按钮、Rule 按钮、XML按钮打开;所述规则集标签图元嵌套规则标签图元的方法如下用鼠标点击Ruleset按钮,打开 Ruleset编辑器的编辑区页面,先将规则集标签图元从工具栏中用鼠标拖曳到编辑区中,再将规则标签图元从工具栏中用鼠标拖曳到规则集标签图元中;所述规则标签图元嵌套条件标签图元和结果标签图元的方法如下在Ruleset编辑器中用鼠标点击待编辑的规则标签图元,再点击Rule按钮,打开Rule编辑器的编辑区页面, 编辑区显示出该待编辑的规则标签图元,先将条件标签图元和结果标签图元从工具栏中用鼠标拖曳到规则标签图元中,然后将服务标签图元、运算符容器标签图元和变量标签图元从工具栏中用鼠标拖曳到条件标签图元中,再将服务标签图元从工具栏中用鼠标拖曳到结果标签图元中;所述将编辑器中创建的对象生成统一服务规则建模语言代码的方法如下用鼠标点击 XML按钮,在XML编辑器的编辑区页面中即显示流程图生成的统一服务规则建模语言代码; 所述将统一服务规则建模语言代码转换为规则语言代码的方法如下用鼠标点击图形编辑器上设置的规则语言转换按钮,将统一服务规则建模语言代码转换为规则语言代码并存放在计算机存储器中。
全文摘要
一种面向服务的基于业务规则引擎的业务规则设计方法,属于计算机图形编辑器技术领域,解决了现有业务规则缺乏通用性的问题,包括下述步骤创建一个图形编辑器;在图形编辑器的工具栏中定义统一服务规则建模语言图元库;从图元库中选取图元到图形编辑器的编辑区中,通过属性视图区编辑图元属性,并且将图元相互嵌套,实现业务规则的图形化描述;将规则标签图元按优先级顺序连接;将编辑器中创建的对象生成统一服务规则建模语言代码并转换为规则语言代码。本发明以统一服务规则建模语言作为中间语言,屏蔽了不同业务规则引擎在规则语言上的差异,不受限于某种特定的业务规则引擎的约束。
文档编号G06F9/44GK102360291SQ20111029838
公开日2012年2月22日 申请日期2011年10月7日 优先权日2011年10月7日
发明者尹子琴 申请人:云南爱迪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1