and the numeric value of this parameter [±] is at least ▼ <enter a
number> [±]
then
create an assessment of <an assessment type> using infoEvent
使用此模板,业务用户可轻松地创建新评估规则,填充模板所提供的空白。
对规则执行单元测试
业务规则的单元测试是创建健全的规则应用程序的非常重要的一步。在采用敏捷开发方法时尤其如此。技术开发人员执行单元测试来验证初始规则集,更重要的是要确保 BOM 和 XOM 没有错误。单元测试可像使用 Rule Studio 运行配置来运行测试这么简单,也可以是使用基于 JUnit 的测试框架的更详细的测试套件。
在我们的场景中,我们使用一个简单的运行配置来运行和调试规则。通过右键单击规则项目并选择 Run As – Rule Project,将创建 Run As Configuration,然后可修改它来使用 WebSphere ILOG JRules 函数创建一个输入请求。图 17 显示了此场景。
图 17. 规则项目运行配置
我们用来创建 Alert 作为请求的 WebSphere ILOG JRules 函数如 清单 5 中的代码所示。
清单 5. WebSphere ILOG JRules 函数
oasis.names.tc.emergency.cap._1_1.Alert result
= new oasis.names.tc.emergency.cap._1_1.Alert();
result.sender = “UNIT_TEST”;
result.identifier = “TEST”;
result.sent = new ilog.rules.xml.types.IlrDateTime(new java.util.Date());
result.infoList = new java.util.Vector();
oasis.names.tc.emergency.cap._1_1.Alert.Info info
= new oasis.names.tc.emergency.cap._1_1.Alert.Info();
result.infoList.add(info);
info.certainty = “Observed”;
info.severity = “Severe”;
info._event = “HeavyRainfall”;
info.parameterList = new java.util.Vector();
oasis.names.tc.emergency.cap._1_1.Alert.Info.Parameter param
= new oasis.names.tc.emergency.cap._1_1.Alert.Info.Parameter();
info.parameterList.add(param);
param.valueName=”RainfallLevel1H”;
param.value=”16″;
return result;
当在调试模式运行此配置时,我们可在规则流和规则中创建断点,查看触发的规则,以及浏览工作内存中的对象。通过以此方式运行一些场景,规则开发人员可断言 BOM 和初始规则集没有错误。规则开发人员可与业务用户紧密合作来确保规则的有效性。
结束语
我们已看到 WebSphere ILOG JRules 是一个强大的工具,为规则应用程序开发提供了丰富的向导和加速器。使用一个案例分析,我们介绍了一个常用的规则开发流程,它可供技术开发人员用于创建规则和测试在初始化期间发现的规则。在本系列的下一篇文章中,我们将介绍使非技术性业务用户能够编写和测试规则的任务。
简介
在本文(本系列的最后一篇)中,我们详细介绍技术开发人员部署初始规则工件的过程,使非技术性业务用户能够继续执行规则开发和测试。
图 1 显示了本文中涉及的总体决策服务开发流程的一部分。
图 1. 本文中涵盖的流程
(查看 图 1 的更大版本。)
图 2 显示了本文中涵盖的规则开发任务的一处细节特写。
图 2. 本文中涵盖的流程的放大视图
(查看 图 2 的更大版本。)
让我们接着第二篇文章开始介绍。
RuleApp
规则集被部署到 Rule Execution Server 中,以使外部分布式客户可调用决策服务。RuleApp 是包含一个或多个规则集的可部署的管理单元。从物理角度来看,规则集和 RuleApps 是包含规则工件的 JAR 文件。在流程的这个阶段,规则开发人员创建一个 RuleApp 项目来生成一个 RuleApp 并将它部署到开发环境中。WebSphere ILOG JRules 包含将规则部署到 Java™ SE 或 Java EE 平台上的工具。对于本案例分析,我们部署到随 WebSphere ILOG JRules 一起分发的 WebSphere Application Server Community Edition。如 图 3 所示,部署流程由以下部分组成:
1. 创建一个 RuleApp 项目
2. 将 RuleApp 部署到 Rule Execution Server
图 3. 规则部署任务
创建 RuleApp 项目
我们通过选择 New – Other – RuleApp Project,调用一个向导来创建一个名为 “ccc-ruleapp” 的 RuleApp 项目。在向导中,选择了 “ccc-rules” 作为要包含在 RuleApp 中的规则项目。这创建了一个 RuleApp 项目,如 图 4 所示。
图 4. RuleApp 项目
以下文章点击率最高
Loading…