为红帽决策管理器设计决策管理架构


Red Hat Decision Manager 7.13

摘要

本文档介绍了红帽决策管理器在设计决策管理架构时需要考虑的基本概念和选项。要验证最适合您环境的实施,请联系您的红帽大客户经理或解决方案架构师。

前言

作为商业分析师、系统管理员或业务规则开发人员,您创建的红帽决策管理器商业资产的类型以及您开发、存储、执行和部署这些资产的方式因您的业务自动化环境的需求而不同。您可以设计使用 Business Central 或外部集成开发环境(IDE)进行资产开发、用于存储和版本控制的内置或外部 Git 存储库、KIE 服务器或嵌入式应用程序进行部署或其他实施组合的决策管理架构。您还可以将 Red Hat Decision Manager 部署到用于增强容器化部署的 Red Hat OpenShift Container Platform 环境中。

本文档介绍了红帽决策管理器在设计决策管理架构时需要考虑的基本概念和选项。要验证最适合您环境的实施,请联系您的红帽大客户经理或解决方案架构师。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。详情请查看 CTO Chris Wright 的信息。

第 1 章 Red Hat Decision Manager 的安装环境选项

使用 Red Hat Process Automation Manager,您可以设置一个开发环境以开发业务应用程序,一个运行这些应用程序的运行时环境来支持决策。

  • 开发环境 :通常由一个 Business Central 安装和一个 KIE 服务器安装组成。您可以使用 Business Central 设计决策和其他工件,您可以使用 KIE 服务器执行和测试您所创建的工件。
  • 运行时环境 :通过或不使用 Business Central 实现一个或多个 KIE 服务器实例.Business Central 具有一个嵌入式流程自动化管理器控制器。如果您安装 Business Central,使用 MenuDeployExecution servers 页面来创建和维护容器。如果要在没有 Business Central 的情况下自动执行 KIE 服务器管理,您可以使用无头流程自动化管理器控制器。

您还可以集群开发和运行时环境。集群开发或运行时环境由由两个或多个服务器的统一组或集群组成。集群红帽流程自动化管理器开发环境的主要优点是高可用性和增强的协作,而集群红帽流程自动化管理器运行时环境的主要优点是高可用性和负载平衡。当单个服务器出现故障时,高可用性降低了数据丢失的可能性。当服务器出现故障时,另一个服务器通过提供故障服务器上的数据副本来填补差距。当故障服务器再次上线时,它会在集群中恢复它。

注意

目前,Red Hat JBoss EAP 7.4 和 Red Hat OpenShift Container Platform 支持运行时环境的集群。

第 2 章 红帽决策管理器中的决策资产

Red Hat Decision Manager 支持若干资产,可用于为您的决策服务定义业务决策。每个决策资产都有不同的优势,您可以根据目标和需求,首选使用一个或多个资产的组合。

下表重点介绍红帽决策管理器项目支持的主要决策资产,以帮助您确定或确认在决策服务中定义决策的最佳方法。

表 2.1. 红帽决策管理器支持的决策资产
asset亮点编写工具Documentation

决策模型和符号(DMN)型号

  • 决策模型基于由对象管理组(OMG)定义的符号标准。
  • 使用代表部分或所有决策要求图(DRG)的图形化决策要求图(DRG)跟踪业务决策流程
  • 使用 XML 模式,允许在 DMN 兼容平台间共享 DMN 模型
  • 支持 Friendly Enough Expression Language(FEEL),在 DMN 决策表中定义决策逻辑,以及其他 DMN 框的表达式
  • 是创建全面、清晰和稳定的决策流程的最佳选择

Business Central 或其他与 DMN 兼容的编辑器

使用 DMN 模型设计决策服务

指导的决定表

  • 是您在 Business Central 中基于 UI 的表格设计者创建的规则表
  • 是电子表格决策表的向导替代选择
  • 为可接受的输入提供字段和选项
  • 支持创建规则模板的模板键和值
  • 支持点击策略、实时验证和其他资产不支持的其他功能
  • 是以受控表格格式创建规则的最佳选择,可最小化编译错误

Business Central

使用指导的决策表设计决策服务

电子表格决策表

  • 是 XLS 或 XLSX 表格决策表,您可以上传到 Business Central
  • 支持创建规则模板的模板键和值
  • 是创建已在 Business Central 之外管理的决策表中规则的最佳选择
  • 在上传后,对规则进行编译具有严格的语法要求

电子表格编辑器

使用电子表格决策表设计决策服务

指导规则

  • 是您在 Business Central 中基于 UI 的规则设计者创建的单独规则
  • 为可接受的输入提供字段和选项
  • 是以受控格式创建单一规则的最佳选择,以最小化编译错误

Business Central

使用指导规则设计决策服务

指导规则模板

  • 是您在 Business Central 中基于 UI 的模板设计者创建的可重复使用的规则结构
  • 为可接受的输入提供字段和选项
  • 支持创建规则模板的模板键和值(与此资产的目的不相同)
  • 是创建具有相同规则结构但具有不同定义字段值的很多规则的最佳

Business Central

使用指导规则模板设计决策服务

DRL 规则

  • 是直接在 .drl 文本文件中定义的单独规则
  • 提供定义规则和其他规则行为的最大的灵活性
  • 可以在特定的独立环境中创建,并与红帽决策管理器集成
  • 是创建需要高级 DRL 选项的规则的最佳选择
  • 对规则进行正确编译的规则具有严格的语法要求

业务中心或集成开发环境(IDE)

使用 DRL 规则设计决策服务

预测模型标记语言(PMML)型号

  • 是基于数据 Mining Group(DMG)定义的标记标准预测数据分析模型。
  • 使用允许 PMML 模式在 PMML 兼容的平台之间共享的 XML 模式
  • 支持 Regression、scorecard、Tree、Mining 和其他模型类型
  • 可包含在独立红帽决策管理器项目中,或导入到 Business Central 中的项目
  • 在红帽决策管理器中将预测数据合并到决策管理器中的选择是

PMML 或 XML 编辑器

使用 PMML 型号设计决策服务

当您定义业务决策时,您还可考虑使用红帽构建的 Kogito 构建用于您的云原生决策服务。有关开始使用 Kogito 微服务的红帽构建的更多信息,请参阅 Red Hat Decision Manager 中的 Kogito 构建

第 3 章 红帽决策管理器项目存储和构建选项

随着您开发红帽决策管理器项目,您需要能够通过版本控制的存储库跟踪项目版本,管理稳定环境中的项目资产,并构建用于测试和部署的项目。您可以将 Business Central 用于所有这些任务,也可以使用 Business Central 和外部工具和存储库的组合。Red Hat Decision Manager 支持 Git 存储库进行项目版本控制、用于项目管理的 Apache Maven 以及各种基于 Maven、基于 Java 或基于自定义工具的构建选项。

以下选项是 Red Hat Decision Manager 项目版本、存储和构建的主要方法:

表 3.1. 项目版本控制选项(Git)
版本选项描述Documentation

Business Central Git VFS

Business Central 包含内置 Git 虚拟文件系统(VFS),用于存储您在编写环境中创建的所有流程、规则和其他工件。Git 是一种分布式版本控制系统,可将修订版本作为提交对象实施。当您将更改提交到存储库时,会创建一个新的提交对象。当您在 Business Central 中创建项目时,该项目将添加到连接到 Business Central 的 Git 存储库中。

不适用

外部 Git 存储库

如果您在 Business Central 以外的 Git 存储库中有一个红帽决策管理器项目,您可以将它们导入到红帽 Decision Manager 空间中,并使用 Git hook 来同步内部和外部 Git 存储库。

在 Business Central 中管理项目

表 3.2. 项目管理选项(Maven)
管理选项描述Documentation

Business Central Maven 软件仓库

Business Central 包含内置 Maven 存储库,可组织并构建您在编写环境中创建的项目资产。Maven 是一个分布式构建自动化工具,它使用存储库存储 Java 库、插件和其他构建工件。在构建项目和 archetypes 时,Maven 从本地或远程存储库动态检索 Java 库和 Maven 插件,以促进跨项目的共享依赖项。

注意

对于生产环境,请考虑使用配置了 Business Central 的外部 Maven 存储库。

不适用

外部 Maven 存储库

如果您在外部 Maven 存储库中拥有 Red Hat Decision Manager 项目,如 Nexus 或 Artifactory,您可以创建带有连接详情的 settings.xml 文件,并将该文件路径添加到项目 standalone-full.xml 文件中的 kie.maven.settings.custom 属性。

Maven 设置参考

打包和部署红帽决策管理器项目

表 3.3. 项目构建选项
构建选项描述Documentation

业务中心(KJAR)

Business Central 构建存储在内置 Maven 存储库或配置的外部 Maven 存储库中的红帽决策管理器项目。Business Central 中的项目自动打包为 knowledge JAR(KJAR)文件,其中包含您构建项目时部署所需的所有组件。

打包和部署红帽决策管理器项目

独立 Maven 项目(KJAR)

如果您在 Business Central 之外有独立红帽决策管理器 Maven 项目,您可以编辑项目 pom.xml 文件,将项目打包为 KJAR 文件,然后添加构建项目所需的 KIE 基础和 KIE 会话配置的 kmodule.xml 文件。

打包和部署红帽决策管理器项目

嵌入式 Java 应用程序(KJAR)

如果您有一个要构建 Red Hat Decision Manager 项目的嵌入式 Java 应用程序,您可以使用 KieModuleModel 实例以编程方式使用 KIE 基本和 KIE 会话配置创建 kmodule.xml 文件,然后将项目中的所有资源添加到 KIE 虚拟文件系统 KieFileSystem 中构建项目。

打包和部署红帽决策管理器项目

CI/CD 工具(KJAR)

如果您使用工具进行持续集成和持续交付(CI/CD),您可以将工具集配置为与红帽 Decision Manager Git 存储库集成,以构建指定的项目。确保您的项目已打包并构建为 KJAR 文件,以确保最佳部署。

不适用

OpenShift 中的 S2I(容器镜像)

如果您在 Red Hat OpenShift Container Platform 上使用 Red Hat Decision Manager,您可以以典型方式将 Red Hat Decision Manager 项目构建为 KJAR 文件,或者使用 Source-to-Image(S2I)将项目作为容器镜像构建。S2I 是一个框架和一个工具,您可以编写使用应用程序源代码作为输入的镜像,并生成一个新镜像,以运行汇编的应用程序作为输出。使用 S2I 工具构建可重复生成的容器镜像的主要优点是便于开发人员使用。

Red Hat Decision Manager 镜像使用您可以指定的 Git 存储库中的源自动将 KJAR 文件构建为 S2I。您不需要创建脚本或管理 S2I 构建。

对于 S2I 概念:Red Hat OpenShift Container Platform 产品文档中的 镜像

对于基于 Operator 的部署过程: 使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Decision Manager 环境。在 KIE Server 设置中,添加一个 KIE 服务器实例,然后点 Set Immutable 服务器配置 S2I 部署的源 Git 存储库。

第 4 章 红帽决策管理器项目部署选项

在开发、测试和构建红帽决策管理器项目后,您可部署该项目来开始使用您所创建的业务资产。您可以将红帽决策管理器项目部署到配置的 KIE 服务器,或部署到嵌入式 Java 应用程序,或部署到用于增强容器化部署的 Red Hat OpenShift Container Platform 环境中。

以下选项是红帽决策管理器项目部署的主要方法:

表 4.1. 项目部署选项
部署选项描述Documentation

部署到 OpenShift 环境

Red Hat OpenShift Container Platform 结合了 Docker 和 Kubernetes,并使您能够创建和管理容器。您可以在 OpenShift 上安装 Business Central 和 KIE 服务器。Red Hat Decision Manager 提供了模板,可用于在 OpenShift 上部署红帽决策管理器编写环境、受管服务器环境、不可变服务器环境或试用环境。使用 OpenShift 时,红帽决策管理器的组件作为独立的 OpenShift pod 部署。您可以单独扩展每个 pod,并尽可能为特定组件提供几个或数量个容器。您可以使用标准的 OpenShift 方法来管理 pod,并平衡负载。

使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Decision Manager 环境

使用模板在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Decision Manager 环境

部署到 KIE 服务器

KIE 服务器是由红帽决策管理器提供的服务器,可从打包和部署的红帽决策管理器项目(KJAR 文件)中运行决策服务、流程应用程序和其他可部署的资产。这些服务在运行时通过实例化的 KIE 容器 或部署单元 消耗。您可以使用 Business Central 部署和维护 KIE 服务器中的部署单元,或使用其关联的 REST API(位于 受管 KIE 服务器实例)中使用无头流程自动化管理器控制器。您还可以使用来自独立 Maven 项目的 KIE 服务器 REST API 或 Java 客户端 API 部署和维护部署单元、嵌入式 Java 应用程序或其他自定义环境(位于 未管理 的 KIE 服务器实例之外)。

打包和部署红帽决策管理器项目

使用 KIE API 与 Red Hat Decision Manager 交互

管理和监控 KIE 服务器

部署到嵌入式 Java 应用程序

如果要将红帽决策管理器项目部署到您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器,您可以在项目 WAR 文件中捆绑应用程序资源,以创建类似于 KIE 容器的部署单元。您还可以使用核心 KIE API(而不是 KIE 服务器 API)配置 KIE 服务器 API,以定期更新 KIE 容器。

KIE Public API

第 5 章 红帽决策管理器中的资产执行选项

构建红帽决策管理器项目并将其部署到 KIE 服务器或其他环境后,您可以执行部署资产进行测试或运行时消耗。除了部署之后,您还可以在本地执行资产,而不是在本地执行资产。

以下选项是 Red Hat Decision Manager 资产执行的主要方法:

表 5.1. 资产执行选项
执行选项描述Documentation

在 KIE 服务器中执行

如果您将红帽决策管理器项目资产部署到 KIE 服务器,您可以使用 KIE 服务器 REST API 或 Java 客户端 API 执行并与部署资产交互。您还可以在 Business Central 之外使用 Business Central 或无头流程自动化管理器控制器,管理与部署资产关联的 KIE 服务器实例中的配置和 KIE 容器。

使用 KIE API 与 Red Hat Decision Manager 交互

在嵌入式 Java 应用程序中执行

如果您在自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中部署了红帽决策管理器项目资产,您可以使用自定义 API 或与核心 KIE API(而非 KIE 服务器 API)的应用程序交互以在嵌入式引擎中执行资产。

KIE Public API

在本地环境中执行以扩展测试

作为您的开发周期的一部分,您可以在本地执行资产以确保您在 Red Hat Decision Manager 功能中创建的资产符合预期。除了部署之后或不需要执行资产外,您还可以使用本地执行。

使用 DRL 规则在设计决策服务时执行规则

第 6 章 使用红帽决策管理器的决策管理架构示例

以下场景展示了红帽决策管理器在决策管理器安装、资产编写、项目存储、项目部署和资产在决策管理架构中的常见变化。每个部分都总结了所使用的方法和工具,以及给定架构的优点。例子是 basic,且只适用于您的几个组合,具体取决于您的特定目标,需要使用 Red Hat Decision Manager。

使用 Business Central 和 KIE 服务器的 OpenShift 上的 Red Hat Decision Manager 环境
  • 安装环境 :Red Hat OpenShift Container Platform 上的 Red Hat Decision Manager,根据需要使用 Operator 部署 rhpam 身份验证环境和其他类型的环境。
  • 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本的外部 Git 存储库,以及用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
  • asset-authoring 工具 : Business Central
  • 主要资产类型 :决策模型和通知(DMN)模型
  • 项目部署和执行环境: Red Hat OpenShift Container Platform 上的 KIE Server
  • 场景优点

    • 在基于云的开发环境中红帽决策管理器的容器化实施。Red Hat Decision Manager 的组件作为单独的 OpenShift pod 部署,您可以单独扩展和缩减,从而提供尽量少或数量个特定组件所需的容器。您可以使用标准的 OpenShift 方法来管理 pod,并平衡负载。
    • 访问 Business Central 中的存储库、资产、资产设计人员和项目构建选项。
    • 使用 DMN 标准化资产编写方法,实现最佳集成和稳定性。
    • 访问用于资产部署和执行的 KIE 服务器功能及 KIE API.

图 6.1. Red Hat Decision Manager on OpenShift with Business Central 和 KIE Server

OpenShift Enterprise 上的架构 BA
带有 Business Central 和 KIE 服务器的红帽 JBoss EAP 上的红帽决策管理器
  • 安装环境 :红帽 JBoss 企业应用平台上的红帽决策管理器
  • 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本的外部 Git 存储库,以及用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
  • asset-authoring 工具 : Business Central
  • 主要资产类型 :决策模型和通知(DMN)模型
  • 项目部署和执行环境: KIE 服务器
  • 场景优点

    • 在内部开发环境中红帽决策管理器的稳定实施
    • 访问 Business Central 中的存储库、资产、资产设计人员和项目构建选项
    • 使用 DMN 标准化资产编写方法以实现最佳集成和稳定性
    • 访问用于资产部署和执行的 KIE 服务器功能及 KIE API

图 6.2. 带有 Business Central 和 KIE 服务器的红帽 JBoss EAP 上的红帽决策管理器

EAP 上的 BA 架构
带有 IDE 和 KIE 服务器的红帽 JBoss EAP 上的红帽决策管理器
  • 安装环境 :红帽 JBoss 企业应用平台上的红帽决策管理器
  • 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(不与 Business Central 同步)和用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
  • 资产验证工具 :集成开发环境(IDE),如 VSCode,以及电子表格编辑器或用于其他决策格式的决策模型和表示法模型(DMN)模型工具
  • 主要资产类型 :CRI Rule Language(DRL)规则、电子表格表格表格表格表格表以及决策模型和符号(DMN)模型
  • 项目部署和执行环境: KIE 服务器
  • 场景优点

    • 在内部开发环境中红帽决策管理器灵活实施
    • 使用您选择的外部 IDE 和其他资产工具定义业务资产
    • 访问用于资产部署和执行的 KIE 服务器功能及 KIE API

图 6.3. 带有 IDE 和 KIE 服务器的红帽 JBoss EAP 上的红帽决策管理器

带有 IDE 企业的架构
带有 IDE 和嵌入式 Java 应用程序的 Red Hat Decision Manager
  • 安装环境 :嵌入在自定义应用程序中的红帽决策管理器库
  • 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(未与 Business Central 同步)和用于项目管理的外部 Maven 存储库,并使用嵌入的 Java 应用程序(未配置 KIE 服务器)构建。
  • 资产验证工具 :集成开发环境(IDE),如 VSCode,以及电子表格编辑器或用于其他决策格式的决策模型和表示法模型(DMN)模型工具
  • 主要资产类型 :CRI Rule Language(DRL)规则、电子表格表格表格表格表格表以及决策模型和符号(DMN)模型
  • 项目部署和执行环境 :嵌入式 Java 应用,如 Java 虚拟机(JVM)环境、微服务或自定义应用服务器
  • 场景优点

    • 带有嵌入式 Java 应用程序的内部开发环境中红帽决策管理器的自定义实现
    • 使用您选择的外部 IDE 和其他资产工具定义业务资产
    • 使用自定义 API 与核心 KIE API(而不是 KIE 服务器 API)交互并在嵌入式引擎中执行资产

图 6.4. 带有 IDE 和嵌入式 Java 应用程序的 Red Hat Decision Manager

带有自定义应用程序企业的架构

第 7 章 其他资源

附录 A. 版本信息

文档最新更新于 2023 年 2 月 1 日(周三)。

附录 B. 联系信息

Red Hat Decision Manager 文档团队 :brms-docs@redhat.com

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.