ilog jrules和数据库连接

时间:2012-02-27 12:41:33

标签: business-rules rule-engine ilog jrules

我正在使用IBM ilog jrules 7.1试验进行POC。我正在使用决策表来检查客户注册数据。

我的ilog决策表规则是 - 如果客户的州是CA,IL,AL中的任何一个,则将状态设置为“符合条件”,否则将该客户视为“不符合”要约。

在愉快的路径中,我可以将状态代码添加为域文字,规则将正常工作。 但我需要使用一些IRL代码从数据库(mysql)动态加载此域值。有没有人像我一样做过类似的要求,如果有人能指出我正确的方向,这将是非常有帮助的。

1 个答案:

答案 0 :(得分:2)

JRules的一般原则之一是,如果可能,您应该使用所有必要信息调用规则引擎。从性能角度来看,在规则执行期间访问数据库不是一个好主意。您可能也无法在群集环境中使用规则应用程序。此外,决策的可追溯性和可重现性较低,因为在任何特定时刻都很难知道数据库中的内容。

根据您的数据更改频率,我建议您将这些值添加为第二个输入参数,并在调用规则引擎之前检索数据。第二种可能性是在部署之前使用动态域插件从数据库加载。但是每次数据更改时都必须重新部署ruleApp。使用动态域插件,您可以指定数据提供程序(例如Excel,MySQL等),并使用数据库中包含的属性填充BOM。这些动态域值显示为属性,可以从rule studio中的BOM视图以及团队服务器中同步:

Dynamic Domain Example

在WODM(JRules 7.1的后续版本)中,此功能是内置的,此插件可能不是演示的一部分,必须单独添加到7.1。