为 Red Hat Process Automation Manager 设计决策管理架构

Red Hat Process Automation Manager 7.10

摘要

本文档描述了在设计决策管理架构时需要考虑的 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,请使用 MenuDeployExecution 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 支持的决策授予资产

assethighlight编写工具Documentation

决策模型和表示法(DMN)模型

  • 是根据对象管理组(OMG)定义的表示法标准决定模型。
  • 使用代表部分或所有决策要求图(DRG)的图形决策要求图(DRG)来跟踪业务决策流程
  • 使用允许在 DMN 兼容平台之间共享 DMN 模型的 XML 模式
  • 支持 Friendly Enough Expression Language (FEEL),以在 DMN 决策表和其他 DMN 框表达式中定义决策逻辑
  • 可以与 Business Process Model 和 Notation (DSLN)进程模型有效集成
  • 是创建全面、演示和稳定的决策流程的最佳选择

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

使用 DMN 模型设计决策服务

主要决策表

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

Business Central

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

电子表格决策表

  • 是 XLS 或 XLSX 电子表格决策表,您可以上传到 Business Central
  • 支持用于创建规则模板的模板键和值
  • 最好在 Business Central 外部管理的路由表中创建规则
  • 对于在上传时正确编译的规则具有严格的语法要求

电子表格编辑器

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

指导规则

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

Business Central

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

指导规则模板

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

Business Central

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

DRL 规则

  • 是直接在 .drl 文本文件中定义的单个规则
  • 提供定义规则和其他规则行为的最灵活
  • 可以在某些独立环境中创建,并与 Red Hat Process Automation Manager 集成
  • 最好创建需要高级 DRL 选项的规则
  • 具有正确编译的规则具有严格的语法要求

Business Central 或集成开发环境(IDE)

使用 DRL 规则设计决策服务

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

  • 是预测的 data-analytic 模型,它基于由 Data Mining Group (DMG)定义的表示法标准
  • 使用一个 XML 模式,允许在 PMML 兼容平台之间共享 PMML 模型
  • 支持 Regression、Scorecard、Tree、Ming 和其他模型类型
  • 可以包含独立 Red Hat Process Automation Manager 项目,也可以导入到 Business Central 中的项目中
  • 最好在 Red Hat Process Automation Manager 中将预测数据整合到决策服务中

pmML 或 XML 编辑器

使用 PMML 模型设计决策服务

第 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 存储库。

在 Business Central 中管理项目

表 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,您可以创建一个带有连接详情的 settings.xml 文件,并将该文件路径添加到项目 standalone-full.xml 文件中的 kie.maven.settings.custom 属性。

Maven 设置参考

打包和部署 Red Hat Process Automation Manager 项目

表 3.3. 项目构建选项

构建选项描述Documentation

Business Central (KJAR)

Business Central 构建存储在内置 Maven 存储库中的 Red Hat Process Automation Manager 项目或配置的外部 Maven 存储库中。Business Central 中的项目会自动打包为 knowledge JAR (KJAR)文件,以及在构建项目时部署所需的所有组件。

打包和部署 Red Hat Process Automation Manager 项目

独立 Maven 项目(KJAR)

如果您在 Business Central 之外有一个独立的 Red Hat Process Automation Manager Maven 项目,您可以编辑 pom.xml 文件,将项目打包为 KJAR 文件,然后添加一个带有构建项目所需的 KIE 基础和 KIE 会话配置的 kmodule.xml 文件。

打包和部署 Red Hat Process Automation Manager 项目

嵌入式 Java 应用程序(KJAR)

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

打包和部署 Red Hat Process Automation Manager 项目

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 工具构建可重复生成的容器镜像的主要优点是便于开发人员使用。

在 OpenShift 中创建镜像

第 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 项目

使用 KIE API 与 Red Hat Process Automation Manager 交互

管理和监控 KIE 服务器

部署到嵌入式 Java 应用程序

如果要将 Red Hat Process Automation Manager 项目部署到您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中,您可以将应用程序资源捆绑到项目 WAR 文件中,以创建类似于 KIE 容器的部署单元。您还可以使用核心 KIE API (而非 KIE 服务器 API)配置 KIE 扫描程序来定期更新 KIE 容器。

KIE 公共 API

第 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 来执行进程实例。

使用 KIE API 与 Red Hat Process Automation Manager 交互

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

如果您在您自己的 Java 虚拟机(JVM)环境、微服务或应用服务器中部署了 Red Hat Process Automation Manager 项目资产,您可以使用自定义 API 或应用程序与核心 KIE API (而不是 KIE Server API)交互在嵌入式引擎中执行资产。

KIE 公共 API

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

作为开发周期的一部分,您可以在本地执行资产,以确保您在 Red Hat Process Automation Manager 中创建的资产可以正常工作。除了部署后,您还可以使用本地执行或不执行资产。

使用 DRL 规则设计决策服务中的"执行规则"

智能路由器(KIE 服务器路由器)

根据部署和执行环境,您可以使用智能路由器来聚合多个独立的 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.yamlrhpam710-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

OpenShift Enterprise 的架构 BA
使用 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

eap 企业架构 BA
使用 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 Enterprise 的架构 BA
使用 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

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

第 7 章 其他资源

附录 A. 版本信息

文档最后在 2022 年 3 月 8 日更新。

附录 B. 联系信息

Red Hat Process Automation 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.