迁移到决策引擎

不推荐使用经典规则引擎,因此您必须迁移规则项目以使用决策引擎。 决策服务中的新规则项目会自动使用决策引擎。

开始之前

规则引擎兼容性约束
  • 经典规则引擎: V 8.7 和更高版本的 RuleApps 可以在 V 8.9.2 中运行,而无需重新编译。 必须重新编译 8.7 之前的版本中的 RuleApps 。
  • 决策引擎:
    • 来自 V 8.8 和更高版本的 V 8.9.2: RuleApps 可以在 V 8.9.2 中运行,而无需重新编译。 必须重新编译 8.8 之前的版本中的 RuleApps 才能在 8.9.2中运行。
    • 8.10.x 或更高版本: 来自 8.8 及更高版本的 RuleApps 可以在 8.10.x 或更高版本中运行,而无需重新编译。 必须重新编译 8.8 之前的版本中的 RuleApps 才能在 8.10.x 或更高版本中运行。

关于本任务

决策引擎的工作方式与经典规则引擎类似,尽管它在编译和装入规则的方式方面存在差异。 您必须调整规则项目内容以使用决策引擎。

决策引擎不依赖于 ILOG ® 规则语言 (IRL)。 在 Rule Designer中,针对使用决策引擎的项目中的 BAL 规则和规则流的 IRL 选项卡在规则编辑器中不可用。 在 BOM 编辑器中,可以直接使用 ARL 为使用决策引擎的规则项目定义 BOM 到 XOM 映射。

经典规则引擎使用配置文件 (engine.conf) 来配置其资源设置。 决策引擎不使用任何这些属性,在运行时将忽略这些属性。

过程

  1. 比较两个引擎,并研究项目中的内容与决策引擎的不兼容性。
    可以在以下主题中找到进一步的阅读内容:
  2. 将规则项目的 Rule Engine 属性更改为 Decision engine 而不是 Classic rule engine
    如果生成的 .b2xa 文件中的某些方法没有主体,那么可能需要手动添加这些方法。 为了方便起见,将保留旧代码但将其注释掉。 您必须在 ARL 中对这些缺失的行进行编码。 如果项目在 XOM 中使用了经典规则引擎 API ,那么还必须更新 XOM 以替换或除去这些方法。 请参阅 从 ARL 映射代码访问决策引擎和相关工件
  3. 如果规则包中的规则流包含引用缺省包的变量的 IRL 代码,请使用 use <variable> 声明验证是否在规则流属性的 导入 选项卡中导入了这些变量。
  4. 转换 Java™ 客户机项目以使用决策引擎 API。
    使用 Java 规则项目 和提供的模板来实例化决策引擎。 有关更多信息,请参阅 经典规则引擎与决策引擎 API 之间的映射