`
何必如此
  • 浏览: 55447 次
社区版块
存档分类
最新评论

规则引擎Visual Rules Solution开发基础教程【连载3】-- 体验开发篇

阅读更多
VisualRules体验开发


一、关键知识点
           本篇通过经典的“Hello World”案例,开始VisualRules开发的最初体验,建立对 VisualRules最基本的感性认识。通过对案例的分析,帮助您更深刻地理解最核心的数据流转原理和处理过程。
通过同案例的讲解,了解一下几个方面:
1.规则包的创建、编写和发布。
2.规则包文件存储方式
3.规则包测试
4.规则包web方式调用
5.规则包java代码调用
6.规则服务发布

二、Hello World案例开发
案例描述
本案例的需求是:
        规则包:新建一个hello规则包,此规则包接受一个参数(用户姓名),如果姓名不为空,则返回欢迎词“Hello”+姓名,如果姓名为空,则返回欢迎词“Hello World”。
        页面调用:通过规则配置器集成的页面配置器制作一个录入页面,在页面上输入姓名,点击【提交】按钮后,后台获取用户输入的姓名,将它传递给hello规则包并执行,将执行后的结果的欢迎辞显示在页面上。
        Java类调用:在Eclipse中制作一个TestHello类,main中接收参数输入姓名,调用hello规则包后显示返回的欢迎辞。

三、规则包开发
           通过“开始-->程序-->旗正商业规则定制平台—>规则配置器”启动规则配置器。启动后, 关闭欢迎首页, 进入到缺省的开发工作空间。
        通过规则配置器的测试步骤包括创建工程、创建规则包、定义对象库、定义规则、发布规则包、测试规则包、创建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 旗正”。
7、创建web页面
         右键点击规则包,在弹出菜单中,选择“添加jsp页面”:



         添加后,需要保存生成的jsp文件。缺省情况下,会自动将jsp文件生成到缺省的生成目录下。检查自动生成的设置,选择工程菜单下的设置:



         然后可以看到缺省的生成路径设置:



        缺省的jsp文件保存后,会自动导出到VisualRules安装目录的Tomcat\webapps\ROOT下,因此点击保存后,可以直接通过http://localhost:8880/hello.jsp来访问。
8、web方式测试规则包
        要通过生成hello.jsp文件来测试规则包,首先需要启动VisualRules自带的Tomcat,通过在windows的services中可以看到名为“Apache Tomcat Rules”服务:



        将其服务启动即可。如果看不到此服务,请运行VisualRuels安装目录下的registTomcat.bat。
        启动后,就可以通过IE,访问地址http://localhost:8880/hello.jsp,来测试规则包。
        也可以在规则配置器中,右键点击hello.jsp,然后选择“在浏览器中访问”:



        在浏览器中,输入姓名,点击确定后,可以看到规则包执行结果:



三、Java类调用规则包
        除了规则配置器嵌入的页面配置器生成的jsp页面,调用规则包之外,其他的java工程如果要调用此规则包,可以通过规则引擎类类进行调用。以下演示eclipse中java工程如何调用规则包。
设置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 TestHello {
public static void main(String[] args) {
try {
RuleEngine engine = RuleEngineFactory.newInstance().getRuleEngine();
engine.put("name", "访问测试");
engine.excute("hello");// 或engine.excute("hello.rsc"); hello或hello.rsc为它在导入的rules下的路径
System.out.println(engine.getString("welcome"));
} catch (Exception e) {
e.printStackTrace() ;
}
}
}

执行java测试类
        点击执行后,可以看到如下结果:



        说明已经调用了hello规则包,并且根据传入的name值“访问测试”,返回处理结果是 hello+“访问测试”。
        同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。

  • 大小: 14.9 KB
  • 大小: 17 KB
  • 大小: 16.5 KB
  • 大小: 33.8 KB
  • 大小: 9.8 KB
  • 大小: 12.5 KB
  • 大小: 46.4 KB
  • 大小: 18.3 KB
  • 大小: 11.4 KB
  • 大小: 7.1 KB
  • 大小: 12.9 KB
  • 大小: 9.6 KB
  • 大小: 15 KB
  • 大小: 7.2 KB
  • 大小: 8.1 KB
  • 大小: 7.7 KB
  • 大小: 7.3 KB
  • 大小: 21.2 KB
  • 大小: 4.9 KB
  • 大小: 8 KB
  • 大小: 9.2 KB
  • 大小: 51.1 KB
  • 大小: 8.1 KB
  • 大小: 3.3 KB
  • 大小: 5.6 KB
  • 大小: 17.7 KB
  • 大小: 53.3 KB
  • 大小: 24.2 KB
  • 大小: 34.8 KB
  • 大小: 17.1 KB
  • 大小: 30.1 KB
  • 大小: 33.6 KB
  • 大小: 20.1 KB
  • 大小: 7 KB
  • 大小: 21.4 KB
  • 大小: 60.6 KB
  • 大小: 27 KB
  • 大小: 10.3 KB
  • 大小: 24.2 KB
  • 大小: 34.9 KB
  • 大小: 40.3 KB
  • 大小: 20.5 KB
  • 大小: 22.3 KB
  • 大小: 82.1 KB
  • 大小: 101.7 KB
分享到:
评论

相关推荐

    Visual-Rules规则引擎产品介绍-PPT课件.ppt

    《Visual Rules规则引擎产品详解》 Visual Rules是一款由旗正信息公司自主研发的规则引擎产品,拥有完全独立的知识产权,专为中国市场打造。该产品旨在帮助企业高效管理业务规则,实现业务规则的快速更新和优化,...

    规则引擎-决策池

    在描述中提到的Visual Rules Solution旗正规则引擎中,决策池扮演了这样的角色。 1. **决策池功能介绍** 决策池的设计目标是提高规则的复用性和效率。在规则开发中,如果某些规则被频繁使用,将这些规则放入决策池...

    VisualRules的电信业务支撑系统的开发

    本文将详细介绍基于VisualRules的电信业务支撑系统的开发过程,重点讨论规则管理系统的创建、系统建模、规则编写及与应用系统的集成等内容。 #### 二、创建规则库 创建规则库是构建规则管理系统的第一步。在这个...

    Visual Basic 6.0程序设计教程---曾强聪--中国水利水电出版社--2003.7.pdf

    Visual Basic 6.0程序设计教程---曾强聪--中国水利水电出版社--2003.7.pdf

    规则引擎教程-决策树.docx

    【规则引擎教程-决策树】 规则引擎是一种软件系统,它允许业务规则以一种结构化、可维护的方式独立于应用程序代码进行管理和执行。在本教程中,我们将重点介绍Visual Rules Solution的决策树功能,这是一种强大的...

    规则引擎-数据库对象

    在本文中,我们将深入探讨如何利用规则引擎,特别是Visual Rules Solution的旗正规则引擎,来访问和管理数据库中的部门信息,包括添加、修改、删除和查询部门等操作。 首先,我们要理解什么是数据库对象。在规则...

    规则引擎-规则测试和轨迹跟踪

    以Visual Rules Solution为例,开发者可以直观地创建并命名规则包,如“测试与轨迹”。 - 变量定义:规则包中通常需要定义变量来存储和操作数据。变量定义清晰且适应性强,是确保规则正确运行的基础。 - 逻辑编写...

    规则引擎-版本控制

    下面将详细讨论规则引擎的版本控制以及如何在Visual Rules Solution的旗正规则引擎中实现这一功能。 首先,版本控制是规则引擎的一个重要特性。当业务规则不断迭代和更新时,传统的做法是直接修改代码,这可能导致...

    规则引擎-变量跟踪

    在Visual Rules Solution这款规则引擎中,变量跟踪功能能够帮助用户深入了解规则执行的细节,尤其是在处理复杂的业务逻辑时。当我们在规则包测试中启用变量跟踪,可以观察到变量在每个规则执行前后以及规则集内的值...

    WRK Visual Studio Solution

    "WRK Visual Studio Solution" 是一个专为Windows Research Kernel (WRK) 1.2设计的Visual Studio 2008项目文件。WRK是一个微软提供的教学和研究平台,它是一个简化版的Windows内核,旨在帮助用户深入理解操作系统的...

    Visual C++游戏开发经典案例详解.pdf

    《Visual C++游戏开发经典案例详解》这本书是针对使用Visual C++进行游戏开发的专业指南,旨在帮助读者通过实例学习和掌握C++编程语言在游戏开发中的应用。书中的内容覆盖了从基础到高级的游戏开发技术,包括图形...

    Visual C++数据库开发经典实例精解.pdf

    不过,我将根据标题、描述以及文件名中提及的“Visual C++数据库开发经典实例精解”这一主题,为您提供与该主题相关联的知识点。 Visual C++数据库开发是面向数据库编程的一个领域,主要侧重于使用Visual C++这一...

    Visual C++开发实例大全1-3章(基础卷)源代码(包括部分视频)

    《Visual C++开发实例大全1-3章》基础卷源代码包含了编程初学者入门到进阶所需的关键知识点,尤其适合那些希望通过实践来深入理解C++编程的读者。这份资源不仅提供了丰富的代码示例,还附带了部分实例的视频教程,...

    Visual C++开发实例大全 基础卷.part3

    《Visual C++开发实例大全(基础卷)》筛选、汇集了Visual C++开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...

    AutoCAD VBA _ VB.NET开发基础与实例教程 第2版.pdf

    根据提供的文件信息,“AutoCAD VBA _ VB.NET开发基础与实例教程 第2版.pdf”,我们可以推断出这是一本关于如何使用Visual Basic for Applications (VBA) 和 Visual Basic .NET (VB.NET) 开发AutoCAD应用程序的专业...

    Visual Studio 2019 中文使用教程

    Visual Studio 2019中文使用教程涵盖了Visual Studio 2019开发环境使用方面的大量知识点,特别针对C++开发者。以下是根据提供的文件信息整理出的详细知识点: 1. Visual Studio项目和生成系统 - Visual Studio项目...

    电子-VisualStudio2017开发STM32.pdf

    本篇教程主要介绍了如何利用VisualStudio2017以及相关的软件插件来进行STM32单片机的开发。STM32系列单片机广泛应用于嵌入式系统开发中,包含了多种型号,如STM32-F0、STM32-F1、STM32-F2等。本教程所提到的开发环境...

    ]Visual C++网络编程开发与实战-清华大学.pdf

    《Visual C++网络编程开发与实战》一书是IT领域特别是软件开发与网络通信方向的一本重要参考文献,由清华大学出版社出版。这本书深入浅出地介绍了Visual C++环境下网络编程的基本理论、关键技术以及实践应用,适合于...

Global site tag (gtag.js) - Google Analytics