为红帽流程自动化管理器设计决策管理架构
摘要
前言
作为商业分析师、系统管理员或业务规则开发人员,您创建的红帽流程自动化管理器业务资产的类型以及您开发、存储、执行和部署这些资产的方式因您的业务自动化环境的需求而不同。您可以设计使用 Business Central 或外部集成开发环境(IDE)进行资产开发、用于存储和版本控制的内置或外部 Git 存储库、KIE 服务器或嵌入式应用程序进行部署或其他实施组合的决策管理架构。您还可以将 Red Hat Process Automation Manager 部署到 Red Hat OpenShift Container Platform 环境中,以增强容器化实施。
本文档描述了在设计决策管理架构时需要考虑红帽流程自动化管理器实施的基本概念和选项。要验证最适合您环境的实施,请联系您的红帽大客户经理或解决方案架构师。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。详情请查看 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 具有一个嵌入式流程自动化管理器控制器。如果您安装 Business Central,使用 Menu → Deploy → Execution servers 页面来创建和维护容器。如果要在没有 Business Central 的情况下自动执行 KIE 服务器管理,您可以使用无头流程自动化管理器控制器。
您还可以集群开发和运行时环境。集群开发或运行时环境由由两个或多个服务器的统一组或集群组成。集群红帽流程自动化管理器开发环境的主要优点是高可用性和增强的协作,而集群红帽流程自动化管理器运行时环境的主要优点是高可用性和负载平衡。当单个服务器出现故障时,高可用性降低了数据丢失的可能性。当服务器出现故障时,另一个服务器通过提供故障服务器上的数据副本来填补差距。当故障服务器再次上线时,它会在集群中恢复它。
目前,Red Hat JBoss EAP 7.4 和 Red Hat OpenShift Container Platform 支持运行时环境的集群。
第 2 章 红帽流程自动化管理器中的决策资产
Red Hat Process Automation Manager 支持一些可用于为决策服务定义业务决策的资产。每个决策资产都有不同的优势,您可以根据目标和需求,首选使用一个或多个资产的组合。
下表重点介绍红帽流程自动化管理器项目支持的主要决策资产,以帮助您决定或确认在决策服务中定义决策的最佳方法。
asset | 亮点 | 编写工具 | Documentation |
---|---|---|---|
决策模型和符号(DMN)型号 |
| Business Central 或其他与 DMN 兼容的编辑器 | |
指导的决定表 |
| Business Central | |
电子表格决策表 |
| 电子表格编辑器 | |
指导规则 |
| Business Central | |
指导规则模板 |
| Business Central | |
DRL 规则 |
| 业务中心或集成开发环境(IDE) | |
预测模型标记语言(PMML)型号 |
| PMML 或 XML 编辑器 |
当您定义业务决策时,您还可考虑使用红帽构建的 Kogito 构建用于您的云原生决策服务。有关开始使用 Kogito 微服务的红帽构建的更多信息,请参阅 Red Hat Process Automation Manager 中的 Kogito 构建。
第 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 项目版本、存储和构建的主要方法:
版本选项 | 描述 | Documentation |
---|---|---|
Business Central Git VFS | Business Central 包含内置 Git 虚拟文件系统(VFS),用于存储您在编写环境中创建的所有流程、规则和其他工件。Git 是一种分布式版本控制系统,可将修订版本作为提交对象实施。当您将更改提交到存储库时,会创建一个新的提交对象。当您在 Business Central 中创建项目时,该项目将添加到连接到 Business Central 的 Git 存储库中。 | 不适用 |
外部 Git 存储库 | 如果您在 Business Central 以外的 Git 存储库中有一个 Red Hat Process Automation Manager 项目,您可以将它们导入到 Red Hat Process Automation Manager 空间中,并使用 Git hook 来同步内部和外部 Git 存储库。 |
管理选项 | 描述 | Documentation |
---|---|---|
Business Central Maven 软件仓库 | Business Central 包含内置 Maven 存储库,可组织并构建您在编写环境中创建的项目资产。Maven 是一个分布式构建自动化工具,它使用存储库存储 Java 库、插件和其他构建工件。在构建项目和 archetypes 时,Maven 从本地或远程存储库动态检索 Java 库和 Maven 插件,以促进跨项目的共享依赖项。 注意 对于生产环境,请考虑使用配置了 Business Central 的外部 Maven 存储库。 | 不适用 |
外部 Maven 存储库 |
如果您在外部 Maven 仓库(如 Nexus 或 Artifactory)中有一个 Red Hat Process Automation Manager 项目,您可以创建一个带有连接详情的 |
构建选项 | 描述 | Documentation |
---|---|---|
业务中心(KJAR) | Business Central 构建存储在内置 Maven 存储库中的红帽流程自动化管理器项目或配置的外部 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),您可以将工具集配置为与红帽流程自动化管理器 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 工具构建可重复生成的容器镜像的主要优点是便于开发人员使用。 Red Hat Process Automation Manager 镜像使用您指定的 Git 存储库中的源自动构建 KJAR 文件作为 S2I。您不需要创建脚本或管理 S2I 构建。 | 对于 S2I 概念:Red Hat OpenShift Container Platform 产品文档中的 镜像。 对于基于 Operator 的部署过程: 使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境。在 KIE 服务器设置中,添加一个 KIE 服务器实例,然后单击 Set Immutable 服务器配置,为 S2I 部署配置源 Git 存储库。 |
第 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 项目部署的主要方法:
部署选项 | 描述 | 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 方法来管理 pod,并平衡负载。 | 使用 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 服务器实例)中使用无头流程自动化管理器控制器。您还可以使用来自独立 Maven 项目的 KIE 服务器 REST API 或 Java 客户端 API 部署和维护部署单元、嵌入式 Java 应用程序或其他自定义环境(位于 未管理 的 KIE 服务器实例之外)。 | 打包和部署 Red Hat Process Automation Manager 项目 |
部署到嵌入式 Java 应用程序 | 如果要将 Red Hat Process Automation Manager 项目部署到您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中,您可以在项目 WAR 文件中捆绑应用程序资源,以创建类似于 KIE 容器的部署单元。您还可以使用核心 KIE API(而不是 KIE 服务器 API)配置 KIE 服务器 API,以定期更新 KIE 容器。 |
第 5 章 Red Hat Process Automation Manager 的资产执行选项
在构建并部署 Red Hat Process Automation Manager 项目至 KIE 服务器或其他环境后,您可以执行部署的资产进行测试或运行时消耗。除了部署之后,您还可以在本地执行资产,而不是在本地执行资产。
以下选项是 Red Hat Process Automation Manager 资产执行的主要方法:
执行选项 | 描述 | Documentation |
---|---|---|
在 KIE 服务器中执行 | 如果您将 Red Hat Process Automation Manager 项目资产部署到 KIE 服务器,您可以使用 KIE 服务器 REST API 或 Java 客户端 API 执行并与部署资产交互。您还可以在 Business Central 之外使用 Business Central 或无头流程自动化管理器控制器,管理与部署资产关联的 KIE 服务器实例中的配置和 KIE 容器。对于进程定义,您可以使用 Business Central 来执行流程实例。 | |
在嵌入式 Java 应用程序中执行 | 如果您在自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中部署了 Red Hat Process Automation Manager 项目资产,您可以使用自定义 API 或与核心 KIE API(而非 KIE 服务器 API)的应用程序交互在嵌入式引擎中执行资产。 | |
在本地环境中执行以扩展测试 | 作为您的开发周期的一部分,您可以在本地执行资产以确保您在 Red Hat Process Automation Manager 功能中创建的资产按预期工作。除了部署之后或不需要执行资产外,您还可以使用本地执行。 |
根据您的部署和执行环境,您可以使用智能路由器聚合多个独立的 KIE 服务器实例,就像它们是单一服务器一样。智能路由器是一个端点,可以从客户端应用程序接收调用到您的任何服务,并将每个调用自动路由到运行该服务的 KIE 服务器。有关智能路由器的更多信息,请参阅在 Red Hat JBoss EAP 集群环境中安装和配置 Red Hat Process Automation Manager。
第 6 章 使用 Red Hat Process Automation Manager 的决策管理架构示例
以下场景演示了 Red Hat Process Automation Manager 安装、资产编写、项目存储、项目部署和资产在决策管理架构中的常见变化。每个部分都总结了所使用的方法和工具,以及给定架构的优点。例子是 basic,且只适用于您的几个组合,具体取决于您的特定目标和需要使用 Red Hat Process Automation Manager 的要求。
- 带有 Business Central 和 KIE 服务器的 OpenShift 上的 Red Hat Process Automation Manager 环境
-
安装环境 :Red Hat OpenShift Container Platform 上的红帽流程自动化管理器,使用操作员根据需要部署
rhpam-authoring
环境和其他类型的环境。 - 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本的外部 Git 存储库,以及用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
- asset-authoring 工具 : Business Central
- 主要资产类型 :用于决策决策和修订(DMN)模型以及进程的决策和符号(BPMN)模型
- 项目部署和执行环境: Red Hat OpenShift Container Platform 上的 KIE Server
场景优点 :
- 在基于云的开发环境中,红帽流程自动化管理器的容器化实施。Red Hat Process Automation Manager 的组件作为单独的 OpenShift pod 部署,您可以单独按照特定组件所需的容器提供尽量少或数量的容器。您可以使用标准的 OpenShift 方法来管理 pod,并平衡负载。
- 访问 Business Central 中的存储库、资产、资产设计人员和项目构建选项。
- 使用 DMN 和 BPMN 标准化资产编写方法以实现最佳集成和稳定性。
- 访问用于资产部署和执行的 KIE 服务器功能及 KIE API.
图 6.1. 使用 Business Central 和 KIE 服务器在 OpenShift 上进行 Red Hat Process Automation Manager
-
安装环境 :Red Hat OpenShift Container Platform 上的红帽流程自动化管理器,使用操作员根据需要部署
- 使用 Business Central 和 KIE 服务器在 Red Hat JBoss EAP 上进行 Red Hat Process Automation Manager
- 安装环境 : Red Hat Process Automation Manager on Red Hat JBoss Enterprise Application Platform
- 项目存储和构建环境 :使用 Git hook 与 Business Central Git 存储库同步的项目版本的外部 Git 存储库,以及用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
- asset-authoring 工具 : Business Central
- 主要资产类型 :用于决策决策和修订(DMN)模型以及进程的决策和符号(BPMN)模型
- 项目部署和执行环境: KIE 服务器
场景优点 :
- 在内部开发环境中,红帽流程自动化管理器的稳定实施
- 访问 Business Central 中的存储库、资产、资产设计人员和项目构建选项
- 使用 DMN 和 BPMN 标准化资产编写方法以实现最佳集成和稳定性
- 访问用于资产部署和执行的 KIE 服务器功能及 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 Process Automation Manager on Red Hat JBoss Enterprise Application Platform
- 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(不与 Business Central 同步)和用于项目管理的外部 Maven 存储库,并使用 KIE 服务器构建
- asset-authoring 工具 :集成开发环境(IDE),如 VSCode,以及电子表格编辑器或决策模型和符号(DMN)建模工具,用于其他决策格式
- 主要资产类型 :GDB 规则语言(DRL)规则、电子表格决策决策决策和符号(DMN)模型,以及进程的业务流程模型和符号(BPMN)模型
- 项目部署和执行环境: KIE 服务器
场景优点 :
- 在内部开发环境中红帽流程自动化管理器灵活实施
- 使用您选择的外部 IDE 和其他资产工具定义业务资产
- 访问用于资产部署和执行的 KIE 服务器功能及 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 库
- 项目存储和构建环境 :用于项目版本控制的外部 Git 存储库(未与 Business Central 同步)和用于项目管理的外部 Maven 存储库,并使用嵌入的 Java 应用程序(未配置 KIE 服务器)构建。
- asset-authoring 工具 :集成开发环境(IDE),如 VSCode,以及电子表格编辑器或决策模型和符号(DMN)建模工具,用于其他决策格式
- 主要资产类型 :GDB 规则语言(DRL)规则、电子表格决策决策决策和符号(DMN)模型,以及进程的业务流程模型和符号(BPMN)模型
- 项目部署和执行环境 :嵌入式 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. 版本信息
文档最新更新于 2024 年 3 月 14 日星期四。
附录 B. 联系信息
Red Hat Process Automation Manager 文档团队 :brms-docs@redhat.com