旗正规则引擎规则编辑

看到有人问,旗正规则引擎定位就是规则逻辑实现简易,业务员也可以执行,可是试用的时候,突然发现还是有些凌乱,规则编辑感觉还是有点繁琐啊。那我说,方法还是没对路,接下来,我来给献上宝典。

规则包开发

通过“开始-->程序-->旗正商业规则定制平台—>规则配置器”启动规则配置器。启动后, 关闭欢迎首页, 进入到缺省的开发工作空间。

通过规则配置器的测试步骤包括创建工程、创建规则包、定义对象库、定义规则、发布规则包、测试规则包、创建web页面、web方式测试规则包

以下分别讲述这些步骤具体的操作方法:

1、创建工程

点击规则编辑器中的新建工程按钮:

输入“体验开发”作为工程名,如果不需要改变工程存储路径,则直接点击确定即可:

点击确定后,规则编辑器中就会出现“体验开发”的规则工程,如下:

通过windows的资源浏览器,也可以看到已经新建的规则工程的存储位置:

如下所示,可以看到在VisualRules的安装目录下的Samples目录下面,新建了一个“体验开发”的目录,在此目录下面有一个default.prj文件,以及两个目录分别为data和bak目录。其中data目录,将存放在此工程下新建的规则包。而bak目录将存放此工作下所有自动保存的规则包,以及每次备份产生的规则包备份文件。

其中,以 .auto结尾的文件,都是定时自动保存的规则包,当编辑器异常退出后,会提示是否恢复自动保存的规则包。

以.rpk~1~这种类型结尾的规则包,都是每次备份产生的规则包备份文件。当选择了恢复规则包历史时,会读取这些规则包备份文件,并且根据所选的进行恢复。

如果通过编辑器恢复失败,可以手工做恢复操作。只需根据文件的修改日期,找到需要恢复的文件,将其后缀改成.rpk之后,然后覆盖data下面对应的文件即可完成恢复工作。

2、创建规则包

右键点击“体验开发”规则工程,在弹出的菜单中选择“新建规则包”:

点击新建规则包后,在体验开发工程下面就会新建一个“规则包”的规则包,可以将其直接改名为hello:

3、定义对象库

然后展开hello规则包,点击规则包下面的“对象库”,在中间的编辑窗口中,点击添加按钮,并且输入需要添加的变量名、类型和显示名称,如下所示:

同理添加另一个变量,名称为welcome,类型为string,显示名称为欢迎辞:

4、定义规则

右键点击规则包,然后在弹出的菜单中,选择“新建规则”:

点击后,会在规则包下面新建新建一个“规则”,将其名称修改为“返回欢迎辞”:

点击“返回欢迎辞”规则后,在中间的规则编辑窗体,设置条件和动作。首先添加“添加条件”按钮:

之后,点击“请选择”,在弹出的菜单中,选择传入数据—>姓名:

然后,点击条件的判断符上,在弹出的菜单中选择“不为空”:

条件设置完后,设置动作。点击“添加动作”按钮,如下:

然后,在那么动作中,点击“请点击选择”,在弹出菜单中,选择“变量赋值”:

然后,点击“选择变量”,在弹出菜单中选择传入数据à欢迎辞:

在之后生成的赋值语句中,点击“请点击选择”,在弹出菜单中选择“输入常量值”:

然后点击“空”,在弹出的文本框中,录入“Hello”,并点击确定。

添加完“Hello”之后,点击其后面的[],在弹出菜单中选择“+”:

之后,点击“请点击选择”,在弹出的菜单中,选择“选择值”:

然后点击“请选择”,选择传入数据—>姓名:

设置完,满足条件的动作之后,在设置不满足条件的动作。首先将该规则的属性设置为“支持否则”,在规则的属性窗口中,在否则动作后面的选择框中打上勾:

之后,规则的编辑窗口,会增加否则动作。可以按照上面设置那么动作的方式来设置欢迎辞赋值为“Hello World”语句,也可以通过复制那么中的动作到否则中,然后进行修改。以下演示,怎么复制操作,首先通过鼠标拖动来选择那么中的赋值行,然后鼠标右键点击在赋值行上,选择弹出菜单中的“复制”:

复制后,右键点击否则动作中的“添加动作”按钮,然后选择“粘贴”:

然后在粘贴后的赋值行中,点击“+”,选择“[]”:

然后,点击“Hello”,在弹出的输入框中,输入“Hello World”,点击确定:

到此,就完整了规则的设置:

5、发布规则包

规则包发布时,需要根据该规则包生成对应的java代码,然后将该代码编译,生成.rsc文件。将此文件输出到调用该规则包的应用程序的路径目录中,就完成了发布操作。

VisualRules可以采用自动发布和手动发布两种方式,自动发布可以设置缺省的发布路径,并且设置成在保存的时候,同时发布规则包。手动发布是在发布时,指定输出路径:

自动发布设置

         首先点击工程菜单下的“设置”:

选中“规则包保存后自动编译选项”,并且设置缺省的输出路径。缺省情况下为“Tomcat\webapps\ROOT\WEB-INF\classes”,此路径是一个相对路径,相对于VisualRules的安装目录下。

因此如果VisualRules安装目录是C:\visualRules,缺省情况下,点击保存后,会自动将规则包编译后的rsc文件保存到 C:\visualRules\ Tomcat\webapps\ROOT\WEB-INF\classes中。

自动发布

在规则配置器中,点击保存后,会将当前规则包以rpk文件的方式,并且将编译后的规则包以rsc文件的方式保存。查看规则工程目录的data下面的文件:

可以看到,在规则工程的data目录下,生成了hello.rpk的文件。其中hello就是规则包的可调用执行名。

查看规则配置器中设置的自动发布路径下,已经生成了hello.rsc文件:

此目录是VisualRules自带的Tomcat的缺省工程路径,当规则包发布到此目录后,就可以通过tomcat的http://localhost:8880/下面的jsp文件来访问这些规则包。

手工发布:

为了能够通过规则服务来访问规则包,需要将规则包发布到VisualRules的规则服务路径中,此路径在VisualRules安装目录的rules目录下。

在规则包上点击右键,选择弹出菜单中的导出—>导出规则包编译文件:

然后选择VisualRules安装目录的rules目录,点击确定:

出现以下弹出窗体后,表示发布成功:

然后查看VisualRules安装目录的rules目录下:

已经生成hello.rsc文件,说明发布成功。

6、测试规则包

可以直接在规则配置器中,测试规则包的执行情况。点击规则包后,在中间的编辑窗体的测试窗体中,可以输入传入值,点击执行后可以显示传出值:

在姓名对应的“初始初始值”位置,双击鼠标后,可以输入初始值,假设输入为旗正,然后点击执行按钮。可以看到执行结果:

欢迎辞对应的“实际结果值”位置中,就显示了执行后的结果:“Hello 旗正”。


规则集成

Java类调用规则包

除了规则配置器嵌入的页面配置器生成的jsp页面,调用规则包之外,其他的java工程如果要调用此规则包,可以通过规则引擎类类进行调用。以下演示eclipse中java工程如何调用规则包。

设置java工程路径

首先在eclipse的java工程中,点击属性设置其路径。在其属性窗口的Java Build Path中设置Libraries,通过Add External JARs…加入VisualRules安装目录的lib下的engine.jar,在通过Add External Class Folder…加入VisualRules安装目录下的rules目录。如下所示:

添加Java测试类

         在java工程中添加一个java类,名为TestHello.java,其内容编辑如下:

import com.flagleader.engine.RuleEngine;

importcom.flagleader.engine.RuleEngineFactory;

public class TestHello {

publicstatic void main(String[] args) {

try{

RuleEngineengine = RuleEngineFactory.newInstance().getRuleEngine();

engine.put("name","访问测试");

engine.excute("hello");

System.out.println(engine.getString("welcome"));

}catch (Exception e) {

e.printStackTrace();

}

}

}

执行java测试类

点击执行后,可以看到如下结果:

说明已经调用了hello规则包,并且根据传入的name值“访问测试”,返回处理结果是 hello+“访问测试”。

同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。

时间: 2024-08-08 17:43:34

旗正规则引擎规则编辑的相关文章

规则引擎在数据分析中的应用

前言:规则引擎通过将业务规则和开发者的技术决策分离, 实现了动态管理和修改业务规则而又不影响软件系统的需求.以下通过实例对基于SQL 查询.自定义规则等一系列场景来说明规则引擎在数据分析中的应用. 在现代的企业级项目开发中, 商业决策逻辑或业务规则往往是硬编码嵌入在系统各处代码中的.但是外部市场业务规则是随时可能发生变化的, 这样开发人员必须时刻准备修改.更新系统,降低了效率.在这种背景下, 规则引擎应运而生,它通过将业务规则和开发者的技术决策分离, 实现了动态管理和修改业务规则而又不影响软件系

jboss规则引擎KIE Drools 6.3.0 Final 教程(1)

前言 目前世面上中文的KIE DROOLS Workbench(JBOSS BRMS)的教程几乎没有,有的也只有灵灵碎碎的使用机器来翻译的(翻的不知所云)或者是基于老版本的JBOSS Guvnor即5.x的一些教程,而且这些教程都是"缺胳膊少腿"的,初学者看后不知道它到底在干吗?能干吗?能够解决自己系统中什么问题. 所以笔者自己写了几个例子,把整个最新的英文版的KIE DROOLS 6.3.0.Final的官方教程给串了起来,用于供读者使用并以此来作为入门以及相关SOA理念的推广的第一

.Net规则引擎介绍 - REngine

规则引擎 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规则,并根据业务规则做出业务决策. 个人理解 变化点过于集中在一点,为了适应变化,而给各种场景分别写了各自关于那点的代码逻辑,尽管主要的业务逻辑相同. 适用点举例 计算折扣,需要根据客户的积分决定打折点 工作流具体节点的路由控制 其他(希望大家补充下,想象力有限...) 用法 以计算客户打折点为例: 我们首先得新建一个规则文件,用

新手使用旗正规则引擎

新手使用旗正规则引擎 1   注意事项 要注意服务是否启动,其中服务包括规则引擎的服务和数据库(安装规则引擎时会自动安装mySql)服务,这两个服务会在安装规则引擎时自动启动,其中还有一个比较容易遗忘的服务Apache Tomcat rules,如果没有启动该服务,显示页面信息将是无法链接到你请求的页面. 数据上有四种数据,分别为传入数据.临时数据.外调数据.常量数据.根据这些名字能很好的找到你要定义的变量放在哪个位置.要注意你定义的变量不要放错了位置. 对象库下hr下面的表,看这些表的编辑窗体

旗正商业规则引擎和开源及其它规则引擎测试对比

规则引擎在基础软件,或者在很多系统中已经不是稀奇的玩意,最近这几年,国内不断兴起很多的规则引擎,至于什么是规则引擎,在这篇文章中,就不做介绍了,我想能看以下内容的,多少对规则引擎也都有所了解了. 国内在2003年的时候,出了第一款商业规则引擎-旗正商业规则引擎(VisualRules),为什么这么说呢,因为再此之前,国内所用的规则引擎,都是国外产品,或者开源产品,纯自主研发旗正是第一款,直至目前为止,纯自主研发的规则引擎少之又少.那么旗正商业规则引擎到底怎样?今天,给大家介绍一下,顺便,我们拿出

规则引擎如何优化生产调度系统

生产调度系统是制造企业MES系统的重要组成部分,对应于生产管理系统的短期计划安排,主要目标是通过良好的作业加工排序,最大限度减少生产过程中的准备时间,优化某一项或几项生产目标,为生产计划的执行和控制提供指导.在不同的问题环境中,生产调度的优化目标也不同.在生产制造企业中影响生产调度的因素很多(比如设备.工人的生产技能等),这些因素样式复杂,种类繁多,灵活多变.另外在不同的环境下,影响生产调度的规则数量.优先级都会发生变化.过去生产调度系统将业务逻辑与主体代码紧耦合,业务规则以: 的形式被硬编码到

规则引擎是什么?最简单的解释

在软件行业里面,规则引擎作为基础软件的一种,也是属于比较神秘的一种存在,这不是说出来大家都能了然的一款产品,甚至有很多的IT人,在听到这个词的时候,表现出来的也是一头雾水,"什么是规则引擎?"通常都会听到这样的问题.我记得在一次展会上,一个客户问规则引擎是什么?技术人员跟他聊了半个小时也没把他说明白. 我不是玩技术的,所以对于规则引擎的一些代码表现形式并没兴趣,当然,最重要的是我根本看不明白那些密密麻麻的玩意,让我头晕.我还是从最简单表达方式来说说我自己的理解吧. 规则引擎,从字面上面

简说规则引擎在促销返利领域的应用

大型生产型企业销售渠道的建设,一般都采用代理商政策.根据地区.产品等情况,设立不同级别的代理商,不同地区.不同级别代理商有着不同的促销返利政策,也需根据企业.市场现状对促销政策进行调整,另一方面,也需要对促销政策进行风控管理,以防止不法分子利用政策空隙牟取利益. 生产型企业需要每个季度,根据最新的促销政策,需要计算每个代理商的返点金额.这项工作目前基本上都是采用手工采用Excel进行计算,效率比较低下,当达到一定数量级数据,手工计算不能及时进行计算进行返利,对企业造成一定的影响. 如果要将返点计

简说规则引擎在促销返利中的应用

大型生产型企业销售渠道的建设,一般都采用代理商政策.根据地区.产品等情况,设立不同级别的代理商,不同地区.不同级别代理商有着不同的促销返利政策,也需根据企业.市场现状对促销政策进行调整,另一方面,也需要对促销政策进行风控管理,以防止不法分子利用政策空隙牟取利益. 生产型企业需要每个季度,根据最新的促销政策,需要计算每个代理商的返点金额.这项工作目前基本上都是采用手工采用Excel进行计算,效率比较低下,当达到一定数量级数据,手工计算不能及时进行计算进行返利,对企业造成一定的影响. 如果要将返点计