搜索

第 5 章 Red Hat Process Automation Manager 中的 DMN 支持

download PDF

Red Hat Process Automation Manager 为 DMN 1.1、1.2、1.3 和 1.4 模型提供运行时支持,符合级别 3。您可以通过几种方法将 DMN 模型与您的 Red Hat Process Automation Manager 决策服务集成:

  • 使用 DMN 设计器直接在 Business Central 中设计您的 DMN 模型。
  • 在 Business Central 中导入 DMN 文件(Menu Design Projects Import Asset)。您导入到 Business Central 的任何 DMN 1.1 和 1.3 模型(不包含 DMN 1.3 功能),在 DMN 设计程序中打开,保存将转换为 DMN 1.2 模型。
  • 在没有 Business Central 的情况下,将 DMN 文件作为项目知识 JAR(KJAR)文件的一部分打包。

下表总结了 Red Hat Process Automation Manager 中每个 DMN 版本的设计和运行时支持:

表 5.1. Red Hat Process Automation Manager 中的 DMN 支持

DMN 版本

DMN 引擎支持

DMN 模型器支持

执行

Open

�存

DMN 1.1

grn check

grn check

bk x

DMN 1.2

grn check

grn check

grn check

DMN 1.3

grn check

grn check

bk x

DMN 1.4

grn check

bk x

bk x

除了所有 DMN 一致性级别 3 要求外,红帽流程自动化管理器还包括对 FEEL 和 DMN 模型组件的增强和修复,以优化使用红帽流程自动化管理器实施 DMN 决策服务的经验。从平台的角度来看,DMN 模型与 Red Hat Process Automation Manager 中的任何其他业务资产一样,如 DRL 文件或电子表格决策表,您可以在 Red Hat Process Automation Manager 项目中包含并部署到 KIE 服务器,以便启动您的 DMN 决策服务。

有关使用 Red Hat Process Automation Manager 项目打包和部署方法包含外部 DMN 文件的更多信息,请参阅 打包和部署 Red Hat Process Automation Manager 项目

您可以使用红帽构建的 Kogito 微服务设计一个新的 DMN 决策服务,作为 DMN 决策服务的云原生功能的替代选择。您可以将 DMN 服务迁移到红帽构建的 Kogito 微服务。有关迁移到红帽构建的 Kogito 微服务的更多信息,请参阅 迁移到红帽构建的 Kogito 微服务

5.1. Red Hat Process Automation Manager 中的可配置 DMN 属性

Red Hat Process Automation Manager 提供了以下 DMN 属性,您可以在 KIE 服务器或客户端应用程序上执行 DMN 模型时配置。当您在 KIE 服务器上部署项目时,您可以使用 Red Hat Process Automation Manager 项目中的 kmodule.xml 文件来配置其中的一些属性。

org.kie.dmn.strictConformance

启用后,此属性会默认禁用除 DMN 标准外提供的扩展或配置集,如一些帮助程序功能或 DMN 1.2 的增强功能,反向移植到 DMN 1.1。您可以使用此属性配置决策引擎,使其只支持纯 DMN 功能,比如在运行 DMN 技术兼容性套件 (TCK)时。

默认值: false

-Dorg.kie.dmn.strictConformance=true
org.kie.dmn.runtime.typecheck

启用后,此属性启用验证符合在 DMN 模型中声明类型的实际值,作为 DRD 元素的输入或输出。您可以使用此属性验证是否提供给 DMN 模型或由 DMN 模型生成的数据是否与模型中指定的对象兼容。

默认值: false

-Dorg.kie.dmn.runtime.typecheck=true
org.kie.dmn.decisionservice.coercesingleton

默认情况下,此属性生成决策服务的结果,定义单一输出决策是输出决策值的单个值。禁用后,此属性使决策服务的结果是定义单个输出决策 的结果是具有该决策的单个条目的上下文。您可以使用此属性来根据项目要求调整决策服务输出。

默认值为: true

-Dorg.kie.dmn.decisionservice.coercesingleton=false
org.kie.dmn.profiles.$PROFILE_NAME

当使用 Java 完全限定名称评估时,此属性会在启动时将 DMN 配置集加载到决策引擎中。您可以使用此属性实现预定义的 DMN 配置集,其支持的功能与 DMN 标准不同。例如,如果您使用 Signavio DMN modeller 创建 DMN 模型,请使用此属性在 DMN 决策服务中实施来自 Signavio DMN 配置集的功能。

-Dorg.kie.dmn.profiles.signavio=org.kie.dmn.signavio.KieDMNSignavioProfile
org.kie.dmn.runtime.listeners.$LISTENER_NAME

当使用 Java 完全限定名称评估时,此属性会在启动时加载并注册 DMN Runtime Listener。您可以使用此属性注册 DMN 侦听器,以便在 DMN 模型评估过程中获得多个事件的通知。

要在 KIE 服务器上部署项目时配置此属性,请在项目的 kmodule.xml 文件中修改此属性。当监听器特定于您的项目并且必须在 KIE 服务器中将配置应用到您部署的项目时,此方法非常有用。

<kmodule xmlns="http://www.drools.org/xsd/kmodule">
  <configuration>
    <property key="org.kie.dmn.runtime.listeners.mylistener" value="org.acme.MyDMNListener"/>
  </configuration>
</kmodule>

要为 Red Hat Process Automation Manager 环境全局配置此属性,请使用命令终端或任何其他全局应用程序配置机制修改此属性。当决策引擎作为 Java 应用程序的一部分嵌入时,此方法非常有用。

-Dorg.kie.dmn.runtime.listeners.mylistener=org.acme.MyDMNListener
org.kie.dmn.compiler.execmodel

启用后,此属性可让 DMN 决策表逻辑在运行时编译成可执行规则模型。您可以使用此属性来更有效地评估 DMN 决策表逻辑。当可执行模型编译最初没有在项目编译期间执行时,此属性很有用。启用此属性可能会导致决策引擎在第一次评估过程中添加编译时间,但后续编译效率更高。

默认值: false

-Dorg.kie.dmn.compiler.execmodel=true
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.