获取VisualRules安装程序
VisualRules是一个基于规则引擎实现的可视化定制业务逻辑的商业规则管理系统,同时又具有快速开发java软件项目的功能,是由杭州旗正信息技术有限公司(以下简称:旗正信息,英文称FlagLeader)2003年研究开发的国内目前唯一业务规则管理系统产品。
获取方式:
1:登录旗正信息的官方网站(http://www.flagleader.com),并注册为用户,下载指定版本的VisualRules规则引擎产品的安装程序,还可以下载各种资料文档(推荐方式)
2:通过旗正信息网站首页公开告知的联系方式
<!--[if !supportLists]-->(一) <!--[endif]-->0571-56771736:通过电话联系我们索取指定版本的安装程序。
<!--[if !supportLists]-->(二) <!--[endif]-->sale@flagleader.com:通过邮箱联系我们索取指定版本的安装程序。
<!--[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
邮箱:luojun@flagleader.com
相关推荐
《Visual Rules规则引擎产品详解》 Visual Rules是一款由旗正信息公司自主研发的规则引擎产品,拥有完全独立的知识产权,专为中国市场打造。该产品旨在帮助企业高效管理业务规则,实现业务规则的快速更新和优化,...
本文将详细介绍基于VisualRules的电信业务支撑系统的开发过程,重点讨论规则管理系统的创建、系统建模、规则编写及与应用系统的集成等内容。 #### 二、创建规则库 创建规则库是构建规则管理系统的第一步。在这个...
在描述中提到的Visual Rules Solution旗正规则引擎中,决策池扮演了这样的角色。 1. **决策池功能介绍** 决策池的设计目标是提高规则的复用性和效率。在规则开发中,如果某些规则被频繁使用,将这些规则放入决策池...
以Visual Rules Solution为例,开发者可以直观地创建并命名规则包,如“测试与轨迹”。 - 变量定义:规则包中通常需要定义变量来存储和操作数据。变量定义清晰且适应性强,是确保规则正确运行的基础。 - 逻辑编写...
在本文中,我们将深入探讨如何利用规则引擎,特别是Visual Rules Solution的旗正规则引擎,来访问和管理数据库中的部门信息,包括添加、修改、删除和查询部门等操作。 首先,我们要理解什么是数据库对象。在规则...
在Visual Rules Solution这款规则引擎中,变量跟踪功能能够帮助用户深入了解规则执行的细节,尤其是在处理复杂的业务逻辑时。当我们在规则包测试中启用变量跟踪,可以观察到变量在每个规则执行前后以及规则集内的值...
下面将详细讨论规则引擎的版本控制以及如何在Visual Rules Solution的旗正规则引擎中实现这一功能。 首先,版本控制是规则引擎的一个重要特性。当业务规则不断迭代和更新时,传统的做法是直接修改代码,这可能导致...
【规则引擎教程-决策树】 规则引擎是一种软件系统,它允许业务规则以一种结构化、可维护的方式独立于应用程序代码进行管理和执行。在本教程中,我们将重点介绍Visual Rules Solution的决策树功能,这是一种强大的...
这是清华大学出版的Visual C#高级数据库开发教程,内容比较全,可以用于指导实践开发。
在Visual Rules Solution的旗正规则引擎中,实现对象分类的步骤如下: 1. **创建规则工程对象库**:首先,需要创建一个新的规则工程,这通常涉及到设置工程名称,如“对象库”,以确保所有相关规则对象的集中管理。...
《Visual Basic 6.0数据库开发学习教程》是一份专为初学者设计的全面指南,旨在帮助学习者掌握使用Visual Basic 6.0进行数据库应用开发的基础知识和技术。Visual Basic 6.0作为经典的编程环境,尽管已有一些年头,但...
Visual C++6.0高级开发教程(难得的PDF版),网上基本上都是NLC版的教程,不好看,我今天特意将其转换成PDF版,让大家一起共享!
在Windows环境下,设置JAVA_HOME环境变量指向VisualRules的JRE或JDK目录。启动服务后,在Java工程中同样配置类路径,但需引入额外的json库(json-lib-2.3-jdk1.3.jar)和XML解析库(jdom.jar)。创建Java类,如`...
这是清华大学出版的Visual C#高级数据库开发教程,内容比较全,可以用于指导实践开发。
Visual C++ 6.0 应用开发教程.part2.rar
Visual C++ 6.0 应用开发教程.part1.rar
visual studio net初学者教程visual studio net初学者教程
[Packt Publishing] Visual Studio 水晶报表开发教程 (英文版) [Packt Publishing] Reporting with Visual Studio and Crystal Reports (E-Book) ☆ 图书概要:☆ Create a reporting application from scratch ...
1. 创建规则工程对象库:首先,启动Visual Rules Solution,然后通过文件菜单创建一个新的规则工程,命名为“对象库”。这将作为所有规则和相关对象的容器。 2. 新建规则包:在“对象库”工程中,创建一个新的规则...