旗正规则引擎规则编辑指南

简介:
看到有人问,旗正规则引擎定位就是规则逻辑实现简易,业务员也可以执行,可是试用的时候,突然发现还是有些凌乱,规则编辑感觉还是有点繁琐啊。那我说,方法还是没对路,接下来,我来献上指南。
规则包开发
通过“开始-->程序-->旗正商业规则定制平台—>规则配置器”启动规则配置器。启动后, 关闭欢迎首页, 进入到缺省的开发工作空间。
通过规则配置器的测试步骤包括创建工程、创建规则包、定义对象库、定义规则、发布规则包、测试规则包、创建web页面、web方式测试规则包
以下分别讲述这些步骤具体的操作方法:

1、创建工程

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

1

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

2

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

3

通过windows的资源浏览器,也可以看到已经新建的规则工程的存储位置:
如下所示,可以看到在VisualRules的安装目录下的Samples目录下面,新建了一个“体验开发”的目录,在此目录下面有一个default.prj文件,以及两个目录分别为data和bak目录。其中data目录,将存放在此工程下新建的规则包。而bak目录将存放此工作下所有自动保存的规则包,以及每次备份产生的规则包备份文件。
其中,以 .auto结尾的文件,都是定时自动保存的规则包,当编辑器异常退出后,会提示是否恢复自动保存的规则包。

以.rpk~1~这种类型结尾的规则包,都是每次备份产生的规则包备份文件。当选择了恢复规则包历史时,会读取这些规则包备份文件,并且根据所选的进行恢复。
如果通过编辑器恢复失败,可以手工做恢复操作。只需根据文件的修改日期,找到需要恢复的文件,将其后缀改成.rpk之后,然后覆盖data下面对应的文件即可完成恢复工作。
4

2、创建规则包

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

5

点击新建规则包后,在体验开发工程下面就会新建一个“规则包”的规则包,可以将其直接改名为hello:
 ![6](https://yqfile.alicdn.com/7d2a2dec2e6c5d2599a23207cd3cb61d290612f9.jpeg)

3、定义对象库

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

7

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

8

4、定义规则

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

9

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

10

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

24

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

25

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

26

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

27

5、发布规则包

规则包发布时,需要根据该规则包生成对应的java代码,然后将该代码编译,生成.rsc文件。将此文件输出到调用该规则包的应用程序的路径目录中,就完成了发布操作。
VisualRules可以采用自动发布和手动发布两种方式,自动发布可以设置缺省的发布路径,并且设置成在保存的时候,同时发布规则包。手动发布是在发布时,指定输出路径:

自动发布设置

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

28

选中“规则包保存后自动编译选项”,并且设置缺省的输出路径。缺省情况下为“Tomcat\webapps\ROOT\WEB-INF\classes”,此路径是一个相对路径,相对于VisualRules的安装目录下。
因此如果VisualRules安装目录是C:\visualRules,缺省情况下,点击保存后,会自动将规则包编译后的rsc文件保存到 C:\visualRules\ Tomcat\webapps\ROOT\WEB-INF\classes中。

29

自动发布

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

30

可以看到,在规则工程的data目录下,生成了hello.rpk的文件。其中hello就是规则包的可调用执行名。
查看规则配置器中设置的自动发布路径下,已经生成了hello.rsc文件:

31

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

手工发布:

为了能够通过规则服务来访问规则包,需要将规则包发布到VisualRules的规则服务路径中,此路径在VisualRules安装目录的rules目录下。
在规则包上点击右键,选择弹出菜单中的导出—>导出规则包编译文件:

32

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

33

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

34

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

35

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

6、测试规则包

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

36

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

37

欢迎辞对应的“实际结果值”位置中,就显示了执行后的结果:“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目录。如下所示:

38

添加Java测试类

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

import com.flagleader.engine.RuleEngine;
import com.flagleader.engine.RuleEngineFactory;
public class TestHello {

public static void main(String[] args) {
    try {
        RuleEngine engine = RuleEngineFactory.newInstance().getRuleEngine();
        engine.put("name", "访问测试");
        engine.excute("hello");
        System.out.println(engine.getString("welcome"));
    } catch (Exception e) {
        e.printStackTrace() ;
    }
}

}
执行java测试类

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

39

说明已经调用了hello规则包,并且根据传入的name值“访问测试”,返回处理结果是 hello+“访问测试”。
同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。
相关文章
|
2月前
|
数据采集 监控 搜索推荐
质量规则支持自定义属性,规则管理更便捷
随着企业数据治理开展到一定阶段,对质量监控规则的精细化管理诉求进一步提升,需要为质量规则配置更多属性信息以支持后续的统计的分析。Dataphin V4.0版本新增了自定义质量规则属性的能力,通过简单的配置即可实现灵活、高效的规则管理,满足多样化诉求。
281 0
|
7月前
|
Prometheus 监控 Cloud Native
夜莺自定义告警模板
夜莺自定义告警模板
|
4月前
|
存储 数据处理
Dataphin集成任务支持自定义FTP标记完成文件内容(V3.14)
在文件传输的场景中,标记完成文件(有时也被称为标档文件)作为一种重要的确认机制被广泛应用。这一机制通过创建特定的“传输完成标识文件”,用于明确指示数据文件已成功完成全量传输,并达到可以进行下一步业务处理的状态,从而有效防止了基于不完整数据流的错误操作。
|
6月前
|
JSON 运维 监控
实用干货丨Eolink Apikit 配置和告警规则的各种用法
API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍 Eolink Apikit 中使用的告警规则,帮助开发者和运维人员更好地监控和管理 API。
54 0
|
XML 编译器 Go
第四十五章 开发自定义标签 - 规则和操作
第四十五章 开发自定义标签 - 规则和操作
|
小程序 UED
小程序审核规则大致内容
小程序审核规则大致内容
小程序审核规则大致内容
|
监控 开发者
创建规则|学习笔记
快速学习创建规则
115 0
创建规则|学习笔记
|
监控 Java Linux
系统规则|学习笔记
快速学习系统规则
64 0
|
JSON 测试技术 数据格式
[单账户]标签规范工具(标签策略)使用手册
企业随着上云的深入,对于资源管理的诉求越来越强烈。资源被企业各个子公司、部门等使用的时候,存在资源自产自用,一产复用,共产共用的情况。企业发展最初阶段,满足快速发展的诉求,资源自己生产自己使用。当企业发展到一定阶段,存在资源生产多处复用的情况,以满足业务细分发展。再到资源管理统一生产规划、根据场景复用资源的情况。标签化管理资源共产共用的基础,根据用途、场景、归属进行资源分类。如何把资源标签使用规范就是资源分类的前提。
1045 0
|
SQL JSON 分布式计算
数据集成模块中如何配置脚本模式输入组件
脚本模式组件采用的是配置json的方式配置同步任务。当表单模式透出的配置参数无法支持同步场景诉求时或配置项比较复杂,目前dataphin自定义组件UI不支持时,可采用脚本模式输入组件进行配置。本文将介绍如何同步Mysql 多表join的结果数据作为示例,其余场景均可参照此例的配置。
292 0
数据集成模块中如何配置脚本模式输入组件