为红帽决策管理器设计您的决策管理架构
摘要
前言
作为业务分析、系统管理员或业务规则开发人员,您创建的红帽决策管理器业务资产的类型以及您开发、存储、执行和部署这些资产的方式因业务自动化环境的需求而异。您可以设计一个决策管理架构,它使用 Business Central 或外部集成开发环境(IDE)进行资产开发、内置或外部 Git 存储库,用于存储和版本控制、KIE 服务器或嵌入式应用程序用于部署,或其他实施组合。您还可以将 Red Hat Decision Manager 部署到 Red Hat OpenShift Container Platform 环境中,以进行增强的容器化实施。
本文档描述了红帽决策管理器实施的基本概念和选项,以便在设计决策管理架构时考虑。要验证最适合您环境的实施,请联系您的红帽大客户经理或解决方案架构师。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 信息。
第 1 章 Red Hat Decision Manager 的安装环境选项
使用红帽决策管理器,您可以设置开发环境来开发业务应用程序、运行这些应用程序的运行时环境来支持决策。
- 开发环境 :Typly 包括一个 Business Central 安装和至少一个 KIE 服务器安装。您可以使用 Business Central 设计决策和其他工件,您可以使用 KIE Server 执行并测试您创建的工件。
- 运行时环境 :使用或不使用 Business Central 的一个或多个 KIE 服务器实例.Business Central 有一个嵌入式决策管理器控制器。如果安装了 Business Central,请使用 Menu → Deploy → Execution servers 页面创建和维护容器。如果要在不使用 Business Central 的情况下自动执行 KIE 服务器管理,您可以使用无头决策管理器控制器。
您还可以集群开发和运行时环境。集群开发或运行时环境由由两个或多个服务器组成的统一组或集群组成。集群红帽决策管理器开发环境的主要优点是高可用性和增强的协作,而集群红帽决策管理器运行时环境的主要优点是高可用性和负载平衡。当单个服务器出现故障时,高可用性降低了数据丢失的几率。当服务器出现故障时,另一台服务器通过提供故障服务器上的数据副本来填补差距。当失败的服务器再次上线时,它会恢复它在集群中的位置。
目前,Red Hat JBoss EAP 7.3 和 Red Hat OpenShift Container Platform 仅支持运行时环境集群。
第 2 章 红帽决策管理器中的决策授权资产
Red Hat Decision Manager 支持可用于为您的决策服务定义商业决策的多个资产。每个决策授权资产都有不同的优势,您可能需要根据目标和需求使用多个资产的一个或多个资产组合。
下表重点介绍了红帽决策管理器项目支持的主要决策 - 授权资产,以帮助您决定或确认在决策服务中定义决策的最佳方法。
资产 | 亮点 | 编写工具 | Documentation |
---|---|---|---|
决策模型和符号(DMN)模型 |
| Business Central 或其他符合 DMN 的编辑器 | |
指导决策表 |
| Business Central | |
电子表格决策表 |
| 电子表格编辑器 | |
指导规则 |
| Business Central | |
指南规则模板 |
| Business Central | |
DRL 规则 |
| Business Central 或集成开发环境(IDE) | |
预测模型标记语言(PMML)模型 |
| PMML 或 XML 编辑器 |
第 3 章 使用红帽决策管理器项目存储和构建选项
当您开发红帽决策管理器项目时,您需要使用一个版本控制的存储库跟踪项目版本,在稳定的环境中管理项目资产,并构建项目以测试和部署。您可以将 Business Central 用于所有这些任务,或使用 Business Central 和外部工具和存储库的组合。Red Hat Decision Manager 支持 Git 存储库用于项目版本控制,Apache Maven 用于项目管理,以及各种基于 Maven、基于 Java 的构建选项。
以下选项是 Red Hat Decision Manager 项目版本控制、存储和构建的主要方法:
版本控制选项 | 描述 | Documentation |
---|---|---|
Business Central Git VFS | Business Central 包含内置 Git 虚拟文件系统(VFS),它存储您在编写环境中创建的所有进程、规则和其他工件。Git 是一个分布式版本控制系统,它将修订版本实施为提交对象。当您将更改提交到存储库时,会在 Git 存储库中创建新的提交对象。当您在 Business Central 中创建项目时,该项目将添加到连接到 Business Central 的 Git 存储库中。 | 不适用 |
外部 Git 存储库 | 如果您在 Business Central 之外的 Git 存储库中具有红帽决策管理器项目,您可以将它们导入到红帽决策管理器空间,并使用 Git hook 来同步内部和外部 Git 存储库。 |
管理选项 | 描述 | Documentation |
---|---|---|
Business Central Maven 存储库 | Business Central 包含内置 Maven 存储库,可在编写环境中组织并构建您创建的项目资产。Maven 是一个分布式构建自动化工具,它使用存储库来存储 Java 库、插件和其他构建工件。在构建项目和架构类型时,Maven 从本地或远程存储库动态检索 Java 库和 Maven 插件,以提升项目之间的共享依赖项。 注意 对于生产环境,请考虑使用配置了 Business Central 的外部 Maven 存储库。 | 不适用 |
外部 Maven 存储库 |
如果您在外部 Maven 存储库中拥有红帽决策管理器项目,如 Nexus 或 Artifactory,您可以创建一个带有连接详情的 |
构建选项 | 描述 | Documentation |
---|---|---|
Business Central (KJAR) | Business Central 构建红帽决策管理器项目,存储在内置的 Maven 存储库或已配置的外部 Maven 存储库中。Business Central 中的项目自动打包为知识 JAR (KJAR)文件,其中包含构建项目时部署所需的所有组件。 | |
独立 Maven 项目(KJAR) |
如果您在 Business Central 之外有一个独立的红帽决策管理器 Maven 项目,您可以编辑项目 | |
嵌入式 Java 应用程序(KJAR) |
如果您有一个要从中构建红帽决策管理器项目的嵌入式 Java 应用程序,您可以使用 | |
CI/CD 工具(KJAR) | 如果您使用一个工具进行持续集成和持续交付(CI/CD),您可以将工具集配置为与红帽决策管理器 Git 存储库集成来构建指定项目。确保您的项目已打包并构建为 KJAR 文件,以确保优化部署。 | 不适用 |
OpenShift 中的 S2I (容器镜像) | 如果您在 Red Hat OpenShift Container Platform 上使用 Red Hat Decision Manager,您可以以典型的方式构建 Red Hat Decision Manager 项目,或使用 Source-to-Image (S2I)构建项目作为容器镜像。S2I 是一个框架和工具,它允许您编写使用应用源代码的镜像作为输入,并生成作为输出运行汇编应用程序的新镜像。使用 S2I 工具构建可重复生成的容器镜像的主要优点是便于开发人员使用。 |
第 4 章 Red Hat Decision Manager 的项目部署选项
在开发、测试和构建红帽决策管理器项目后,您可以部署项目以便开始使用您创建的业务资产。您可以将红帽决策管理器项目部署到配置的 KIE 服务器、嵌入式 Java 应用程序或 Red Hat OpenShift Container Platform 环境中,用于增强的容器化实施。
以下选项是 Red Hat Decision Manager 项目部署的主要方法:
部署选项 | 描述 | Documentation |
---|---|---|
部署到 OpenShift 环境 | Red Hat OpenShift Container Platform 结合了 Docker 和 Kubernetes,并可让您创建和管理容器。您可以在 OpenShift 上安装 Business Central 和 KIE Server。Red Hat Decision Manager 提供了模板,可用于在 OpenShift 上部署红帽决策管理器编写环境、受管服务器环境、不可变服务器环境或试用环境。借助 OpenShift,红帽决策管理器的组件被部署为单独的 OpenShift pod。您可以单独扩展和缩减每个 pod,从而根据特定组件所需的数量或多个容器提供。您可以使用标准的 OpenShift 方法管理容器集并平衡负载。 | 使用 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 服务器实例)。您还可以使用 KIE Server REST API 或来自独立 Maven 项目、嵌入式 Java 应用程序或其他自定义环境的 Java 客户端 API 部署和维护部署单元(在托管 KIE 服务器实例之外)。 | |
部署到嵌入式 Java 应用程序 | 如果要将红帽决策管理器项目部署到您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器,您可以在项目 WAR 文件中捆绑应用资源,以创建类似于 KIE 容器的部署单元。您还可以使用核心 KIE API (非 KIE 服务器 API)配置 KIE 扫描程序来定期更新 KIE 容器。 |
第 5 章 Red Hat Decision Manager 的资产执行选项
将红帽决策管理器项目构建并部署到 KIE 服务器或其他环境后,可以执行部署的资产来测试或运行时消耗。除了部署后,您还可以在本地执行资产,而不执行它们。
以下选项是 Red Hat Decision Manager 资产执行的主要方法:
执行选项 | 描述 | Documentation |
---|---|---|
KIE 服务器中的执行 | 如果您将红帽决策管理器项目资产部署到 KIE 服务器,您可以使用 KIE Server REST API 或 Java 客户端 API 执行并与部署资产进行交互。您还可以使用 Business Central 以外的 Business Central 或无头决策管理器控制器来管理与部署资产关联的 KIE 服务器实例中的配置和 KIE 容器。 | |
在嵌入式 Java 应用程序中执行 | 如果您在您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中部署红帽决策管理器项目资产,您可以使用自定义 API 或与核心 KIE API (非 KIE Server API)的应用程序交互来执行嵌入式引擎中的资产。 | |
在本地环境中执行扩展测试 | 作为开发周期的一部分,您可以在本地执行资产,以确保您在红帽决策管理器中创建的资产可以正常工作。除了部署后,您还可以使用本地执行,而不是执行资产。 |
第 6 章 使用红帽决策管理器进行决策管理架构示例
以下场景演示了红帽决策管理器安装、资产编写、项目存储、项目部署和资产在决策管理架构中执行的常见变化。每个部分都总结了使用的方法和工具,以及给定架构的优势。这个示例是基本的,只是您考虑的许多组合,具体取决于您的特定目标和 Red Hat Decision Manager 的需求。
- Red Hat Decision Manager 使用 Business Central 和 KIE Server 在 OpenShift 上编写和托管服务器环境
-
安装环境 :Red Hat OpenShift Container Platform 上的红帽决策管理器,使用
rhdm711-authoring.yaml
和rhdm711-kieserver.yaml
模板文件 - 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本控制的外部 Git 存储库,以及用于项目管理和构建配置了 KIE Server 的外部 Maven 存储库
- asset-authoring 工具 : Business Central
- 主要资产类型 :决策模型和符号(DMN)决策模型
- 项目部署和执行环境 : KIE Server on Red Hat OpenShift Container Platform
场景优点 :
- 在基于云的开发环境中容器化实施红帽决策管理器。Red Hat Decision Manager 的组件部署为单独的 OpenShift pod,您可以单独扩展和缩减,从而根据特定组件所需的数量或多个容器提供。您可以使用标准的 OpenShift 方法管理容器集并平衡负载。
- 访问 Business Central 中的存储库、资产、资产设计程序和项目构建选项。
- 使用 DMN 进行优化集成和稳定性的标准化资产验证方法。
- 访问 KIE 服务器功能和 KIE API 用于资产部署和执行。
图 6.1. Red Hat Decision Manager on OpenShift with Business Central 和 KIE Server
-
安装环境 :Red Hat OpenShift Container Platform 上的红帽决策管理器,使用
- Red Hat Decision Manager on Red Hat JBoss EAP with Business Central 和 KIE Server
- 安装环境 : Red Hat JBoss Enterprise Application Platform 上的红帽决策管理器
- 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本控制的外部 Git 存储库,以及用于项目管理和构建配置了 KIE Server 的外部 Maven 存储库
- asset-authoring 工具 : Business Central
- 主要资产类型 :决策模型和符号(DMN)决策模型
- 项目部署和执行环境 :KIE 服务器
场景优点 :
- 在内部开发环境中实现红帽决策管理器的稳定实施
- 访问 Business Central 中的存储库、资产、资产设计程序和项目构建选项
- 使用 DMN 进行最佳集成和稳定性的标准化资产验证方法
- 访问 KIE 服务器功能和 KIE API 用于资产部署和执行
图 6.2. Red Hat Decision Manager on Red Hat JBoss EAP with Business Central 和 KIE Server
- Red Hat Decision Manager on Red Hat JBoss EAP with an IDE 和 KIE Server
- 安装环境 : Red Hat JBoss Enterprise Application Platform 上的红帽决策管理器
- 项目存储和构建环境:用于项目版本控制的外部 Git 存储库(不与 Business Central 同步)和用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建配置
- asset-authoring 工具 :集成开发环境(IDE),如红帽 CodeReady Studio,以及电子表格编辑器或决策模型和注释(DMN)建模工具,用于其他决策格式
- 主要资产类型 :Drools Rule Language (DRL)规则、电子表格决策表和决策模型和符号(DMN)模型用于决策
- 项目部署和执行环境 :KIE 服务器
场景优点 :
- 在内部开发环境中实现红帽决策管理器的灵活实施
- 能够使用外部 IDE 和其他资产定义业务资产-验证您的选择工具
- 访问 KIE 服务器功能和 KIE API 用于资产部署和执行
图 6.3. Red Hat Decision Manager on Red Hat JBoss EAP with an IDE 和 KIE Server
- 带有 IDE 和嵌入式 Java 应用程序的 Red Hat Decision Manager
- 安装环境 :红帽决策管理器库嵌入在自定义应用程序中
- 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(不与 Business Central 同步)和用于项目管理的外部 Maven 存储库,以及使用嵌入式 Java 应用程序(未配置 KIE 服务器)进行构建。
- asset-authoring 工具 :集成开发环境(IDE),如红帽 CodeReady Studio,以及电子表格编辑器或决策模型和注释(DMN)建模工具,用于其他决策格式
- 主要资产类型 :Drools Rule Language (DRL)规则、电子表格决策表和决策模型和符号(DMN)模型用于决策
- 项目部署和执行环境 :嵌入式 Java 应用,如 Java 虚拟机(JVM)环境、微服务或自定义应用服务器中
场景优点 :
- 使用嵌入式 Java 应用程序在内部开发环境中自定义红帽决策管理器实施
- 能够使用外部 IDE 和其他资产定义业务资产-验证您的选择工具
- 使用自定义 API 与核心 KIE API (非 KIE Server API)交互,并在嵌入式引擎中执行资产
图 6.4. 带有 IDE 和嵌入式 Java 应用程序的 Red Hat Decision Manager
第 7 章 其他资源
附录 A. 版本控制信息
文档最后更新了 2022 年 3 月 8 日。
附录 B. 联系信息
Red Hat Decision Manager 文档团队: brms-docs@redhat.com