本案例的需求是:
规则包:新建一个hello规则包,此规则包接受一个参数(用户姓名),如果姓名不为空,则返回欢迎词“Hello”+姓名,如果姓名为空,则返回欢迎词“Hello World”。
页面调用:通过规则配置器集成的页面配置器制作一个录入页面,在页面上输入姓名,点击【提交】按钮后,后台获取用户输入的姓名,将它传递给hello规则包并执行,将执行后的结果的欢迎辞显示在页面上。
Java类调用:在Eclipse中制作一个TestHello类,main中接收参数输入姓名,调用hello规则包后显示返回的欢迎辞。
Java类通过规则服务Socket调用:在Eclipse中制作一个HelloServer类,main中接收参数输入姓名,通过端口形式的规则服务调用hello规则包,显示返回的欢迎辞。
Java类通过SOAP调用:在Eclipse中制作一个HelloSoap类,将姓名参数传递给规则服务,并调用hello规则包,显示返回的欢迎辞。
C#通过规则服务Socket调用:在VS中制作一个HelloServer类,将姓名参数传递给规则服务,并调用hello规则包,显示返回的欢迎辞。
C#通过SOAP调用:在VS中制作一个HelloSoap类,将姓名参数传递给规则服务,并调用hello规则包,显示返回的欢迎辞。
通过“开始-->程序-->旗正商业规则定制平台―>规则配置器”启动规则配置器。启动后,关闭欢迎首页,进入到缺省的开发工作空间。
通过规则配置器的测试步骤包括创建工程、创建规则包、定义对象库、定义规则、发布规则包、测试规则包、创建web页面、web方式测试规则包
以下分别讲述这些步骤具体的操作方法:
1、创建工程
点击规则编辑器中的新建工程按钮:
图3-1-2-1 新建工程
输入“体验开发”作为工程名,如果不需要改变工程存储路径,则直接点击确定即可:
图3-1-2-2 命名
点击确定后,规则编辑器中就会出现“体验开发”的规则工程,如下:
图3-1-2-3 展示
通过windows的资源浏览器,也可以看到已经新建的规则工程的存储位置:
如下所示,可以看到在VisualRules的安装目录下的Samples目录下面,新建了一个“体验开发”的目录,在此目录下面有一个default.prj文件,以及两个目录分别为data和bak目录。其中data目录,将存放在此工程下新建的规则包。而bak目录将存放此工作下所有自动保存的规则包,以及每次备份产生的规则包备份文件。
其中,以 .auto结尾的文件,都是定时自动保存的规则包,当编辑器异常退出后,会提示是否恢复自动保存的规则包。
以.rpk~1~这种类型结尾的规则包,都是每次备份产生的规则包备份文件。当选择了恢复规则包历史时,会读取这些规则包备份文件,并且根据所选的进行恢复。
如果通过编辑器恢复失败,可以手工做恢复操作。只需根据文件的修改日期,找到需要恢复的文件,将其后缀改成.rpk之后,然后覆盖data下面对应的文件即可完成恢复工作。
图3-1-2-4 工程存放目录展示
2、创建规则包
右键点击“体验开发”―“新建规则包”:
图3-1-2-5 新建规则包
点击新建规则包后,在体验开发工程下面就会新建一个“规则包”的规则包,可以将其直接改名为hello:
图3-1-2-6 命名hello
3、定义对象库
然后展开hello规则包,点击规则包下面的“对象库”,在中间的编辑窗口中,点击添加按钮,并且输入需要添加的变量名、类型和显示名称,如下所示:
图3-1-2-7 添加变量
同理添加另一个变量,名称为welcome,类型为string,显示名称为欢迎辞:
图3-1-2-8 其他变量
4、定义规则
右键点击规则包“hello”―“新建规则”:
图3-1-2-9 添加规则
点击后,会在规则包下面新建新建一个“规则”,将其名称修改为“返回欢迎辞”:
图3-1-2-10 新建规则
点击“返回欢迎辞”规则后,在中间的规则编辑窗体,设置条件和动作。首先添加“添加条件”按钮:
图3-1-2-11 编辑规则
之后,点击“请选择”,在弹出的菜单中,选择传入数据―>姓名:
图3-1-2-12 配置规则
然后,点击条件的判断符上,在弹出的菜单中选择“不为空”:
图3-1-2-13 配置规则
条件设置完后,设置动作。点击“添加动作”按钮,如下:
图3-1-2-14 配置规则
然后,在那么动作中,点击“请点击选择”,在弹出菜单中,选择“变量赋值”:
图3-1-2-15 配置规则
然后,点击“选择变量”,在弹出菜单中选择传入数据à欢迎辞:
图3-1-2-16 配置规则
在之后生成的赋值语句中,点击“请点击选择”,在弹出菜单中选择“输入常量值”:
图3-1-2-17配置规则
然后点击“空”,在弹出的文本框中,录入“Hello”,并点击确定。
图3-1-2-18配置规则
添加完“Hello”之后,点击其后面的[],在弹出菜单中选择“+”:
图3-1-2-19配置规则
之后,点击“请点击选择”,在弹出的菜单中,选择“选择值”:
图3-1-2-20配置规则
然后点击“请选择”,选择传入数据―>姓名:
图3-1-2-21配置规则
设置完,满足条件的动作之后,在设置不满足条件的动作。首先将该规则的属性设置为“支持否则”,在规则的属性窗口中,在否则动作后面的选择框中打上勾:
图3-1-2-22配置规则
之后,规则的编辑窗口,会增加否则动作。可以按照上面设置那么动作的方式来设置欢迎辞赋值为“Hello World”语句,也可以通过复制那么中的动作到否则中,然后进行修改。以下演示,怎么复制操作,首先通过鼠标拖动来选择那么中的赋值行,然后鼠标右键点击在赋值行上,选择弹出菜单中的“复制”:
图3-1-2-23配置规则
复制后,右键点击否则动作中的“添加动作”按钮,然后选择“粘贴”:
图3-1-2-24配置规则
然后在粘贴后的赋值行中,点击“+”,选择“[]”:
图3-1-2-25配置规则
然后,点击“Hello”,在弹出的输入框中,输入“Hello World”,点击确定:
图3-1-2-26配置规则
到此,就完整了规则的设置:
图3-1-2-27配置完成
5、发布规则包
规则包发布时,需要根据该规则包生成对应的java代码,然后将该代码编译,生成.rsc文件。将此文件输出到调用该规则包的应用程序的路径目录中,就完成了发布操作。
VisualRules可以采用自动发布和手动发布两种方式,自动发布可以设置缺省的发布路径,并且设置成在保存的时候,同时发布规则包。手动发布是在发布时,指定输出路径:
自动发布设置
首先点击工程菜单下的“设置”:
图3-1-2-28 设置
选中“规则包保存后自动编译选项”,并且设置缺省的输出路径。缺省情况下为“Tomcat\webapps\ROOT\WEB-INF\classes”,此路径是一个相对路径,相对于VisualRules的安装目录下。
因此如果VisualRules安装目录是C:\visualRules,缺省情况下,点击保存后,会自动将规则包编译后的rsc文件保存到 C:\visualRules\ Tomcat\webapps\ROOT\WEB-INF\classes中。
图3-1-2-29 目录
自动发布
在规则配置器中,点击保存后,会将当前规则包以rpk文件的方式,并且将编译后的规则包以rsc文件的方式保存。查看规则工程目录的data下面的文件:
图3-1-2-30 查看规则包
可以看到,在规则工程的data目录下,生成了hello.rpk的文件。其中hello就是规则包的可调用执行名。
查看规则配置器中设置的自动发布路径下,已经生成了hello.rsc文件:
图3-1-2-31 规则包编译文件
此目录是VisualRules自带的Tomcat的缺省工程路径,当规则包发布到此目录后,就可以通过tomcat的http://localhost:8880/下面的jsp文件来访问这些规则包。
手工发布:
为了能够通过规则服务来访问规则包,需要将规则包发布到VisualRules的规则服务路径中,此路径在VisualRules安装目录的rules目录下。
在规则包上点击右键,选择弹出菜单中的导出―>导出规则包编译文件:
图3-1-2-32 导出
然后选择VisualRules安装目录的rules目录,点击确定:
图3-1-2-33 目录
出现以下弹出窗体后,表示发布成功:
图3-1-2-34 导出成功
然后查看VisualRules安装目录的rules目录下:
图3-1-2-35 编译文件展示
已经生成hello.rsc文件,说明发布成功。