为红帽决策管理器设计决策管理架构
摘要
前言
作为商业分析师、系统管理员或业务规则开发人员,您创建的红帽决策管理器商业资产的类型以及您开发、存储、执行和部署这些资产的方式因您的业务自动化环境的需求而不同。您可以设计使用 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,使用 Menu → Deploy → Execution servers 页面来创建和维护容器。如果要在没有 Business Central 的情况下自动执行 KIE 服务器管理,您可以使用无头流程自动化管理器控制器。
您还可以集群开发和运行时环境。集群开发或运行时环境由由两个或多个服务器的统一组或集群组成。集群红帽流程自动化管理器开发环境的主要优点是高可用性和增强的协作,而集群红帽流程自动化管理器运行时环境的主要优点是高可用性和负载平衡。当单个服务器出现故障时,高可用性降低了数据丢失的可能性。当服务器出现故障时,另一个服务器通过提供故障服务器上的数据副本来填补差距。当故障服务器再次上线时,它会在集群中恢复它。
目前,Red Hat JBoss EAP 7.4 和 Red Hat OpenShift Container Platform 支持运行时环境的集群。
第 2 章 红帽决策管理器中的决策资产
Red Hat Decision Manager 支持若干资产,可用于为您的决策服务定义业务决策。每个决策资产都有不同的优势,您可以根据目标和需求,首选使用一个或多个资产的组合。
下表重点介绍红帽决策管理器项目支持的主要决策资产,以帮助您确定或确认在决策服务中定义决策的最佳方法。
asset | 亮点 | 编写工具 | Documentation |
---|---|---|---|
决策模型和符号(DMN)型号 |
| Business Central 或其他与 DMN 兼容的编辑器 | |
指导的决定表 |
| Business Central | |
电子表格决策表 |
| 电子表格编辑器 | |
指导规则 |
| Business Central | |
指导规则模板 |
| Business Central | |
DRL 规则 |
| 业务中心或集成开发环境(IDE) | |
预测模型标记语言(PMML)型号 |
| PMML 或 XML 编辑器 |
当您定义业务决策时,您还可考虑使用红帽构建的 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 项目版本、存储和构建的主要方法:
版本选项 | 描述 | Documentation |
---|---|---|
Business Central Git VFS | Business Central 包含内置 Git 虚拟文件系统(VFS),用于存储您在编写环境中创建的所有流程、规则和其他工件。Git 是一种分布式版本控制系统,可将修订版本作为提交对象实施。当您将更改提交到存储库时,会创建一个新的提交对象。当您在 Business Central 中创建项目时,该项目将添加到连接到 Business Central 的 Git 存储库中。 | 不适用 |
外部 Git 存储库 | 如果您在 Business Central 以外的 Git 存储库中有一个红帽决策管理器项目,您可以将它们导入到红帽 Decision Manager 空间中,并使用 Git hook 来同步内部和外部 Git 存储库。 |
管理选项 | 描述 | Documentation |
---|---|---|
Business Central Maven 软件仓库 | Business Central 包含内置 Maven 存储库,可组织并构建您在编写环境中创建的项目资产。Maven 是一个分布式构建自动化工具,它使用存储库存储 Java 库、插件和其他构建工件。在构建项目和 archetypes 时,Maven 从本地或远程存储库动态检索 Java 库和 Maven 插件,以促进跨项目的共享依赖项。 注意 对于生产环境,请考虑使用配置了 Business Central 的外部 Maven 存储库。 | 不适用 |
外部 Maven 存储库 |
如果您在外部 Maven 存储库中拥有 Red Hat Decision Manager 项目,如 Nexus 或 Artifactory,您可以创建带有连接详情的 |
构建选项 | 描述 | Documentation |
---|---|---|
业务中心(KJAR) | Business Central 构建存储在内置 Maven 存储库或配置的外部 Maven 存储库中的红帽决策管理器项目。Business Central 中的项目自动打包为 knowledge JAR(KJAR)文件,其中包含您构建项目时部署所需的所有组件。 | |
独立 Maven 项目(KJAR) |
如果您在 Business Central 之外有独立红帽决策管理器 Maven 项目,您可以编辑项目 | |
嵌入式 Java 应用程序(KJAR) |
如果您有一个要构建 Red Hat Decision Manager 项目的嵌入式 Java 应用程序,您可以使用 | |
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 环境中。
以下选项是红帽决策管理器项目部署的主要方法:
部署选项 | 描述 | 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 服务器实例之外)。 | |
部署到嵌入式 Java 应用程序 | 如果要将红帽决策管理器项目部署到您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器,您可以在项目 WAR 文件中捆绑应用程序资源,以创建类似于 KIE 容器的部署单元。您还可以使用核心 KIE API(而不是 KIE 服务器 API)配置 KIE 服务器 API,以定期更新 KIE 容器。 |
第 5 章 红帽决策管理器中的资产执行选项
构建红帽决策管理器项目并将其部署到 KIE 服务器或其他环境后,您可以执行部署资产进行测试或运行时消耗。除了部署之后,您还可以在本地执行资产,而不是在本地执行资产。
以下选项是 Red Hat Decision Manager 资产执行的主要方法:
执行选项 | 描述 | Documentation |
---|---|---|
在 KIE 服务器中执行 | 如果您将红帽决策管理器项目资产部署到 KIE 服务器,您可以使用 KIE 服务器 REST API 或 Java 客户端 API 执行并与部署资产交互。您还可以在 Business Central 之外使用 Business Central 或无头流程自动化管理器控制器,管理与部署资产关联的 KIE 服务器实例中的配置和 KIE 容器。 | |
在嵌入式 Java 应用程序中执行 | 如果您在自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中部署了红帽决策管理器项目资产,您可以使用自定义 API 或与核心 KIE API(而非 KIE 服务器 API)的应用程序交互以在嵌入式引擎中执行资产。 | |
在本地环境中执行以扩展测试 | 作为您的开发周期的一部分,您可以在本地执行资产以确保您在 Red Hat Decision Manager 功能中创建的资产符合预期。除了部署之后或不需要执行资产外,您还可以使用本地执行。 |
第 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
-
安装环境 :Red Hat OpenShift Container Platform 上的 Red Hat Decision Manager,根据需要使用
- 带有 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 上的红帽决策管理器
- 带有 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 和嵌入式 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