获取VisualRules安装程序
VisualRules是一个基于规则引擎实现的可视化定制业务逻辑的商业规则管理系统,同时又具有快速开发java软件项目的功能,是由杭州旗正信息技术有限公司(以下简称:旗正信息,英文称FlagLeader)2003年研究开发的国内目前唯一业务规则管理系统产品。
获取方式:
1:登录旗正信息的官方网站(http://www.flagleader.com),并注册为用户,下载指定版本的VisualRules规则引擎产品的安装程序,还可以下载各种资料文档(推荐方式)
2:通过旗正信息网站首页公开告知的联系方式
<!--[if !supportLists]-->(一) <!--[endif]-->0571-56771736:通过电话联系我们索取指定版本的安装程序。
<!--[if !supportLists]-->(二) <!--[endif]-->[email protected]:通过邮箱联系我们索取指定版本的安装程序。
<!--[if !supportLists]-->(三) <!--[endif]-->646160598,496106920:通过QQ联系我们索取指定版本的安装程序。
搭建开发环境
软件学习的第一步就是搭建这个软件的开发环境,VisualRules也不例外。本小节的内
容就是介绍如何搭建一个VisualRules的开发、运行、团队协同环境。
安装VisualRules
假设您已经通过上面的3种方式获得了VisualRules安装程序,那么我们找到获得的VisualRules安装程序:
,双击该文件,出现以下界面
然后按照步骤选择下一步,中间过程不多说。
直到出现以下界面,表示安装结束,单击完成即可结束VisualRules规则引擎的安装
到这里就表示VisualRules的开发环境就搭建好了,下面我们就用这个环境来编写配置规则,观察运行的效果和熟悉规则配置的过程
编写第一个规则
通过经典的HelloWorld这个例子我们配置第一个规则示例
1:首先我们创建规则工程:
点击文件,选择新建规则工程,然后会出现以下界面
我们把工程命名为:第一个规则示例,存放路径表示把工程存放在本地硬盘的那个目录中,这个按照个人的喜好。
2:工程创建完成后,我们需要添加一个规则包
我们给规则包命名为:HelloWorld,如下图所示:
规则包命名完成后,我们再添加一个规则,规则名为:输出HelloWorld
仅添加了规则集还是不够的,我们还需要有能够操作的对象。
对象添加完成以后,就可以开始配置规则了
规则的编译与运行
规则编写完成后,我们需要编译它,才能执行
如图中1位置所示:选中需要编译的规则包,点击如图所示的图标即可对配置好的规则进行编译。
编译完成后,我们就可以执行规则了
如图所示:选中HelloWorld这个规则包,然后点击1位置的测试,在输入信息(3位置)这个地方输入:中国,然后点击(2位置)的按钮,得到执行结果(4位置):您好,中国,这里我们还可以提供另一种测试方法来查看规则运行结果,用web界面的方式来展示:
在规则包(HelloWorld)上点击右键,然后在弹出的菜单中选择:“添加JSP页面”,页面会根据规则包的名称自动生成对应的JSP页面名称,我们还需要把规则包对象库中的操作对象添加到JSP页面中去
如图所示:在JSP页面上点右键,然后选择:添加字段向导,出现以下界面
选中需要添加的字段,点确定即可
启动Tomcat服务
VisualRules安装时会自动安装Tomcat
这里需要对Tomcat的服务做一个说明,如果在安装时选中了注册Tomcat服务,那么在windows服务中应该可以看到Tomcat的服务名称:Apache Tomcat rules,如下图所示:
启动该服务即可,如果在安装VisualRules时没有注册该服务,那么我们需要再手动注册Tomcat服务,具体方法如下:
1:Win7,Vista,Win8,等系统
第一步:
打开开始菜单,然后在搜索框中输入:cmd,然后在上方出现的搜索结果中的“cmd.exe”上点右键,在弹出的菜单中选择:“以管理员身份运行”,出现以下所示界面
按照途中所示:我们进入到VisualRules的安装目录,图中我的安装目录为D盘根目录,然后再进入安装目录。
在安装目录下我们敲入:registTomcat.bat,然后回车,等待文件执行完成,即可完成Tomcat的服务注册,这个时候我们再打开windows的服务,应该就可以找到:Apache Tomcat rules这个服务了,并启动该服务
在保证Tomcat服务成功启动的情况下,我们打开浏览器,并在地址栏输入:http://localhost:8880/HelloWorld.jsp,回车之后可以看到如下所示的显示界面
页面中存在下列元素:
输入信息
输出信息
提交
重置
我们在输入信息处填入:中国,然后点击提交,会得到以下图片所示的结果
输出信息:您好,中国
规则
学习VisualRules 规则语法的目的是为了在应用当中帮助我们解决实际的问题,所以学会并灵活的在规则当中使用就显的尤为重要。本章的内容包括规则的基本的约束部分语法讲解(LHS)、规则动作执行部分语法讲解及规则的各种属性介绍。
规则文件
在VisualRules当中,规则分为规则文件和执行文件:
1:规则文件是我们通过规则编辑器编写的针对业务人员的一个可见的透明业务逻辑描述,是一个.rpk结尾的文件。所以可以通过规则编辑器(还可通过web规则编辑器)对其进行打开、查看和编辑。规则是放在规则文件当中的,一个规则文件可以存放多个规则,除此之外,在规则文件当中还可以存放用户自定义的函数、数据对象及自定义查询等相关在规则当中可能会用到的一些对象。
2:执行文件是我们提供给外部调用或者独立执行的规则编译后的文件,它是一个.rsc结尾的文件。
一个标准的规则文件它包含以下内容。
2:method
3:rules
对于一个规则文件而言,首先必须要有对象或者变量,因为规则是依附于变量而存在的,其次是针对规则的操作方法,最后是完整的规则。
规则语言
规则是在规则文件当中编写,所以要编写一个规则首先需要先创建一个存放规则的规则包。一个规则包可以存放若干个规则,每一个规则通过规则名称来进行区分。
以下图中所示说明了一个标准规则包的结构。
1:规则包名称
2:规则包下面的规则,它包含了规则和规则集
3:对象库
以下为一个简单的标准规则的结构
从上图可以看出一个规则2个部分:
1:条件部分
2:结果部分
条件部分
在一个规则当中,如果和那么之间内容就是规则条件,它可以包含0~ N个条件,如果条件部分为空的话,那么该规则永远为真,结果部分就会被无条件执行。
条件部分由一个或多个条件组成,多个条件之间可以使用and或or来连接,还可以使用小括号来调整显示位置
结果部分
在一个规则中(一个可用的规则),它可以没有条件,但是必须要有结果,就是必须告诉规则要做什么。
规则编写
上面我们提到了一个基本的规则它需要有,对象,方法和规则,下面我们来编写一个规则
1:变量
如图所示,我们在对象库中添加了2个变量,变量1和变量2
2:方法
在这里,对方法做一个说明,方法是在需要用到的时候再添加,如果是简单的规则可能用不到方法,那么就不用添加,如果是复杂规则需要用到方法,我们用以下方式来添加
鼠标选中规则包的对象库,然后点如图所示的外部调用选项卡,再点红色圈圈所示的按钮,在弹出的对话框中选择自己需要用到的方法即可。
3:规则
如上图所示:规则的逻辑为:规则条件是变量1的长度等于2,规则的结果就是给变量2赋值等于0
规则测试
规则测试可用2中方式来进行
1:在规则编辑器中进行单元测试
2:用外部程序来调用规则进行测试
规则编写完成后,我们需要对规则进行测试,如下图所示
我们选中当前需要测试的规则包,然后点“测试”这个选项卡,在变量的初始输入值(1位置)输入:中国,然后点击(3位置)的绿色运行按钮,规则执行完成后,我们可以看到变量2的实际结果值(2位置)的结果为:0
外部程序来调用规则进行测试
采用Java类调用规则测试
首先在eclipse的java工程中,点击属性设置其路径。在其属性窗口的Java Build Path中设置Libraries,通过Add External JARs…加入VisualRules安装目录的lib下的engine.jar、jakarta.jar,在通过Add External Class Folder…加入VisualRules安装目录下的rules目录。如下所示:
添加Java测试类
在java工程中添加一个java类,名为TestHello.java,其内容编辑如下:
import com.flagleader.engine.RuleEngine;
import com.flagleader.engine.RuleEngineFactory;
public class Test {
public static void main(String[] args) {
try {
RuleEngine engine = RuleEngineFactory.newInstance().getRuleEngine();
engine.put("temp1", "中国");
engine.excute("test");// 或engine.excute("test.rsc"); test或test.rsc为它在导入的rules下的路径
System.out.println(engine.getString("temp2"));
} catch (Exception e) {
e.printStackTrace() ;
}
}
}
点击执行后,可以看到如下的执行结果
我们可以看到,Java类执行完成后,在控制台打印出了0,这就是Java类调用规则后得到的temp2的结果
规则管理
规则在编辑器或者通过外部程序调用测试通过后,需要对规则进行的统一的管理,这里我们提供规则管理平台
规则上传
规则配置完成后,需要上传到规则服务器进行统一管理,方便对规则进行其他的操作,如,检出,发布,查看等
规则上传的操作如下图所示
我们首先登录到规则服务器,点击规则编辑器的上方菜单,选择工具菜单,然后再选择“登录规则服务器”选项,出现以下界面
填入从规则管理平台管理员处分配的用户名和密码,并在规则服务地址处填入规则服务器的地址,点击确定即可登录到规则管理平台
登录到服务器以后,我们在需要上传的规则包上点右键,选择“规则服务器”,然后再选择“保存当前版本”,如下图所示
上传完成后,我们打开规则管理平台,在浏览器地址栏敲入以下地址:http://localhost:8880,回车后会出现以下界面
中我们输入从规则管理平台管理员出分配的用户名和密码,点击登录即可登录到规则管理平台,然后打开左边的规则管理,展开的菜单中的“规则查看”就可以看到刚刚我们上传上去的规则工程和规则包
如下图所示:从红色圈圈标明的区域我们可以看到刚刚上传的规则包:test和所属的规则工程:第一个规则示例
规则部署
在VisualRules规则引擎产品体系中,规则编写完成后,部署是相当容易的,我们只需要把编译后的规则文件(.rsc)放到VisualRules安装目录下的rules文件夹中就可以了,然后我们根据实际需要开启指定的规则执行方式即可
规则执行方式分为两种
1:通过规则执行器定时执行
2:通过外部程序和接口调用执行
规则执行器
进入VisualRules安装目录,找到RuleExecuter.exe的文件,这就是我们的规则执行器
RuleServerApp.exe是我们规则服务,这个规则服务也可通过windows服务的形式开启,RuleServerApp.exe和windows服务同时开启其中任何一个就可以打开规则服务供外部程序来调用
打开RuleExecuter.exe可以看到如下所示的界面
如上图所示:顶部按钮依次为:启动按钮,停止按钮,添加执行规则按钮,编辑按钮,删除按钮,刷新按钮以及平台说明信息
如果需要添加执行规则,我们点击图中红色圆圈表明的添加按钮,然后在弹出的界面中选择需要执行的规则文件就可以了,这个规则文件(.rsc)一定要存放在安装目录的rules中才可以,添加完成以后,默认是未启动的状态,我们需选中要执行的规则,然后点击启动就可以启动规则执行
规则服务
规则服务上面讲到了,可分为两种方式
1:打开RuleServerApp.exe,如下图所示
2:启动windows服务
在windows服务中找到服务名为:Rule Engine Server的服务,然后点击图中红色圆圈所示的按钮就可以启动规则服务,端口为:1508
结束
本文总体讲述了VisualRules规则引擎产品如何安装,配置规则,测试规则,协同管理规则,部署规则,规则执行,规则服务等
Author:骆军
Tel:13738197559