IBM-ILOG JRules 开发-布署-实例-R6


(查看  9 的更大版本。)

 

规则设计

规则集的设计包括识别规则集的输入和输出,识别规则在一个规则项目中的组织方式,以及创建规则流来编排规则集中的规则的执行。 10 显示了规则设计流程,我们将在后续小节中详细介绍。

10. 规则设计流程


设置规则集参数

规则集参数指定决策服务的输入和输出,进而定义决策服务与调用客户端之间的接口。

要设置规则集参数,右键单击 ccc-rules 并选择 Properties。在我们的场景中,我们收到一个 Alert 作为输入,返回一个扩充的 Alert 作为输出。它们分别表示为请求响应,如  11 所示。

11. 规则集参数


创建规则包

规则包简单来讲是一些可在其中创建规则的文件夹和子文件夹。规则包有助于在一种分层结构中组织规则。

基于我们的规则分析,我们断定不同的天气模式具有不同的规则,比如起雾强降雨。这一区别形成了我们的顶级规则包。对于每个包,我们拥有针对评估规则和指令规则的子包。 12 显示了规则项目中使用的规则包的一个子集。

12. 规则包


创建规则流

规则流定义一个更大决策的上下文中的规则工件执行顺序。对于调用应用程序,可调用规则集来制定单个业务决策。但是,这个业务决策通常会分解为一系列更小的决策。使用一个规则流,您可将更小的决策标识为规则任务并以过渡的形式路由逻辑。

规则流中的第一个规则任务是初始化,其中会创建一个框架式响应 Alert。在这之后,基于发出的指令来进行评估。

13 显示了这个规则流。

13. 主要规则流


与一个规则任务关联的规则在规则任务的属性中指定。对于规则任务 heavy rainfall,在执行此规则任务期间考虑规则包 heavy rainfall.evaluations 中的所有规则。 14 显示了规则任务 heavy rainfall 的属性视图,其中选择了关联的规则。

14. 强降雨规则任务的规则选择


请注意,规则流控制着规则组或规则任务的执行顺序。不同于过程编程中使用的方法,这里您不指定各个规则的顺序。许多拥有过程编程模式背景的新手倾向于过度使用规则流。例如,最初的倾向可能是使用规则流,通过与一个 Alert 关联的不同 InfoType 对象来使用控制循环。但是,这不是推荐的方法,我们将在下一节中看到如何使用规则来自然地执行这一循环。

 

业务规则创作

规则开发人员通常创建初始规则集并执行单元测试,以确保规则项目为业务用户提供了一个牢固的基础。此外,技术开发人员可创建规则模板来简化业务用户对新业务规则的创作。 15 描绘了规则创作流程。

15. 规则创作流程


编写初始规则集

一位规则开发人员使用 Rule Studio 创建初始规则集。我们在本系列的第 1 部分中已看到,在我们的场景中,这些规则分为两个类别:评估规则和指令规则。

评估规则

以下文章点击率最高

Loading…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注