规则引擎教程--版本控制

    我们在规则编写时,往往会遇到规则反复变化的情况。若我们要每次都去修改规则逻辑,不仅会需耗大量时间,而且还对每次修改的具体的规则不能做好记录。规则引擎对每次修改保存之后的规则包都会记录成一个版本,然后对每个规则包的每个版本都有具体控制,我们不但可以把规则包恢复到任意的历史版本,而且可以比较每个版本之间的具体差别。

 

    规则管理系统顾名思义是一套用于管理规则的系统。我们可以直接把在规则配置器中的规则包,规则工程上传到规则管理系统中;也可以从规则管理系统中导入规则包、规则工程到规则配置器上。在该系统中有:规则管理,用户管理,权限管理,系统管理四大模块。在规则管理这一模块,可以管理每个规则包的各个版本。

 

    在登录规则管理系统之前,要先把相关服务开启。首先,要开启“tomcat”,如下图:

 

 

 


规则引擎教程--版本控制_第1张图片
 

其次,要开启规则管理系统的数据库服务:mysql。如下图:


规则引擎教程--版本控制_第2张图片
 

我们打开浏览器(建议IE8以上),在地址栏输入http://localhost:8880/index.jsp,会出现下图所示的页面:


规则引擎教程--版本控制_第3张图片
 用户名输入“admin”,密码输入“123456”,点击登录,出现下图所示的页面:


规则引擎教程--版本控制_第4张图片
 我们可以看到在规则管理系统中目前只储存了一个规则工程“多国工资”,在这工程下有9个规则包。若从规则配置器中导入了规则包到规则管理系统中,便会在“规则工程”菜单栏中出现相应的规则包;若是导入新工程,便会出现对应的工程。

 

在编写规则之前,先登录规则服务器,这样我们就可以把编写的规则工程、规则包、jsp页面上传到“规则管理系统”中。登录过程如下图所示:


规则引擎教程--版本控制_第5张图片
 

 

 

选择“登录规则服务器”之后会出现下图所示的页面:

 

 


规则引擎教程--版本控制_第6张图片

这里的登录名和密码和规则管理系统的用户名与密码是一致的。点击确定之后,会出现下图所示的提示框:


规则引擎教程--版本控制_第7张图片
 

这表明已成功登陆到服务器中。然后我们在规则配置器中的每步操作都会以“admin”用户记录下来:如创建,修改规则、规则集,规则包等,都会在该规则、规则集的属性窗口中“修改人”中记录“admin”。

 

右键工程“功能解析”,选择“新建规则包”,创建名为“规则比较”的规则包。步骤如下图所示:


规则引擎教程--版本控制_第8张图片
 


规则引擎教程--版本控制_第9张图片
 在规则包的对象库中只需定义两个“int”类型的变量:ab),bb)。如下图所示:


规则引擎教程--版本控制_第10张图片
 

 

在规则包添加完成,变量定义完成之后,就要在规则包中添加具体规则逻辑。

在规则包中添加个“a赋值”的规则。步骤如下图所示:


规则引擎教程--版本控制_第11张图片
 

在该规则中,只需添加“a=1”的规则逻辑。实现过程如下:


规则引擎教程--版本控制_第12张图片
 
规则引擎教程--版本控制_第13张图片

规则引擎教程--版本控制_第14张图片
  


规则引擎教程--版本控制_第15张图片
 

 

 


规则引擎教程--版本控制_第16张图片
 
规则引擎教程--版本控制_第17张图片
 

确认之后,该规则逻辑就编写完成了。

 

<!--[if !supportLists]-->第一,   <!--[endif]-->我们添加个“b赋值”的规则,添加完成后如下图:


规则引擎教程--版本控制_第18张图片
 

 

我们在该规则中,需实现的逻辑如下图:


规则引擎教程--版本控制_第19张图片
 

在两个变量的赋值都完成之后,需要对规则包进行保存并编译。点击“全部保存”按钮之后,会保存所有未被保存的规则包的rpk文件和生成规则包的rsc文件。操作步骤,如下图所示:

 


规则引擎教程--版本控制_第20张图片
 

 

在保存完毕之后,我们可以在消息窗口栏,看到相应的信息:

规则引擎教程--版本控制_第21张图片

规则包在编写、保存之后,要把规则包上传到规则服务器上。上传过程如下:


规则引擎教程--版本控制_第22张图片
 


规则引擎教程--版本控制_第23张图片
 

 

点击“是”之后,规则包就上传到了“规则管理系统”中。如图所示:


规则引擎教程--版本控制_第24张图片
 
规则引擎教程--版本控制_第25张图片
 

你可能感兴趣的:(规则引擎,版本控制,规则库,规则管理)