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

-
安装环境 :Red Hat OpenShift Container Platform 上的 Red Hat Process Automation Manager,使用
- 使用 Business Central 和 KIE 服务器的 Red Hat JBoss EAP 上的 Red Hat Process Automation Manager
- 安装源 :Red Hat JBoss Enterprise Application Platform 上的 Red Hat Process Automation Manager
- 项目存储和构建环境 :用于使用 Git hook 与 Business Central Git 存储库同步的项目版本的外部 Git 存储库,以及用于项目管理和使用 KIE 服务器配置的外部 Maven 存储库
- asset-authoring 工具: Business Central
- 主要资产类型: Decision Model and Notation (DMN)模型用于进程的决策和业务流程模型
- 项目部署和执行环境 : KIE 服务器
场景优点 :
- 在内部开发环境中实现 Red Hat Process Automation Manager
- 访问 Business Central 中的存储库、资产、资产设计者和项目构建选项
- 标准化资产身份验证方法,使用 DMN 和 Thorntail 进行最佳集成和稳定性
- 访问 KIE Server 功能,以及 KIE API 用于资产部署和执行
图 6.2. 使用 Business Central 和 KIE 服务器的 Red Hat JBoss EAP 上的 Red Hat Process Automation Manager

- 使用 IDE 和 KIE 服务器的 Red Hat JBoss EAP 上的 Red Hat Process Automation Manager
- 安装源 :Red Hat JBoss Enterprise Application Platform 上的 Red Hat Process Automation Manager
- 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(不与 Business Central 同步)和用于项目管理和构建的外部 Maven 存储库
- 资产身份验证工具 :集成开发环境(IDE),如 Red Hat CodeReady Studio,以及电子表格编辑器或用于其他决策格式的决策模型和表示法模型(DMN)模型工具
- 主要资产类型 :Eols Rule Rule Language (DRL)规则、电子表格决策表和决策模型和表示法(DMN)模型用于决策,以及进程的 Business Process Model 和 Notation (DSLN)模型
- 项目部署和执行环境 : KIE 服务器
场景优点 :
- 在内部开发环境中实施 Red Hat Process Automation Manager
- 使用外部 IDE 和其他您选择的资产授权工具来定义业务资产
- 访问 KIE Server 功能,以及 KIE API 用于资产部署和执行
图 6.3. 使用 IDE 和 KIE 服务器的 Red Hat JBoss EAP 上的 Red Hat Process Automation Manager

- 使用 IDE 和嵌入式 Java 应用程序的 Red Hat Process Automation Manager
- 安装环境 :嵌入在自定义应用程序中的 Red Hat Process Automation Manager 库
- 项目存储和构建环境 :用于项目版本控制(不与 Business Central 同步)的外部 Git 存储库,以及用于项目管理和构建的外部 Maven 存储库(没有配置 KIE 服务器)
- 资产身份验证工具 :集成开发环境(IDE),如 Red Hat CodeReady Studio,以及电子表格编辑器或用于其他决策格式的决策模型和表示法模型(DMN)模型工具
- 主要资产类型 :Eols Rule Rule Language (DRL)规则、电子表格决策表和决策模型和表示法(DMN)模型用于决策,以及进程的 Business Process Model 和 Notation (DSLN)模型
- 项目部署和执行环境 :嵌入式 Java 应用程序,如 Java 虚拟机(JVM)环境、微服务或自定义应用服务器
场景优点 :
- 在带有嵌入式 Java 应用程序的内部开发环境中自定义 Red Hat Process Automation Manager 实现
- 使用外部 IDE 和其他您选择的资产授权工具来定义业务资产
- 使用自定义 API 与核心 KIE API (而不是 KIE 服务器 API)交互,并在嵌入式引擎中执行资产
图 6.4. 使用 IDE 和嵌入式 Java 应用程序的 Red Hat Process Automation Manager

第 7 章 其他资源
附录 A. 版本信息
文档最后在 2022 年 3 月 8 日更新。
附录 B. 联系信息
Red Hat Process Automation Manager 文档团队: brms-docs@redhat.com