安装和配置 Red Hat Process Automation Manager


Red Hat Process Automation Manager 7.11

摘要

本文档论述了如何在 Red Hat JBoss EAP、Red Hat JBoss EAP 集群、JBoss Web Server 和其他支持的环境中安装 Red Hat Process Automation Manager 组件。

前言

作为开发人员或系统管理员,您可以在 Red Hat JBoss EAP 集群、JBoss Web Server 和其他支持的环境中安装 Red Hat Process Automation Manager 组件。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 信息

部分 I. 规划 Red Hat Process Automation Manager 安装

作为系统管理员,您可以有几个选项来安装 Red Hat Process Automation Manager。

第 1 章 Red Hat Process Automation Manager 版本

Red Hat Process Automation Manager 版本使用数字 Major.Minor.Patch 格式来指定,如 7.5.1。在本例中,主版本为 7.x.x,次发行版本为 7.5.x,补丁版本为 7.5.1。主发行版本通常需要数据迁移,而次发行版本升级和补丁更新更新更新通常使用 Red Hat Process Automation Manager 发行版本工件提供的更新工具。

以下是 Red Hat Process Automation Manager 的一般发行版本类型:

主发行版本迁移

Red Hat Process Automation Manager 的主要发行版本包括显著的改进、安全更新、程序错误修正以及可能会重新设计的功能。当应用程序从一个主版本移到另一个主版本时,比如从 Red Hat JBoss BPM Suite 6.4.x 迁移到 Red Hat Process Automation Manager 7.0 时,通常会需要数据迁移。通常,自动化迁移工具会附带新的 Red Hat Process Automation Manager 主版本来方便迁移,但某些数据和配置可能需要进行一些手动工作。支持的迁移路径在产品公告和文档中指定。

有关迁移说明,请参阅从 Red Hat JBoss BPM Suite 6.4 迁移到 Red Hat Process Automation Manager 7.0

次发行版本升级

Red Hat Process Automation Manager 的次发行版本包括功能增强、安全更新和程序错误修复。当应用程序从一个次版本移到另一个次版本时,如从 Red Hat Process Automation Manager 7.5.x 移到 7.6 时,可能需要数据迁移。自动更新工具通常随补丁更新和 Red Hat Process Automation Manager 的新次要版本一起提供,以便于更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。其他 Red Hat Process Automation Manager 工件(如决策引擎和独立 Business Central)作为每个次发行版本的新工件发布,您必须重新安装它们以应用更新。

在升级到新的次版本前,将最新的补丁更新应用到您当前的 Red Hat Process Automation Manager 版本,以确保次版本升级成功。

补丁更新

Red Hat Process Automation Manager 的补丁更新包括最新的安全更新和程序错误修复。调度补丁更新包含该产品的次版本的所有之前发布的补丁更新,因此您不需要逐步应用每个补丁更新以应用最新的更新。例如,您可以将 Red Hat Process Automation Manager 7.5.0 或 7.5.1 更新至 Red Hat Process Automation Manager 7.5.2。但是,为了获得最佳的 Red Hat Process Automation Manager 性能,请在产品可用时应用产品更新。有时,红帽可能会在现有产品的常规更新周期外发布未计划补丁更新。它们可能包括由红帽全球支持服务(GSS)提供的安全或其他更新来修复特定的问题,且可能无法累积更新。

自动更新工具通常随补丁更新和 Red Hat Process Automation Manager 的新次要版本一起提供,以便于更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。其他 Red Hat Process Automation Manager 工件(如决策引擎和独立 Business Central)作为每个次发行版本的新工件发布,您必须重新安装它们以应用更新。

为确保在发行版本之间最佳过渡,并将 Red Hat Process Automation Manager 与最新的改进和修复保持最新发行,在红帽客户门户网站中提供新的产品版本和更新。考虑在红帽客户门户网站中启用产品通知。

第 2 章 Red Hat Process Automation Manager 组件

Red Hat Process Automation Manager 由 Business Central 和 KIE Server 组成。

  • Business Central 是创建和管理新规则的图形用户界面。您可以在 Red Hat JBoss EAP 实例或 Red Hat OpenShift Container Platform (OpenShift)上安装 Business Central。

    Business Central 也作为独立 JAR 文件提供。您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。

  • KIE 服务器是执行规则和其他工件的服务器。它用于实例化和执行规则并解决规划问题。您可以在 Red Hat JBoss EAP 实例中、Red Hat JBoss EAP 集群、OpenShift、在 Oracle WebLogic 服务器实例、IBM WebSphere Application Server 实例或 Spring Boot 应用程序的一部分安装 KIE 服务器。

    您可以将 KIE 服务器配置为以受管或非受管模式运行。如果 KIE Server 是非受管服务器,您必须手动创建和维护 KIE 容器(部署单元)。KIE 容器是项目的特定版本。如果管理 KIE 服务器,则 Process Automation Manager 控制器管理 KIE 服务器配置,并与 Process Automation Manager 控制器交互,以创建和维护 KIE 容器。

    Process Automation Manager 控制器与 Business Central 集成。如果您在 Red Hat JBoss EAP 上安装 Business Central,请使用 Execution Server 页面创建和维护 KIE 容器。但是,如果您没有安装 Business Central,您可以安装无头流程自动化管理器控制器,并使用 REST API 或 KIE Server Java 客户端 API 与其交互。

  • 红帽构建的 OptaPlanner 集成到 Business Central 和 KIE 服务器中。它是一个轻量级、可嵌入的规划引擎,可优化规划问题。红帽构建的 OptaPlanner 帮助 Java 站有效地解决规划问题,并将优化高度和元化与有效的分数计算相结合。

第 3 章 Red Hat Process Automation Manager 安装平台

每个 Red Hat Process Automation Manager 版本都在各种操作系统、JVM、Web 浏览器和数据库组合上认证。根据您的订阅协议,红帽为物理和虚拟环境中的受支持和经过测试配置提供生产和开发支持。有关支持的配置和版本号的详情,请查看以下页面:

以下应用平台提供了 Red Hat Process Automation Manager 7.11:

  • Red Hat JBoss EAP
  • Red Hat JBoss Web Server
  • Red Hat OpenShift Container Platform
  • Oracle WebLogic Server
  • IBM WebSphere Application Server

3.1. Red Hat JBoss EAP

Red Hat JBoss Enterprise Application Platform (Red Hat JBoss EAP)是 Java Enterprise Edition 7 (Java EE 7)完全和 Web 配置文件规范的已认证实现。Red Hat JBoss EAP 为高可用性、集群、消息传递和分布式缓存等功能提供预配置选项。它还允许用户使用 Red Hat JBoss EAP 提供的各种 API 和服务编写、部署和运行应用程序。

您可以在单个 Red Hat JBoss EAP 实例中安装 Business Central 和 KIE 服务器。但是,在生产环境中,您应该在不同的实例中安装它们。

3.2. Red Hat JBoss Web Server

Red Hat JBoss Web Server 是一个企业级的 Web 服务器,专为基于 Tomcat 的中型和大型应用程序而设计。Red Hat JBoss Web Server 为机构提供了一个用于 Java Server Pages (JSP)和 Java Servlet 技术、PHP 和 Dan 的单个部署平台。

您可以在 Red Hat JBoss Web Server 上安装 KIE 服务器和无头进程自动化管理器控制器。

3.3. Red Hat OpenShift Container Platform

Red Hat OpenShift Container Platform (OpenShift)使用 Kubernetes,并提供 API 来管理这些服务。OpenShift 允许您创建和管理容器。

在这个解决方案中,Red Hat Process Automation Manager 组件被部署为单独的 OpenShift pod。您可以单独扩展和缩减每个 pod,提供特定组件需要数量的容器。您可以使用标准 OpenShift 方法管理容器集并平衡负载。

您可以在 OpenShift 上安装 Business Central 和 KIE 服务器。

3.4. Oracle WebLogic Server

Oracle WebLogic Server 是一个 Java EE 应用服务器,它提供一组标准 API,用于创建分布式 Java 应用程序,可以访问各种服务,如数据库、消息传递服务和外部企业系统的连接。用户使用 Web 浏览器客户端或 Java 客户端访问这些应用程序。

您可以在 Oracle WebLogic 服务器实例中安装 KIE 服务器,然后使用无头流程自动化管理器控制器和 REST API 或 KIE Server Java 客户端 API 与 KIE 服务器交互。您还可以使用独立的 Business Central 与 KIE 服务器交互。

3.5. IBM WebSphere Application Server

IBM WebSphere Application Server 是一个灵活安全的 Web 应用服务器,它托管基于 Java 的 Web 应用程序并提供 Java EE 认证的运行时环境。IBM WebSphere 9.0 支持 Java SE 8,自版本 8.5.5.6 起完全符合 Java EE 7。

您可以在 IBM WebSphere Application Server 实例中安装 KIE 服务器,然后使用无头流程 Automation Manager 控制器与 KIE 服务器交互。您还可以使用独立的 Business Central 与 KIE 服务器交互。

第 4 章 Red Hat Process Automation Manager 支持的软件仓库

您可以将 Git 存储库和 Apache Maven 与 Red Hat Process Automation Manager 搭配使用。

4.1. Git 存储库

Git 存储库在内部使用,以存储编写环境中创建的所有进程、规则和其他工件。Git 是一个分布式版本控制系统。它将修订版本实施为提交对象。当您将更改提交到存储库时,会在 Git 存储库中创建一个新的提交对象。当您在 Business Central 中创建项目时,它将添加到连接到 Business Central 的 Git 存储库中。

如果您在其他 Git 存储库中有项目,您可以将其导入到 Business Central 空间中。您可以使用 Git hook 将内部 Git 存储库与外部存储库同步。

4.2. Apache Maven

Apache Maven 是 Java 应用程序开发中使用的分布式构建自动化工具,用于构建和管理软件项目。您可以使用 Maven 构建、发布和部署 Red Hat Process Automation Manager 项目。Maven 提供以下优点:

  • 构建过程很容易,统一构建系统在项目之间实施。
  • 项目所需的所有 JAR 文件都在编译时提供。
  • 配置了正确的项目结构。
  • 依赖项和版本被明确管理。
  • 不需要额外的构建处理,因为 Maven 构建输出到多种预定义的类型,如 JAR 和 WAR。

Maven 使用存储库来存储 Java 库、插件和其他构建工件。这些软件仓库可以是本地或远程软件仓库。Red Hat Process Automation Manager 维护本地和远程 maven 存储库,您可以添加到项目中来访问规则、进程、事件和其他项目依赖项。构建项目和架构时,Maven 会从本地或远程存储库动态检索 Java 库和 Maven 插件。这样做有助于在项目间共享和重复使用依赖项。

第 5 章 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 支持运行时环境的集群。

第 6 章 Red Hat Process Automation Manager 角色和用户

要访问 Business Central 或 KIE 服务器,您必须创建用户并在服务器启动前为其分配适当的角色。在安装 Business Central 或 KIE Server 时,您可以创建用户和角色。

Business Central 和 KIE 服务器使用 Java 身份验证和授权服务(JAAS)登录模块来验证用户。如果 Business Central 和 KIE 服务器都在单个实例上运行,则它们共享相同的 JAAS 主题和安全域。因此,为 Business Central 进行身份验证的用户可以访问 KIE 服务器。

但是,如果 Business Central 和 KIE 服务器在不同实例上运行,则会单独为这两者触发 JAAS 登录模块。因此,必须为 Business Central 进行身份验证的用户必须单独进行身份验证才能访问 KIE 服务器。例如,如果在 Business Central 上进行身份验证,但没有在 KIE 服务器上进行身份验证的用户会尝试在 Business Central 中查看或管理进程定义,则会在日志文件中记录 401 错误,以及 Invalid 凭证从远程服务器加载数据。请联系您的系统管理员。 信息会出现在 Business Central 中。

本节论述了 Red Hat Process Automation Manager 用户角色。

注意

admin, analyst, developer, manager, process-admin, user, 和 rest-all 角色为 Business Central 保留。kie-server 角色是为 KIE 服务器保留的。因此,可用的角色可能会根据 Business Central、KIE Server 或两者的不同而有所不同。

  • 管理 :具有 admin 角色的用户 是 Business Central 管理员。他们可以管理用户并创建、克隆和管理存储库。它们具有在应用程序中进行必要的更改的完整访问权限。具有 admin 角色的用户有权访问 Red Hat Process Automation Manager 中的所有区域。
  • 架构师 :具有 领导 角色的用户有权访问所有高级别功能。它们可以建模并执行他们的项目。但是,这些用户无法在 Design → Projects 视图中添加空格或删除空格。带有 analyst 角色的用户没有访问 Deploy → Execution Servers 视图(面向管理员)的访问权限。但是,当这些用户访问 Library 透视图时,可以使用 Deploy 按钮。
  • 开发人员 :具有 开发人员 角色的用户有权访问几乎所有功能,并可管理规则、模型、流程、表单和仪表板。它们可以管理资产存储库,他们可以创建、构建和部署项目。只有创建和克隆新存储库等某些管理功能对于具有 开发人员 角色的用户是隐藏的。
  • Manager:具有 管理器 角色的用户可以查看报告。这些用户通常对业务流程及其性能、商业指标和其他与业务相关的报告相关统计信息感兴趣。具有此角色的用户只能访问进程和任务报告。
  • process-admin :具有 process-admin 角色的用户是商业流程管理员。他们完全访问业务流程、业务任务和执行错误。这些用户也可以查看业务报告,并可访问 Task Inbox 列表。
  • 用户 :具有 用户角色 的用户可以在 Task Inbox 列表中工作,其中包含属于当前运行的进程一部分的业务任务。具有此角色的用户可以查看进程和任务报告和管理进程。
  • rest-all :具有 rest-all 角色的用户可以访问 Business Central REST 功能。
  • kie-server :具有 kie-server 角色的用户可以访问 KIE 服务器 REST 功能。对于需要访问 Business Central 中的 ManageTrack 视图的用户,这个角色是必须的。

第 7 章 Red Hat Process Automation Manager 参考实现

Red Hat Process Automation Manager 提供可用作入门应用程序的参考实现。它们包含在 Red Hat Process Automation Manager 7.11.0 参考实施 下载中,可在红帽客户门户网站的 Red Hat Process Automation Manager Software Downloads 页面中获得。

员工 Rostering 参考实施

员工依赖项参考实施允许您创建一个应用程序,为员工分配机构的不同位置。例如,您可以使用应用程序在 nurses 之间分发转换,保护任务在多个位置间移动,或者在 worker 间移动行。

vehicle 路由规划参考实施

通过 vehicle 路由规划参考实施,您可以创建一个应用程序来解决通过真实映射、恶意和电池为位置提供好的出口路由规划问题。如需更多信息,请参阅 vehicle 路由 ZIP 文件中的 README 文件,包括在参考实现下载中。

学校时间表参考实现

借助 IANA 时间参考实施,您可以在 Spring Boot 上构建 REST 应用程序,该应用程序与房间和时间插槽相关联,并避免冲突。

高可用性事件驱动的决定参考实施

高可用性事件驱动的决定参考实施可让您在 OpenShift 环境中部署需要有状态处理的 drools 引擎代码,包括使用复杂事件处理开发的规则。这样做可让决策引擎处理具有高可用性的复杂事件系列。

第 8 章 与 Red Hat Process Automation Manager 集成

您可以将 Red Hat Process Automation Manager 与其他产品和组件集成,如 Spring Boot、Red Hat Fuse 和 Red Hat Single Sign-On。

8.1. Red Hat Process Automation Manager Spring Boot 新应用程序

Spring Framework 是一个 Java 平台,可为开发 Java 应用程序提供全面的基础架构支持。Spring Boot 是一个基于 Spring Boot 启动器的轻量级框架。Spring Boot starters 是 pom.xml 文件,其中包含您可以在 Spring Boot 项目中包含的一组依赖项描述符。作为 Red Hat Runtimes 的一部分,红帽为 Red Hat Process Automation Manager Spring Boot 项目提供支持和维护。

Red Hat Process Automation Manager Spring Boot 商业应用程序灵活,与 UI 无关的逻辑分组,提供某些业务功能。商业应用程序基于 Spring Boot 启动程序。它们通常单独部署,可以单独版本。完整的商业应用程序使域能够实现特定的业务目标,如订购管理或攻击管理。

业务应用程序 网站上,您可以创建一个流程自动化管理器、决策管理器或红帽构建的 OptaPlanner 商业应用程序。创建并配置业务应用程序后,您可以通过 OpenShift 将其部署到现有服务或云中。

8.2. 集成 Red Hat Fuse

Fuse 是一个分布式云原生集成平台,它是灵活的存储解决方案的一部分。其分布式方法可让团队根据需要部署集成服务。

您可以在 Apache Swarm 容器平台或 Red Hat JBoss Enterprise Application Platform 上安装 Red Hat Fuse,然后在该容器中安装和配置 Red Hat Process Automation Manager。

8.3. 集成红帽单点登录

Red Hat Single Sign-On (RH-SSO)是一个单点登录解决方案,可用于保护浏览器应用使用 REST Web 服务和 Git 访问。

将 Red Hat Process Automation Manager 与 RH-SSO 集成时,您可以为 Red Hat Process Automation Manager 创建 SSO 和身份管理(IDM)环境。RH-SSO 的会话管理功能可让您对互联网上的不同 Red Hat Process Automation Manager 环境使用单一身份验证。

Red Hat Process Automation Manager 支持 Red Hat JBoss EAP 7.3 上的 RH-SSO 7.4。

第 9 章 其他资源

部分 II. 在 Red Hat JBoss EAP 7.3 上安装和配置 Red Hat Process Automation Manager

本文档论述了如何在 Red Hat JBoss Enterprise Application Platform 7.3 实例上安装 Red Hat Process Automation Manager。

先决条件

第 10 章 关于 Red Hat Process Automation Manager

Red Hat Process Automation Manager 是用于创建自动化应用程序和微服务的红帽中间件。它使企业业务和 IT 用户能够记录、模拟、管理、自动化和监控业务流程和策略。它旨在加快业务和 IT 用户更有效地合作,因此可以轻松、快速地更改业务应用程序。

Red Hat Process Automation Manager 由 Business Central 和 KIE Server 组成。

  • KIE 服务器是执行规则和其他工件的服务器。它用于实例化和执行规则并解决规划问题。KIE 服务器为业务资产提供运行时环境,并访问存储在资产存储库中的数据(确认存储)。
  • Business Central 是一个图形用户界面,您可以创建和管理 KIE 服务器执行的新规则。它可让您执行以下任务:

    • 创建、管理和编辑您的规则、流程和相关资产。
    • 管理连接的 KIE 服务器实例及其 KIE 容器(部署单元)。
    • 对连接到 Business Central 的 KIE 服务器实例中的进程和任务执行运行时操作。

      Business Central 也作为独立 JAR 文件提供。您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。

Red Hat JBoss Enterprise Application Platform (Red Hat JBoss EAP) 7.3 是 Java Enterprise Edition 8 (Java EE 8)完全和 Web 配置文件规范的已认证实现。Red Hat JBoss EAP 为高可用性、集群、消息传递和分布式缓存等功能提供预配置选项。它还允许用户使用 Red Hat JBoss EAP 提供的各种 API 和服务编写、部署和运行应用程序。

本文档中的说明解释了如何在 Red Hat JBoss EAP 7.3 服务器实例中安装 Red Hat Process Automation Manager。

有关如何在其他环境中安装 Red Hat Process Automation Manager 的说明,请查看以下文档:

有关支持的组件的详情,请查看以下文档:

第 11 章 Red Hat Process Automation Manager 角色和用户

要访问 Business Central 或 KIE 服务器,您必须创建用户并在服务器启动前为其分配适当的角色。在安装 Business Central 或 KIE Server 时,您可以创建用户和角色。

Business Central 和 KIE 服务器使用 Java 身份验证和授权服务(JAAS)登录模块来验证用户。如果 Business Central 和 KIE 服务器都在单个实例上运行,则它们共享相同的 JAAS 主题和安全域。因此,为 Business Central 进行身份验证的用户可以访问 KIE 服务器。

但是,如果 Business Central 和 KIE 服务器在不同实例上运行,则会单独为这两者触发 JAAS 登录模块。因此,必须为 Business Central 进行身份验证的用户必须单独进行身份验证才能访问 KIE 服务器。例如,如果在 Business Central 上进行身份验证,但没有在 KIE 服务器上进行身份验证的用户会尝试在 Business Central 中查看或管理进程定义,则会在日志文件中记录 401 错误,以及 Invalid 凭证从远程服务器加载数据。请联系您的系统管理员。 信息会出现在 Business Central 中。

本节论述了 Red Hat Process Automation Manager 用户角色。

注意

admin, analyst, developer, manager, process-admin, user, 和 rest-all 角色为 Business Central 保留。kie-server 角色是为 KIE 服务器保留的。因此,可用的角色可能会根据 Business Central、KIE Server 或两者的不同而有所不同。

  • 管理 :具有 admin 角色的用户 是 Business Central 管理员。他们可以管理用户并创建、克隆和管理存储库。它们具有在应用程序中进行必要的更改的完整访问权限。具有 admin 角色的用户有权访问 Red Hat Process Automation Manager 中的所有区域。
  • 架构师 :具有 领导 角色的用户有权访问所有高级别功能。它们可以建模并执行他们的项目。但是,这些用户无法在 Design → Projects 视图中添加空格或删除空格。带有 analyst 角色的用户没有访问 Deploy → Execution Servers 视图(面向管理员)的访问权限。但是,当这些用户访问 Library 透视图时,可以使用 Deploy 按钮。
  • 开发人员 :具有 开发人员 角色的用户有权访问几乎所有功能,并可管理规则、模型、流程、表单和仪表板。它们可以管理资产存储库,他们可以创建、构建和部署项目。只有创建和克隆新存储库等某些管理功能对于具有 开发人员 角色的用户是隐藏的。
  • Manager:具有 管理器 角色的用户可以查看报告。这些用户通常对业务流程及其性能、商业指标和其他与业务相关的报告相关统计信息感兴趣。具有此角色的用户只能访问进程和任务报告。
  • process-admin :具有 process-admin 角色的用户是商业流程管理员。他们完全访问业务流程、业务任务和执行错误。这些用户也可以查看业务报告,并可访问 Task Inbox 列表。
  • 用户 :具有 用户角色 的用户可以在 Task Inbox 列表中工作,其中包含属于当前运行的进程一部分的业务任务。具有此角色的用户可以查看进程和任务报告和管理进程。
  • rest-all :具有 rest-all 角色的用户可以访问 Business Central REST 功能。
  • kie-server :具有 kie-server 角色的用户可以访问 KIE 服务器 REST 功能。对于需要访问 Business Central 中的 ManageTrack 视图的用户,这个角色是必须的。

第 12 章 下载 Red Hat Process Automation Manager 安装文件

您可以使用安装程序 JAR 文件或可部署的 ZIP 文件来安装 Red Hat Process Automation Manager。您可以在互动或命令行界面(CLI)模式下运行安装程序。或者,您可以提取并配置 Business Central 和 KIE Server 可部署 ZIP 文件。如果要在不将其部署到应用服务器的情况下运行 Business Central,请下载 Business Central Standalone JAR 文件。

下载符合您环境和安装要求的 Red Hat Process Automation Manager 发行版。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 根据您的首选安装方法下载以下产品发行版本之一:

    注意

    您只需要下载其中一个发行版。

    • 如果要使用安装程序在 Red Hat JBoss EAP 7.3 上安装 Red Hat Process Automation Manager,请下载 Red Hat Process Automation Manager 7.11.0 Installer (rhpam-installer-7.11.0.jar)。安装程序图形用户界面指导您完成安装过程。
    • 如果要使用可部署的 ZIP 文件在 Red Hat JBoss EAP 7.3 上安装 Red Hat Process Automation Manager,请下载以下文件:

      • Red Hat Process Automation Manager 7.11.0 KIE Server for All supported EE8 Containers (rhpam-7.11.0-kie-server-ee8.zip)
      • Red Hat Process Automation Manager 7.11.0 Business Central Deployable for EAP 7 (rhpam-7.11.0-business-central-eap7-deployable.zip)
      • Red Hat Process Automation Manager 7.11.0 Add Ons (rhpam-7.11.0-add-ons.zip)
    • 要在不需要将其部署到应用服务器的情况下运行 Business Central,请下载 Red Hat Process Automation Manager 7.11.0 Business Central Standalone (rhpam-7.11.0-business-central-standalone.jar)。

第 13 章 使用 Red Hat Process Automation Manager 安装程序

本节描述了如何使用安装程序 JAR 文件安装 Business Central 和 KIE 服务器。JAR 文件是一个可执行文件,可在现有 Red Hat JBoss EAP 7.3 服务器安装中安装 Red Hat Process Automation Manager。您可以在互动或命令行界面(CLI)模式下运行安装程序。

注意

Red Hat Process Automation Manager JAR 文件安装程序 不支持 yum 或 RPM Package Manager 安装的 Red Hat JBoss EAP 发行版。如果要在这类 Red Hat JBoss EAP 安装中安装 Red Hat Process Automation Manager,请下载 Red Hat Process Automation Manager 7.11 Deployable for Red Hat JBoss EAP 7.3 文件,并按照 第 14 章 从 ZIP 文件安装 Red Hat Process Automation Manager 中的步骤操作。

注意

因为 IBM JDK 无法使用在其他 JDK 上生成的密钥存储,所以您不能将 Red Hat Process Automation Manager 安装到 IBM JDK 上运行的现有 Red Hat JBoss EAP 安装中,并在另一个 JDK 上生成密钥存储。

后续步骤:

按照以下部分之一中的说明操作:

13.1. 在互动模式中使用安装程序

Red Hat Process Automation Manager 的安装程序是一个可执行 JAR 文件。您可以使用它来在现有 Red Hat JBoss EAP 7.3 服务器安装中安装 Red Hat Process Automation Manager。

注意

为安全起见,您应该以非 root 用户身份运行安装程序。

先决条件

  • 已下载 Red Hat Process Automation Manager 7.11.0 安装程序。具体说明请查看 第 12 章 下载 Red Hat Process Automation Manager 安装文件
  • 已安装受支持的 JDK。有关支持的 JDK 列表,请参阅 Red Hat Process Automation Manager 7 支持的配置
  • 提供了备份的 Red Hat JBoss EAP 7.3 服务器安装。
  • 授予足够的用户权限来完成安装。
  • JAR 二进制文件包含在 $PATH 环境变量中。在 Red Hat Enterprise Linux 上,它包含在 java-$JAVA_VERSION-openjdk-devel 软件包中。

    注意

    Red Hat Process Automation Manager 旨在使用 UTF-8 编码。如果底层 JVM 使用不同的编码系统,则可能会出现意外错误。为确保 JVM 使用 UTF-8,请使用 "-Dfile.encoding=UTF-8" 系统属性。有关系统属性列表,请参阅 附录 A, Business Central 系统属性

流程

  1. 在终端窗口中,导航到您下载安装程序 JAR 文件的目录,并输入以下命令:

    java -jar rhpam-installer-7.11.0.jar
    注意

    在 Windows 上运行安装程序时,可能会在安装过程中提示您提供管理员凭证。要防止此要求,请在安装命令中添加 izpack.mode=privileged 选项:

    java -Dizpack.mode=privileged -jar
    rhpam-installer-7.11.0.jar

    另外,当在 32 位 Java 虚拟机上运行安装程序时,您可能会遇到内存限制。要防止这个问题,请运行以下命令:

    java -XX:MaxHeapSize=4g -jar
    rhpam-installer-7.11.0.jar

    图形安装程序显示 splash 屏幕和许可证协议页面。

  2. 单击 我接受此许可协议条款, 然后单击 Next
  3. 指定要安装 Red Hat Process Automation Manager 的 Red Hat JBoss EAP 7.3 服务器主页,然后单击 Next
  4. 选择您要安装的组件,然后点 Next

    注意

    您可以在同一服务器上安装 Business Central 和 KIE 服务器。但是,您应该在生产环境中的不同服务器上安装 Business Central 和 KIE 服务器。为此,请运行安装程序两次。

  5. 创建用户并点 Next。默认情况下,如果您在同一容器中同时安装 Business Central 和 KIE 服务器,则新用户被授予 adminkie-serverrest-all 角色。如果您只安装 KIE 服务器,则会授予用户 kie-server 角色。要选择另一个角色,可取消选择 admin。有关角色的详情,请参考 第 11 章 Red Hat Process Automation Manager 角色和用户

    注意

    确保指定的用户名与现有用户、角色或组不同。例如,不要创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符,但不能包括 & (ampersand)。

    记录用户名和密码。您需要他们访问 Business Central 和 KIE 服务器。

  6. Installation Overview 页面中,查看您要安装的组件并点 Next 开始安装。
  7. 安装完成后,点 Next
  8. 如果安装了 KIE Server,则 Configure Runtime 步骤会出现在 组件安装 下。在 Configure Runtime Environment 页面中,选择执行默认安装或执行高级配置。

    如果您选择 执行高级配置,您可以选择配置数据库设置或自定义某些 KIE 服务器选项。

  9. 如果您选择 Customize database settings,在 JDBC Drive Configuration 页面中指定数据源 JDBC 驱动程序供应商,选择一个或多个驱动程序 JAR 文件,然后单击 Next

    数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 KIE 服务器配置数据源,以确保服务器和指定数据库之间的正确数据交换。

  10. 如果您选择了 Customize KIE Server properties,在 KIE Server Properties Configuration 页面中会更改以下任何属性:

    • 更改 KIE 服务器 ID 的值,以更改 KIE Server 属性的值。
    • 更改 Controller URL 的值,以更改无头进程自动化管理器控制器的 URL。
    • 取消选择您要禁用的任何 KIE 服务器功能。
  11. Next 配置运行时环境。
  12. 当在屏幕的顶部出现 Processing finished 时,点 Next 来完成安装。
  13. 可选:点 Generate Installation Script and Properties File 将安装数据保存到 XML 文件中,然后点 Done

    安装程序生成两个文件。auto.xml 文件自动执行将来的安装,auto.xml.variables 文件存储用户密码和其他敏感变量。使用 auto.xml 文件在多个系统上重复安装 Red Hat Process Automation Manager 安装,其服务器类型相同,以及与原始安装相同的配置。如有必要,更新 auto.xml 文件中的 installpath 参数。要使用 XML 文件执行安装,请输入以下命令:

    java -jar rhpam-installer-7.11.0.jar <path-to-auto.xml-file>

已使用安装程序成功安装 Red Hat Process Automation Manager。如果您只安装 Business Central,请重复这些步骤来在单独的服务器上安装 KIE 服务器。

注意

如果您使用 Microsoft SQL Server,请确保您为数据库配置了适用的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATIONREAD_COMMITTED_SNAPSHOT

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

13.2. 在 CLI 模式中使用安装程序

您可以使用命令行界面(CLI)来运行 Red Hat Process Automation Manager 安装程序。

注意

为安全起见,您应该以非 root 用户身份运行安装程序。

先决条件

  • 已下载 Red Hat Process Automation Manager 7.11.0 安装程序。具体说明请查看 第 12 章 下载 Red Hat Process Automation Manager 安装文件
  • 已安装受支持的 JDK。有关支持的 JDK 列表,请参阅 Red Hat Process Automation Manager 7 支持的配置
  • 提供了备份的 Red Hat JBoss EAP 7.3 服务器安装。
  • 授予足够的用户权限来完成安装。
  • JAR 二进制文件包含在 $PATH 环境变量中。在 Red Hat Enterprise Linux 上,它包含在 java-$JAVA_VERSION-openjdk-devel 软件包中。

    注意

    Red Hat Process Automation Manager 旨在使用 UTF-8 编码。如果底层 JVM 使用不同的编码系统,则可能会出现意外错误。为确保 JVM 使用 UTF-8,请使用 "-Dfile.encoding=UTF-8" 系统属性。有关系统属性列表,请参阅 附录 A, Business Central 系统属性

流程

  1. 在终端窗口中,导航到您下载安装程序文件的目录,并输入以下命令:

    java -jar rhpam-installer-7.11.0.jar -console

    命令行交互式进程将启动并显示最终用户许可证协议。

    press 1 to continue, 2 to quit, 3 to redisplay.
  2. 阅读许可证协议,输入 1,然后按 Enter 键继续:

    Specify the home directory of one of the following servers:  Red Hat JBoss EAP 7 or Red Hat JBoss Web Server 5. For more information, see https://access.redhat.com/articles/3405381[Red Hat Process Automation Manager 7 Supported Configurations].
  3. 输入现有 Red Hat JBoss EAP 7.3 安装的父目录。

    安装程序将在提供的位置验证安装的位置。输入 1 以确认并继续。

    注意

    您可以在同一服务器上安装 Business Central 和 KIE 服务器。但是,您应该在生产环境中的不同服务器上安装 Business Central 和 KIE 服务器。

  4. 按照安装程序中的说明完成安装。

    注意

    当您创建用户名和密码时,请确保指定的用户名与角色或组的任何已知标题不冲突。例如,如果有一个名为 admin 的角色,您不应创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符(不能包括字符 &)。

    记录用户名和密码。您需要他们访问 Business Central 和 KIE 服务器。

  5. 安装完成后,您将看到这个信息:

    Would you like to generate an automatic installation script and properties file?
  6. 输入 y 来创建包含安装数据的 XML 文件,或 n 完成安装。如果输入 y,系统会提示您指定 XML 文件的路径。
  7. 输入路径或按 Enter 键接受推荐的路径。

    安装程序生成两个文件。auto.xml 文件自动执行将来的安装,auto.xml.variables 文件存储用户密码和其他敏感变量。在多个系统中使用 auto.xml 文件,在与原始安装相同的配置相同的服务器上轻松重复 Red Hat Process Automation Manager 安装。如有必要,更新 auto.xml 文件中的 installpath 参数。要使用 XML 文件执行安装,请输入以下命令:

    java -jar rhpam-installer-7.11.0.jar <path-to-auto.xml-file>
  8. 如果您只安装 Business Central,请重复这些步骤来在单独的服务器上安装 KIE 服务器。
注意

如果您使用 Microsoft SQL Server,请确保您为数据库配置了适用的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT :

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

13.3. 使用安装程序使用 Process Automation Manager 控制器配置 KIE 服务器

KIE 服务器可由 Process Automation Manager 控制器管理,也可以是非受管。如果 KIE Server 是非受管服务器,您必须手动创建和维护 KIE 容器(部署单元)。如果管理 KIE 服务器,则 Process Automation Manager 控制器管理 KIE 服务器配置,并与 Process Automation Manager 控制器交互,以创建和维护 KIE 容器。

Process Automation Manager 控制器与 Business Central 集成。如果安装了 Business Central,您可以使用 Business Central 中的 Execution Server 页面与 Process Automation Manager 控制器交互。

您可以使用互动或 CLI 模式的安装程序来安装 Business Central 和 KIE 服务器,然后使用 Process Automation Manager 控制器配置 KIE 服务器。

先决条件

  • 有备份 Red Hat JBoss EAP 7.3 服务器安装的两个计算机可用。
  • 授予足够的用户权限来完成安装。

流程

  1. 在第一个计算机上,以交互模式或 CLI 模式运行安装程序。如需更多信息,请参阅以下部分之一:

  2. 组件选择 页面中,清除 KIE Server 复选框。
  3. 完成 Business Central 安装。
  4. 在第二个计算机上,以交互模式或 CLI 模式运行安装程序。
  5. 组件选择 页面中,清除 Business Central 复选框。
  6. Configure Runtime Environment 页面上,选择 Execution Advanced Configuration
  7. 选择 Customize KIE Server properties 并点 Next
  8. 输入 Business Central 的控制器 URL,并为 KIE 服务器配置附加属性。控制器 URL 的格式如下,其中 &lt ;HOST:PORT > 是第二个计算机上的 Business Central 地址:

    <HOST:PORT>/business-central/rest/controller
  9. 完成安装。
  10. 要验证 Process Automation Manager 控制器现在与 Business Central 集成,请转至 Business Central 中的 Execution Servers 页面,并确认您配置的 KIE 服务器出现在 REMOTE SERVERS 下。

第 14 章 从 ZIP 文件安装 Red Hat Process Automation Manager

您可以使用 Red Hat Process Automation Manager ZIP 文件(一个用于 Business Central,一个用于 KIE 服务器)在不使用安装程序的情况下安装 Red Hat Process Automation Manager。

注意

您应该在生产环境中的不同服务器上安装 Business Central 和 KIE 服务器。

有关安装无头进程自动化管理器控制器的详情,请参考 第 19 章 安装并运行无头 Process Automation Manager 控制器

14.1. 从 ZIP 文件安装 Business Central

Business Central 是一个图形用户界面,您可以创建和管理 KIE 服务器执行的新规则。您可以使用可部署资源 ZIP 文件来安装和配置 Business Central。

先决条件

流程

  1. rhpam-7.11.0-business-central-eap7-deployable.zip 文件提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  2. TEMP_DIR/rhpam-7.11.0-business-central-eap7-deployable/jboss-eap-7.3 目录的内容复制到 EAP_HOME。出现提示时,合并或替换文件。

    警告

    确保您复制的 Red Hat Process Automation Manager 部署的名称与 Red Hat JBoss EAP 实例中的现有部署不冲突。

14.2. 从 ZIP 文件安装 KIE 服务器

KIE 服务器为业务资产提供运行时环境,并访问存储在资产存储库中的数据(确认存储)。您可以使用可部署资源 ZIP 文件来安装和配置 KIE 服务器。

先决条件

流程

  1. rhpam-7.11.0-kie-server-ee8.zip 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  2. TEMP_DIR/rhpam-7.11.0-kie-server-ee8/kie-server.war 目录复制到 EAP_HOME/standalone/deployments/

    警告

    确保您复制的 Red Hat Process Automation Manager 部署的名称与 Red Hat JBoss EAP 实例中的现有部署不冲突。

  3. TEMP_DIR/rhpam-7.11.0-kie-server-ee8/rhpam-7.11.0-kie-server-ee8/SecurityPolicy/ 的内容复制到 EAP_HOME/bin
  4. 当提示覆盖文件时,点 replace
  5. EAP_HOME/standalone/deployments/ 目录中,创建一个名为 kie-server.war.dodeploy 的空文件。此文件可确保服务器启动时自动部署 KIE 服务器。
注意

如果您使用 Microsoft SQL Server,请确保您为数据库配置了适用的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATIONREAD_COMMITTED_SNAPSHOT

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

14.3. 为 KIE 服务器配置 JDBC 数据源

数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 KIE 服务器配置数据源,以确保服务器和指定数据库之间的正确数据交换。

通常,使用 Red Hat Process Automation Manager 的解决方案在一个事务中管理多个资源。JMS,用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序,以确保数据原子性和一致的结果。如果监听器中存在不同模式的事务代码,或来自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。

除非还没有参与单个事务的多个资源,否则请不要使用非 XA 数据源。

注意

对于生产环境,请指定实际的数据源。不要在生产环境中使用示例数据源。

先决条件

流程

  1. 完成以下步骤以准备您的数据库:

    1. rhpam-7.11.0-add-ons.zip 提取到临时目录中,例如 TEMP_DIR
    2. Extract TEMP_DIR/rhpam-7.11.0-migration-tool.zip.
    3. 将您的当前目录更改为 TEMP_DIR/rhpam-7.11.0-migration-tool/ddl-scripts 目录。此目录包含多个数据库类型的 DDL 脚本。
    4. 将数据库类型的 DDL 脚本导入到您要使用的数据库中。

      以下示例在 PostreSQL 中创建了 192.168.1.0/24 数据库结构
      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      注意

      如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,例如 /ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql

      注意

      PostgreSQL DDL 脚本创建 PostgreSQL 模式,其自动递增整数值(OID)列,用于使用 @LOB 注解的实体属性。要使用其他二进制列类型,如 BYTEA 而不是 OID,您必须使用 postgresql-bytea-jbpm-schema.sql 脚本创建 PostgreSQL 模式,并设置 Red Hat Process Automation Manager org.kie.persistence.postgresql.useBytea=true 标志。Red Hat Process Automation Manager 不提供从基于 OID 的 OID 变为基于 BYTEA 模式的迁移工具。

  2. 在文本编辑器中打开 EAP_HOME/standalone/configuration/standalone-full.xml,并找到 < system-properties> 标签。
  3. 在 < system-properties > 标签中添加以下属性,其中 & lt;DATASOURCE > 是数据源的 JNDI 名称,< HIBERNATE_DIALECT > 是数据库的休眠问题。

    注意

    org.kie.server.persistence.ds 属性的默认值为 java:jboss/datasources/ExampleDSorg.kie.server.persistence.dialect 属性的默认值为 org.hibernate.dialect.H2Dialect

    <property name="org.kie.server.persistence.ds" value="<DATASOURCE>"/>
    <property name="org.kie.server.persistence.dialect" value="<HIBERNATE_DIALECT>"/>

    以下示例演示了如何为 PostgreSQL hibernate dialect 配置数据源:

    <system-properties>
        <property name="org.kie.server.repo" value="${jboss.server.data.dir}"/>
        <property name="org.kie.example" value="true"/>
        <property name="org.jbpm.designer.perspective" value="full"/>
        <property name="designerdataobjects" value="false"/>
        <property name="org.kie.server.user" value="rhpamUser"/>
        <property name="org.kie.server.pwd" value="rhpam123!"/>
        <property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"/>
        <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"/>
        <property name="org.kie.server.controller.user" value="kieserver"/>
        <property name="org.kie.server.controller.pwd" value="kieserver1!"/>
        <property name="org.kie.server.id" value="local-server-123"/>
    
        <!-- Data source properties. -->
        <property name="org.kie.server.persistence.ds" value="java:jboss/datasources/KieServerDS"/>
        <property name="org.kie.server.persistence.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
    </system-properties>

支持以下 dialects:

  • DB2: org.hibernate.dialect.DB2Dialect
  • MSSQL: org.hibernate.dialect.SQLServer2012Dialect
  • MySQL: org.hibernate.dialect.MySQL5InnoDBDialect
  • MariaDB: org.hibernate.dialect.MySQL5InnoDBDialect
  • Oracle: org.hibernate.dialect.Oracle10gDialect
  • PostgreSQL: org.hibernate.dialect.PostgreSQL82Dialect
  • PostgreSQL 加上: org.hibernate.dialect.PostgresPlusDialect
  • Sybase: org.hibernate.dialect.SybaseASE157Dialect

14.4. 创建用户

如果您使用可部署的 ZIP 文件来安装 Red Hat Process Automation Manager,然后才能登录到 Business Central 或 KIE Server,则必须创建用户。本节介绍如何创建具有 adminrest-allkie-server 角色以及具有 kie-server 角色的 KIE 服务器用户。有关角色的详情,请参考 第 11 章 Red Hat Process Automation Manager 角色和用户

注意

如果您使用安装程序安装 Red Hat Process Automation Manager,则在此过程中至少创建了一个用户。EAP_HOME/standalone/configuration/application-users.properties 文件包含应用程序用户及其密码。

先决条件

  • Red Hat Process Automation Manager 安装在 Red Hat JBoss EAP 安装(EAP_HOME)的基本目录中。

流程

  1. 在终端应用中,导航到 EAP_HOME/bin 目录。
  2. 创建一个用户,其中包含您要用来登录 Business Central 的 adminrest-allkie-server 角色。

    注意

    具有 admin 角色的用户是 Business Central 管理员。具有 rest-all 角色的用户可以访问 Business Central REST 功能。具有 kie-server 角色的用户可以访问 KIE Server (KIE Server) REST 功能。对于需要访问 Business Central 中的 ManageTrack 视图的用户,需要有 kie-server 角色。

    在以下命令中,将 &lt ;USERNAME& gt ; 和 <PASSWORD > 替换为您选择的用户名和密码:

    $ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role admin,rest-all,kie-server
    注意

    确保指定的用户名与现有用户、角色或组不同。例如,不要创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符,但不能包括 & (ampersand)。

  3. 创建一个具有您用来登录到 KIE 服务器的 kie-server 角色的用户。

    $ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
  4. 记录您的用户名和密码。

    注意

    如果您在同一服务器实例中安装 Business Central 和 KIE 服务器,您可以创建一个具有这两个角色的单个用户:

    $ ./add-user.sh -a --user <USERNAME>  --password <PASSWORD> --role admin,rest-all,kie-server

    您应该在生产环境中的不同服务器上安装 Business Central 和 KIE 服务器。

14.5. 配置 KIE 服务器以连接到 Business Central

警告

本节提供了可用于测试目的的设置示例。对于生产环境,一些值不可理解,并被标记为这样。

如果在 Red Hat Process Automation Manager 环境中没有配置 KIE 服务器,或者在 Red Hat Process Automation Manager 环境中需要额外的 KIE 服务器,您必须配置 KIE 服务器来连接到 Business Central。

注意

如果要在 Red Hat OpenShift Container Platform 上部署 KIE 服务器,请参阅使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境

先决条件

流程

  1. 在 Red Hat Process Automation Manager 安装目录中,进入 standalone-full.xml 文件。例如,如果您为 Red Hat Process Automation Manager 使用 Red Hat JBoss EAP 安装,请转至 $EAP_HOME/standalone/configuration/standalone-full.xml
  2. 打开 standalone-full.xml 文件并在 < system-properties&gt; 标签下设置以下 JVM 属性:

    表 14.1. KIE 服务器实例的 JVM 属性
    属性备注

    org.kie.server.id

    default-kie-server

    KIE 服务器 ID。

    org.kie.server.controller

    http://localhost:8080/business-central/rest/controller

    Business Central 的位置。用于连接到 Business Central API 的 URL。

    org.kie.server.controller.user

    controllerUser

    具有可登录到 Business Central 的角色 rest-all 的用户名。

    org.kie.server.controller.pwd

    controllerUser1234;

    可以登录到 Business Central 的用户的密码。

    org.kie.server.location

    http://localhost:8080/kie-server/services/rest/server

    KIE 服务器的位置。用于连接到 KIE 服务器的 API 的 URL。

    表 14.2. Business Central 实例的 JVM 属性
    属性备注

    org.kie.server.user

    controllerUser

    角色 kie-server 的用户名。

    org.kie.server.pwd

    controllerUser1234;

    用户的密码。

    以下示例演示了如何配置 KIE 服务器实例:

    <property name="org.kie.server.id" value="default-kie-server"/>
    <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"/>
    <property name="org.kie.server.controller.user" value="controllerUser"/>
    <property name="org.kie.server.controller.pwd" value="controllerUser1234;"/>
    <property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"/>

    以下示例演示了如何为 Business Central 实例配置:

    <property name="org.kie.server.user" value="controllerUser"/>
    <property name="org.kie.server.pwd" value="controllerUser1234;"/>
  3. 要验证 KIE 服务器是否已成功启动,请在 KIE 服务器运行时向 http://SERVER:PORT/kie-server/services/rest/server/ 发送 GET 请求。有关在 KIE 服务器上运行 Red Hat Process Automation Manager 的更多信息,请参阅 运行 Red Hat Process Automation Manager

    成功验证后,您会收到类似以下示例的 XML 响应:

    <response type="SUCCESS" msg="Kie Server info">
        <kie-server-info>
            <capabilities>KieServer</capabilities>
            <capabilities>BRM</capabilities>
            <capabilities>BPM</capabilities>
            <capabilities>CaseMgmt</capabilities>
            <capabilities>BPM-UI</capabilities>
            <capabilities>BRP</capabilities>
            <capabilities>DMN</capabilities>
            <capabilities>Swagger</capabilities>
            <location>http://localhost:8230/kie-server/services/rest/server</location>
            <messages>
                <content>Server KieServerInfo{serverId='first-kie-server', version='7.5.1.Final-redhat-1', location='http://localhost:8230/kie-server/services/rest/server', capabilities=[KieServer, BRM, BPM, CaseMgmt, BPM-UI, BRP, DMN, Swagger]}started successfully at Mon Feb 05 15:44:35 AEST 2018</content>
                <severity>INFO</severity>
                <timestamp>2018-02-05T15:44:35.355+10:00</timestamp>
            </messages>
            <name>first-kie-server</name>
            <id>first-kie-server</id>
            <version>7.5.1.Final-redhat-1</version>
        </kie-server-info>
    </response>
  4. 验证注册是否成功:

    1. 登录 Business Central。
    2. MenuDeployExecution Servers

      如果注册成功,您会看到注册的服务器 ID。

第 15 章 使用密钥存储保护密码

您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。

将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。使用 KeyTool (作为 JDK 安装的一部分)创建新的 JCEKS。

注意

如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。

先决条件

  • KIE 服务器安装在 Red Hat JBoss EAP 中。
  • 安装了 Java 8 或更高版本。

流程

  1. 在 Red Hat JBoss EAP 主目录中,输入以下命令创建带有 kie-server 角色的 KIE Server 用户并指定密码。在以下示例中,将 &lt ;USER_NAME& gt ; 和 <PASSWORD > 替换为您选择的用户名和密码。

    $<EAP_HOME>/bin/add-user.sh -a -e -u <USER_NAME> -p <PASSWORD> -g kie-server
  2. 要使用 KeyTool 创建 JCEKS,请在 Java 8 主目录中输入以下命令:

    $<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS

    在本例中,替换以下变量:

    • <KEYSTORE_PATH > :存储密钥存储的路径
    • <KEYSTORE_PASSWORD > :密钥存储密码
    • <ALIAS_KEY_PASSWORD > :用于访问别名存储的值的密码
    • <PASSWORD_ALIAS > :对进程的条目的别名
  3. 提示时,输入您创建的 KIE 服务器用户的密码。
  4. EAP_HOME/standalone/configuration/standalone-full.xml 文件中设置以下系统属性,并替换下表中列出的占位符:

        <system-properties>
            <property name="kie.keystore.keyStoreURL" value="<KEYSTORE_URL>"/>
            <property name="kie.keystore.keyStorePwd" value="<KEYSTORE_PWD>"/>
            <property name="kie.keystore.key.server.alias" value="<KEY_SERVER_ALIAS>"/>
            <property name="kie.keystore.key.server.pwd" value="<KEY_SERVER_PWD>"/>
            <property name="kie.keystore.key.ctrl.alias" value="<KEY_CONTROL_ALIAS>"/>
            <property name="kie.keystore.key.ctrl.pwd" value="<KEY_CONTROL_PWD>"/>
        </system-properties>
    表 15.1. 用于载入 KIE 服务器 JCEKS 的系统属性
    系统属性占位符描述

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    要使用的 JCEKS 的 URL,如 file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS 的密码

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    保存密码的 REST 服务的密钥别名

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    使用存储的密码的 REST 服务的别名密码

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    存储密码的默认 REST Process Automation Controller 的密钥别名

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    使用存储密码的默认 REST Process Automation Controller 别名的密码

  5. 启动 KIE 服务器以验证配置。

第 16 章 将 SSH 配置为使用 RSA

SSH 用于克隆 Git 存储库。默认情况下,DSA 加密算法由 Business Central 提供。但是,一些 SSH 客户端(如 Fedora 23 环境中的 SSH 客户端)使用 RSA 算法而不是 DSA 算法。Business Central 包含可用于从 DSA 切换到 RSA 的系统属性(如果需要)。

注意

在支持的配置(如 Red Hat Enterprise Linux 7)上的 SSH 客户端不受此问题的影响。有关支持的配置列表,请参阅 Red Hat Process Automation Manager 7 支持的配置

流程

完成以下任务之一以启用这个系统属性:

  • 修改客户端上的 ~/.ssh/config 文件,以强制 SSH 客户端接受已弃用的 DSA 算法:

    Host <SERVER_IP>
           HostKeyAlgorithms +ssh-dss
  • 在启动 Business Central 时包括 -Dorg.uberfire.nio.git.ssh.algorithm=RSA 参数,例如:

    $ ./standalone.sh -c standalone-full.xml
    -Dorg.uberfire.nio.git.ssh.algorithm=RSA

第 17 章 验证 Red Hat Process Automation Manager 安装

安装 Red Hat Process Automation Manager 后,创建一个资产来验证安装是否正常工作。

流程

  1. 在终端窗口中,导航到 EAP_HOME/bin 目录,并输入以下命令来启动 Red Hat Process Automation Manager:

    ./standalone.sh -c standalone-full.xml
    注意

    如果您在没有 KIE 服务器的情况下部署了 Business Central,您可以使用 standalone.sh 脚本启动 Business Central,而不指定 standalone-full.xml 文件。在这种情况下,请确保在启动 Business Central 前对 standalone.xml 文件进行任何配置更改。

  2. 在 Web 浏览器中,输入 localhost:8080/business-central

    • 如果您将 Red Hat Process Automation Manager 配置为从域名运行,请将 localhost 替换为域名,例如:

      http://www.example.com:8080/business-central

    • 如果您将 Red Hat Process Automation Manager 配置为在集群中运行,使用特定节点的 IP 地址替换 localhost,例如:

      http://<node_IP_address>:8080/business-central

  3. 输入您在安装过程中创建的 admin 用户凭证。此时会出现 Business Central 主页。
  4. 选择 MenuDeployExecution Servers
  5. 确认 default-kieserver 列在 Server Configuration 下
  6. 选择 MenuDesignProjects
  7. 打开 MySpace 空间。
  8. Try SamplesMortgagesOK。此时会出现 Assets 窗口。
  9. Add AssetData Object
  10. Data Object 字段中输入 MyDataObject,然后单击 OK
  11. SpacesMySpaceMortgages,并确认 MyDataObject 位于资产列表中。
  12. 删除 Mortgages 项目。

第 18 章 运行 Red Hat Process Automation Manager

使用这个流程以独立模式在 Red Hat JBoss EAP 上运行 Red Hat Process Automation Manager。

先决条件

  • 安装和配置 Red Hat Process Automation Manager。
注意

如果您更改了默认主机(localhost)或默认端口(9990),那么在运行 Red Hat Process Automation Manager 前,您必须编辑 business-central.war/WEB-INF/classes/datasource-management.propertiesbusiness-central.war/WEB-INF/classes/security-management.properties 文件,如 Solution 3519551

流程

  1. 在终端应用中,导航到 EAP_HOME/bin
  2. 运行独立配置:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh -c standalone-full.xml
    • 对于 Windows:

      standalone.bat -c standalone-full.xml
      注意

      如果您在没有 KIE 服务器的情况下部署了 Business Central,您可以使用 standalone.sh 脚本启动 Business Central,而不指定 standalone-full.xml 文件。在这种情况下,请确保在启动 Business Central 前对 standalone.xml 文件进行任何配置更改。

      在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh

      对于 Windows:

      standalone.bat
  3. 在 Web 浏览器中,打开 URL localhost:8080/business-central

    如果您将 Red Hat Process Automation Manager 配置为从域名运行,请将 localhost 替换为域名,例如:

    http://www.example.com:8080/business-central

  4. 使用您在 第 14.4 节 “创建用户” 中为 Business Central 创建的用户凭证登录。

第 19 章 安装并运行无头 Process Automation Manager 控制器

您可以将 KIE 服务器配置为以受管或非受管模式运行。如果 KIE Server 是非受管服务器,您必须手动创建和维护 KIE 容器(部署单元)。如果管理 KIE 服务器,则 Process Automation Manager 控制器管理 KIE 服务器配置,并与 Process Automation Manager 控制器交互,以创建和维护 KIE 容器。

Business Central 有一个嵌入式 Process Automation Manager 控制器。如果安装了 Business Central,请使用 Execution Server 页面创建和维护 KIE 容器。如果要在没有 Business Central 的情况下自动执行 KIE 服务器管理,您可以使用无头流程 Automation Manager 控制器。

19.1. 安装无头流程自动化管理器控制器

您可以安装无头进程自动化管理器控制器,并使用 REST API 或 KIE Server Java Client API 与其交互。

先决条件

  • 提供了备份的 Red Hat JBoss EAP 安装版本 7.3。Red Hat JBoss EAP 安装的主目录称为 EAP_HOME
  • 授予足够的用户权限来完成安装。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 Add Ons ( rhpam-7.11.0-add-ons.zip 文件)。
  3. 提取 rhpam-7.11.0-add-ons.zip 文件。rhpam-7.11.0-controller-ee7.zip 文件位于提取的目录中。
  4. rhpam-7.11.0-controller-ee7 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  5. TEMP_DIR/rhpam-7.11.0-controller-ee7/controller.war 目录复制到 EAP_HOME/standalone/deployments/

    警告

    确保您复制的无头流程自动化管理器控制器部署的名称不会与 Red Hat JBoss EAP 实例中的现有部署冲突。

  6. TEMP_DIR/rhpam-7.11.0-controller-ee7/SecurityPolicy/ 目录的内容复制到 EAP_HOME/bin
  7. 当提示覆盖文件时,请选择 Yes
  8. EAP_HOME/standalone/deployments/ 目录中,创建一个名为 controller.war.dodeploy 的空文件。此文件可确保服务器启动时自动部署无头 Process Automation Manager 控制器。

19.1.1. 创建无头进程自动化管理器控制器用户

在使用无头 Process Automation Manager 控制器前,您必须创建一个具有 kie-server 角色的用户。

先决条件

  • 无头流程自动化管理器控制器安装在 Red Hat JBoss EAP 安装(EAP_HOME)的基本目录中。

流程

  1. 在终端应用中,导航到 EAP_HOME/bin 目录。
  2. 输入以下命令,并将 &lt ;USER_NAME& gt ; 和 <PASSWORD > 替换为您选择的用户名和密码。

    $ ./add-user.sh -a --user <USER_NAME> --password <PASSWORD> --role kie-server
    注意

    确保指定的用户名与现有用户、角色或组不同。例如,不要创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符,但不能包括 & (ampersand)。

  3. 记录您的用户名和密码。

19.1.2. 配置 KIE 服务器和无头进程自动化管理器控制器

如果 KIE 服务器将由无头进程自动化管理器控制器管理,您必须在 KIE Server 安装中编辑 standalone-full.xml 文件,以及在无头进程自动化管理器控制器安装中编辑 standalone.xml 文件。

先决条件

  • KIE 服务器安装在 EAP_HOME 中。
  • 无头流程自动化管理器控制器安装在 EAP_HOME 中。

    注意

    您应该在生产环境中的不同服务器上安装 KIE 服务器和无头进程自动化管理器控制器。但是,如果您在同一服务器上安装 KIE 服务器和无头进程自动化管理器控制器,例如在开发环境中,在共享的 standalone-full.xml 文件中进行这些更改。

  • 在 KIE Server 节点上,存在具有 kie-server 角色的用户。
  • 在服务器节点上,存在具有 kie-server 角色的用户。

    更多信息请参阅 第 14.4 节 “创建用户”

流程

  1. EAP_HOME/standalone/configuration/standalone-full.xml 文件中,将以下属性添加到 < system-properties > 部分,并将 & lt;USERNAME & gt; 和 <USER_PWD > 替换为 kie-server 角色:

       <property name="org.kie.server.user" value="<USERNAME>"/>
       <property name="org.kie.server.pwd" value="<USER_PWD>"/>
  2. 在 KIE Server EAP_HOME/standalone/configuration/standalone-full.xml 文件中,将以下属性添加到 < system-properties> 部分:

      <property name="org.kie.server.controller.user" value="<CONTROLLER_USER>"/>
      <property name="org.kie.server.controller.pwd" value="<CONTROLLER_PWD>"/>
      <property name="org.kie.server.id" value="<KIE_SERVER_ID>"/>
      <property name="org.kie.server.location" value="http://<HOST>:<PORT>/kie-server/services/rest/server"/>
      <property name="org.kie.server.controller" value="<CONTROLLER_URL>"/>
  3. 在这个文件中,替换以下值:

    • <CONTROLLER_USER & gt; 和 <CONTROLLER_PWD > 替换为用户的凭证,并替换为 kie-server 角色。
    • <KIE_SERVER_ID > 替换为 KIE 服务器安装的 ID 或名称,如 rhpam-7.11.0-kie-server-1
    • <HOST > 替换为 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9
    • <PORT > 替换为 KIE 服务器主机的端口,如 8080。

      注意

      org.kie.server.location 属性指定 KIE 服务器的位置。

    • <CONTROLLER_URL > 替换为无头进程自动化管理器控制器的 URL。KIE 服务器在启动时连接到此 URL。

19.2. 运行无头进程自动化管理器控制器

在 Red Hat JBoss EAP 上安装无头 Process Automation Manager 控制器后,使用此流程运行无头 Process Automation Manager 控制器。

先决条件

  • 无头流程自动化管理器控制器在 Red Hat JBoss EAP 安装(EAP_HOME)的基域中安装和配置。

流程

  1. 在终端应用中,导航到 EAP_HOME/bin
  2. 如果您在安装 KIE 服务器的 Red Hat JBoss EAP 实例相同的 Red Hat JBoss EAP 实例上安装了无头 Process Automation Manager 控制器,请输入以下命令之一:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh -c standalone-full.xml
    • 对于 Windows:

      standalone.bat -c standalone-full.xml
  3. 如果您在安装 KIE 服务器的 Red Hat JBoss EAP 实例中的独立 Red Hat JBoss EAP 实例上安装了无头 Process Automation Manager 控制器,请使用 standalone.sh 脚本启动无头 Process Automation Manager 控制器:

    注意

    在这种情况下,请确保对 standalone.xml 文件进行了所有必要的配置更改。

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh
    • 对于 Windows:

      standalone.bat
  4. 要验证无头流程自动化管理器控制器是否在 Red Hat JBoss EAP 上工作,请输入以下命令,其中 < CONTROLLER&gt; 和 &lt ;CONTROLLER_PWD > 是您在 第 19.1.1 节 “创建无头进程自动化管理器控制器用户” 中创建的用户名和密码组合。此命令的输出提供有关 KIE 服务器实例的信息。

    curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H  "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'
注意

另外,您可以使用 KIE Server Java API 客户端来访问无头进程自动化管理器控制器。

第 20 章 配置并运行独立 Business Central

您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。您可以使用示例配置文件从框中运行 Business Central standalone JAR 文件,或者根据您的要求自定义 sampfiles。

注意

只有在 Red Hat Enterprise Linux 上运行时才支持此 JAR 文件。

先决条件

流程

  1. 将下载的 rhpam-7.11.0-addons.zip 提取到临时目录中。此存档包含 rhpam-7.11.0-standalone-sample-configuration.zip 文件。
  2. rhpam-7.11.0-standalone-sample-configuration.zip 文件提取到包含 rhpam-7.11.0-business-central-standalone.jar 文件的目录。rhpam-7.11.0-standalone-sample-configuration.zip 文件包含以下示例配置文件:

    • application-roles.properties
    • application-users.properties
    • sample-standalone-config.yml

      您可以使用配置文件中提供的示例数据运行 rhpam-7.11.0-business-central-standalone.jar 文件,也可以根据您的要求自定义数据。

  3. 要自定义配置数据,请完成以下步骤:

    1. 编辑 application-users.properties 文件。包括一个管理用户,如果此 Business Central 实例将是 KIE 服务器的 Process Automation Manager 控制器,请包括一个 Process Automation Manager 控制器用户,例如:

      rhpamAdmin=password1
    2. 编辑 application-roles.properties 文件,将角色分配给您在 application-users.properties 文件中所含的用户,例如:

      rhpamAdmin=admin
      controllerUser=kie-server

      如需更多信息,请参阅 第 11 章 Red Hat Process Automation Manager 角色和用户

    3. 查看 sample-standalone-config.yml 配置文件的内容,并根据需要更新。
  4. 要运行 Business Central 独立 JAR 文件,请输入以下命令:

    java -jar rhpam-7.11.0-business-central-standalone.jar -s sample-standalone-config.yml
  5. 要在运行 JAR 文件时设置应用程序属性,请在命令中包含 -D<PROPERTY>=<VALUE > 参数,其中 & lt;PROPERTY > 是支持的应用程序属性的名称,&lt ;VALUE& gt; 是属性值:

    java -jar rhpam-7.11.0-business-central-standalone.jar -s sample-standalone-config.yml -D<PROPERTY>=<VALUE> -D<PROPERTY>=<VALUE>

    例如,要运行 Business Central 并以用户 controllerUser 连接到 KIE 服务器,请输入:

    java -jar rhpam-7.11.0-business-central-standalone.jar \
    -s sample-standalone-config.yml \
    -Dorg.kie.server.user=controllerUser
    -Dorg.kie.server.pwd=controllerUser1234

    这样,您可以将容器部署到 KIE 服务器中。请参阅 附录 A, Business Central 系统属性 了解更多信息。

第 21 章 Red Hat Process Automation Manager 的 Maven 设置和存储库

当您创建 Red Hat Process Automation Manager 项目时,ver Central 使用为 Business Central 配置的 Maven 存储库。您可以通过修改 Maven 项目对象模型(POM)文件(pom.xml)文件(pom.xml)文件,使用 Maven 全局或用户设置来指示所有 Red Hat Process Automation Manager 项目从公共 Red Hat Process Automation Manager 存储库检索依赖项。您还可以将 Business Central 和 KIE 服务器配置为使用外部 Maven 存储库或准备 Maven 镜像以供离线使用。

有关 Red Hat Process Automation Manager 打包和部署选项的更多信息,请参阅 打包和部署 Red Hat Process Automation Manager 项目

21.1. 为 Red Hat Process Automation Manager 添加 Maven 依赖项

要在 Red Hat Process Automation Manager 项目中使用正确的 Maven 依赖项,请将 Red Hat Business Automation bill of material (BOM)文件添加到项目的 pom.xml 文件中。Red Hat Business Automation BOM 适用于 Red Hat Decision Manager 和 Red Hat Process Automation Manager。当您添加 BOM 文件时,项目中包含了来自提供的 Maven 存储库传输性依赖关系的正确版本。

有关 Red Hat Business Automation BOM 的更多信息,请参阅 Red Hat Process Automation Manager 和 Maven 库版本之间的映射是什么?

流程

  1. pom.xml 文件中声明 Red Hat Business Automation BOM:

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.11.0.redhat-00005</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. 在 <dependencies> 标签中声明项目 所需的依赖项。将产品 BOM 导入到项目中后,定义了面向用户的产品依赖项的版本,因此您不需要指定这些 <dependency> 元素的 <version> 的子元素。但是,您必须使用 & lt;dependency > 元素声明要在项目中使用的依赖项。
  3. 对于没有在 Business Central 中编写的独立项目,请指定项目所需的所有依赖项。在您在 Business Central 中编写的项目中,重要的决策引擎和流程引擎依赖项由 Business Central 自动提供。

    • 对于基本的 Red Hat Process Automation Manager 项目,根据您要使用的功能声明以下依赖项:

      嵌入式进程引擎依赖项

      <!-- Public KIE API -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <!-- Core dependencies for process engine -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow-builder</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-runtime-manager</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-persistence-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-query-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-audit</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <!-- Dependency needed for default WorkItemHandler implementations. -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-workitems-core</artifactId>
      </dependency>
      
      <!-- Logging dependency. You can use any logging framework compatible with slf4j. -->
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>

    • 对于使用 CDI 的 Red Hat Process Automation Manager 项目,您通常会声明以下依赖项:

      启用 CDI 的进程引擎依赖项

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-services-cdi</artifactId>
      </dependency>

    • 对于基本 Red Hat Process Automation Manager 项目,声明以下依赖项:

      嵌入式决策引擎依赖项

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
      </dependency>
      
      <!-- Dependency for persistence support. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
      </dependency>
      
      <!-- Dependencies for decision tables, templates, and scorecards.
      For other assets, declare org.drools:business-central-models-* dependencies. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-scorecards</artifactId>
      </dependency>
      
      <!-- Dependency for loading KJARs from a Maven repository using KieScanner. -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
      </dependency>

    • 要使用 KIE 服务器,请声明以下依赖项:

      客户端应用程序 KIE 服务器依赖项

      <dependency>
        <groupId>org.kie.server</groupId>
        <artifactId>kie-server-client</artifactId>
      </dependency>

    • 要为 Red Hat Process Automation Manager 创建远程客户端,请声明以下依赖项:

      客户端依赖项

      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-rest-client</artifactId>
      </dependency>

    • 在创建包含资产(如规则和进程定义)的 JAR 文件时,请将 Maven 项目的打包类型指定为 kjar,并使用 org.kie:kie-maven-plugin 来处理 < project > 元素下的 kjar 打包类型。在以下示例中,${kie.version}Red Hat Process Automation Manager 和 Maven 库版本之间的映射中列出的 Maven 库版本?

      <packaging>kjar</packaging>
      <build>
       <plugins>
        <plugin>
         <groupId>org.kie</groupId>
         <artifactId>kie-maven-plugin</artifactId>
         <version>${kie.version}</version>
         <extensions>true</extensions>
        </plugin>
       </plugins>
      </build>

21.2. 为 Business Central 和 KIE 服务器配置外部 Maven 存储库

您可以将 Business Central 和 KIE 服务器配置为使用外部 Maven 存储库,如 Nexus 或 Artifactory,而不是内置存储库。这可让 Business Central 和 KIE 服务器访问和下载在外部 Maven 存储库中维护的工件。

重要

存储库中的工件不会接收自动安全补丁,因为 Maven 要求工件不可变。因此,缺少已知安全漏洞补丁的工件将保留在存储库中,以避免破坏依赖于它们的构建。补丁工件的版本号会被递增。如需更多信息,请参阅 JBoss Enterprise Maven 存储库

注意

先决条件

流程

  1. 创建一个 Maven settings.xml 文件,其中包含外部存储库的连接和访问详情。有关 settings.xml 文件的详情,请查看 Maven 设置参考
  2. 将文件保存到已知位置,例如 /opt/custom-config/settings.xml
  3. 在 Red Hat Process Automation Manager 安装目录中,进入 standalone-full.xml 文件。例如,如果您为 Red Hat Process Automation Manager 使用 Red Hat JBoss EAP 安装,请转至 $EAP_HOME/standalone/configuration/standalone-full.xml
  4. 打开 standalone-full.xml 并在 & lt;system-properties > 标签下,将 kie.maven.settings.custom 属性设置为 settings.xml 文件的完整路径名称。

    例如:

    <property name="kie.maven.settings.custom" value="/opt/custom-config/settings.xml"/>
  5. 启动或重启 Business Central 和 KIE 服务器。

后续步骤

对于您要导出或推送为 KJAR 工件到外部 Maven 存储库的每个 Business Central 项目,您必须在项目 pom.xml 文件中添加存储库信息。具体步骤请参阅打包和部署 Red Hat Process Automation Manager 项目

21.3. 准备 Maven 镜像存储库以供离线使用

如果您的 Red Hat Process Automation Manager 部署无法传出访问公共互联网,您必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像,并将此存储库提供给您的环境。

注意

如果您的 Red Hat Process Automation Manager 部署连接到互联网,则不需要完成这个步骤。

先决条件

  • 具有一个可以传出访问公共互联网的计算机。

流程

  1. 在与公共互联网传出连接的计算机上完成以下步骤:
  2. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : Red Hat Process Automation Manager
    • Version: 7.11

      1. 下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(rhpam-7.11.0-offliner.zip)产品可交付文件。
      2. rhpam-7.11.0-offliner.zip 文件的内容提取到任何目录中。
      3. 进入该目录并输入以下命令:

        ./offline-repo-builder.sh offliner.txt

        此命令创建 存储库 子目录,并将必要的工件下载到此子目录中。这是镜像存储库。

        如果消息报告某些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。

  3. 如果您在 Business Central 外部开发了服务,并且它们还有额外的依赖项,请将依赖项添加到镜像存储库中。如果您以 Maven 项目的形式开发了服务,您可以使用以下步骤自动准备这些依赖项。完成具有到公共互联网传出连接的计算机上的步骤。

    1. 创建本地 Maven 缓存目录的备份(~/.m2/repository),然后清除该目录。
    2. 使用 mvn clean install 命令构建项目源。
    3. 对于每个项目,输入以下命令来确保 Maven 下载项目生成的所有工件的所有运行时依赖项:

      mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true

      /path/to/project/pom.xml 替换为项目的 pom.xml 文件的路径。

    4. 将本地 Maven 缓存目录的内容(~/.m2/repository)复制到所创建的 存储库 子目录中。
  4. 将存储库 子目录的内容复制到部署 Red Hat Process Automation Manager 的计算机上的目录中。此目录成为离线 Maven 镜像存储库。
  5. 为您的 Red Hat Process Automation Manager 部署创建和配置 settings.xml 文件,如 第 21.2 节 “为 Business Central 和 KIE 服务器配置外部 Maven 存储库” 所述。
  6. settings.xml 文件中进行以下更改:

    • 在 &lt ;profile& gt; 标签下,如果缺少 <repositories & gt; 或 <pluginRepositores > 标签,请添加缺少的标签。
    • <repositories > 下添加以下内容:

      <repository>
        <id>offline-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      使用本地 Maven 镜像存储库目录的完整路径替换 /path/to/repo

    • <pluginRepositories > 下添加以下内容:

      <repository>
        <id>offline-plugin-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      使用本地 Maven 镜像存储库目录的完整路径替换 /path/to/repo

  7. 将 Business Central 的 kie.maven.offline.force 属性设置为 true。有关为 Business Central 设置属性的说明,请参阅在 Red Hat JBoss EAP 7.3 上安装和配置 Red Hat Process Automation Manager

第 22 章 从 Git 存储库导入项目

Git 是一个分布式版本控制系统。它将修订版本实施为提交对象。当您将更改保存到存储库时,会在 Git 存储库中创建一个新的提交对象。

Business Central 使用 Git 来存储项目数据,包括规则和流程等资产。当您在 Business Central 中创建项目时,它将添加到嵌入在 Business Central 中的 Git 存储库中。如果您在其他 Git 存储库中有项目,您可以通过 Business Central 空格将这些项目导入到 Business Central Git 存储库中。

先决条件

  • Red Hat Process Automation Manager 项目存在于外部 Git 存储库中。
  • 您有读取该外部 Git 存储库所需的权限所需的凭证。

流程

  1. 在 Business Central 中,点击 MenuDesignProjects
  2. 选择或创建您要将项目导入到的空间。默认空间为 MySpace
  3. 要导入项目,请执行以下操作之一:

    • 单击 Import Project
    • 从下拉列表中选择 Import Project
  4. Import Project 窗口中,输入 Git 存储库的 URL 和凭据,其中包含您要导入的项目,然后单击 Import。项目添加到 Business Central Git 存储库,并可从当前空间中获得。

第 23 章 自定义 Business Central 的品牌

您可以通过将镜像替换为您自己的自定义 Business Central 登录页面和应用程序标头的品牌。

23.1. 自定义 Business Central 登录页面

您可以在 Business Central 登录页面中自定义公司徽标和项目徽标。

流程

  1. 启动 Red Hat JBoss EAP 并在 Web 浏览器中打开 Business Central。
  2. 将 SVG 格式镜像复制到 Red Hat Process Automation Manager 安装中的 EAP_HOME/standalone/deployments/business-central.war/img/ 目录中。
  3. EAP_HOME/standalone/deployments/business-central.war/img/ 目录中,移动或重命名现有的 redhat_logo.png 文件。
  4. 重命名您的 PNG 文件 redhat_logo.png
  5. 要更改在 User namePassword 字段上方显示的项目徽标,请将默认镜像 BC_Logo.png 替换为新的 SVG 文件。
  6. 强制完全重新加载登录页面(绕过缓存)以查看更改。例如,在大多数 Linux 和 Windows Web 浏览器中,按 Ctrl+F5。

23.2. 自定义 Business Central 应用程序标头

您可以自定义 Business Central 应用程序标头。

流程

  1. 启动 Red Hat JBoss EAP,在 Web 浏览器中打开 Business Central,并使用您的用户凭据登录。
  2. 将 SVG 格式的新应用程序标头镜像复制到 Red Hat Process Automation Manager 安装中的 EAP_HOME/standalone/deployments/business-central.war/banner/ 目录中。
  3. 在文本编辑器中打开 EAP_HOME/standalone/deployments/business-central.war/banner/banner.html 文件。
  4. 将 < img> 标签中的 logo.png 替换为新镜像的文件名:admin-and-config/

    <img src="banner/logo.png"/>
  5. 强制完全重新加载登录页面(绕过缓存)以查看更改。例如,在大多数 Linux 和 Windows Web 浏览器中,按 Ctrl+F5。

第 24 章 集成 LDAP 和 SSL

通过使用 Red Hat Process Automation Manager,您可以通过 RH-SSO 集成 LDAP 和 SSL。如需更多信息,请参阅 Red Hat Single Sign-On 服务器管理指南

附录 A. Business Central 系统属性

本节中列出的 Business Central 系统属性将传递到 standalone thexml 文件。

Git 目录

使用以下属性为 Business Central Git 目录设置位置和名称:

  • org.uberfire.nio.git.dir: Business Central Git 目录的位置。
  • org.uberfire.nio.git.dirname: Business Central Git 目录的名称。默认值:.niogit
  • org.uberfire.nio.git.ketch: 启用或禁用 Git ketch。
  • org.uberfire.nio.git.hooks: Git hook 目录的位置。
Git over HTTP

使用以下属性通过 HTTP 配置对 Git 存储库的访问:

  • org.uberfire.nio.git.proxy.ssh.over.http: 指定 SSH 是否应该使用 HTTP 代理。默认值: false
  • http.proxyHost :定义 HTTP 代理的主机名。默认值: null.
  • http.proxyPort :定义 HTTP 代理的主机端口(整数值)。默认值: null.
  • http.proxyUser :定义 HTTP 代理的用户名。
  • http.proxyPassword :定义 HTTP 代理的用户密码。
  • org.uberfire.nio.git.http.enabled: 启用或禁用 HTTP 守护进程。默认值: true
  • org.uberfire.nio.git.http.host :如果启用了 HTTP 守护进程,它将此属性用作主机标识符。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.http.hostname :如果启用了 HTTP 守护进程,它将此属性用作主机名标识符。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.http.port :如果启用了 HTTP 守护进程,它将此属性用作端口号。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:8080
Git over HTTPS

使用以下属性通过 HTTPS 配置对 Git 存储库的访问:

  • org.uberfire.nio.git.proxy.ssh.over.https: 指定 SSH 是否使用 HTTPS 代理。默认值: false
  • https.proxyHost :定义 HTTPS 代理的主机名。默认值: null.
  • https.proxyPort :定义 HTTPS 代理的主机端口(整数值)。默认值: null.
  • https.proxyUser :定义 HTTPS 代理的用户名。
  • https.proxyPassword :定义 HTTPS 代理的用户密码。
  • user.dir :用户目录的位置。
  • org.uberfire.nio.git.https.enabled: 启用或禁用 HTTPS 守护进程。默认值:false
  • org.uberfire.nio.git.https.host :如果启用了 HTTPS 守护进程,它将此属性用作主机标识符。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.https.hostname :如果启用了 HTTPS 守护进程,它将此属性用作主机名标识符。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.https.port :如果启用了 HTTPS 守护进程,它将此属性用作端口号。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:8080
JGit
  • org.uberfire.nio.jgit.cache.instances: 定义 JGit 缓存大小。
  • org.uberfire.nio.jgit.cache.overflow.cleanup.size: 定义 JGit 缓存溢出清理大小。
  • org.uberfire.nio.jgit.remove.eldest.iterations: 启用或禁用是否删除 eldest JGit iterations。
  • org.uberfire.nio.jgit.cache.evict.threshold.duration: 定义 JGit 驱除阈值持续时间。
  • org.uberfire.nio.jgit.cache.evict.threshold.time.unit: 定义 JGit 驱除阈值时间单位。
Git 守护进程

使用以下属性启用和配置 Git 守护进程:

  • org.uberfire.nio.git.daemon.enabled: 启用或禁用 Git 守护进程。默认值: true
  • org.uberfire.nio.git.daemon.host :如果启用了 Git 守护进程,它将此属性用作本地主机标识符。默认值:localhost
  • org.uberfire.nio.git.daemon.hostname :如果启用了 Git 守护进程,它将此属性用作本地主机名标识符。默认值: localhost
  • org.uberfire.nio.git.daemon.port :如果启用了 Git 守护进程,它将此属性用作端口号。默认值:9418.
  • org.uberfire.nio.git.http.sslVerify: 启用或禁用 Git 存储库的 SSL 证书检查。默认值: true

    注意

    如果默认值或分配的端口已在使用中,则会自动选择一个新端口。确保端口可用,并检查日志以了解更多信息。

Git SSH

使用以下属性启用和配置 Git SSH 守护进程:

  • org.uberfire.nio.git.ssh.enabled: 启用或禁用 SSH 守护进程。默认值: true
  • org.uberfire.nio.git.ssh.host :如果启用了 SSH 守护进程,它将此属性用作本地主机标识符。默认值:localhost
  • org.uberfire.nio.git.ssh.hostname :如果启用了 SSH 守护进程,它将此属性用作本地主机名标识符。默认值:localhost
  • org.uberfire.nio.git.ssh.port :如果启用了 SSH 守护进程,它将此属性用作端口号。默认值:8001

    注意

    如果默认值或分配的端口已在使用中,则会自动选择一个新端口。确保端口可用,并检查日志以了解更多信息。

  • org.uberfire.nio.git.ssh.cert.dir: 存储本地证书的 .security 目录的位置。默认值 :工作目录。
  • org.uberfire.nio.git.ssh.idle.timeout: 设置 SSH idle timeout。
  • org.uberfire.nio.git.ssh.passphrase: 当使用 SCP 风格 URL 克隆 git 存储库时用于访问操作系统的公钥存储。示例: git@github.com:user/repository.git
  • org.uberfire.nio.git.ssh.algorithm: SSH 使用的算法。默认值: RSA
  • org.uberfire.nio.git.gc.limit :设置 GC 限制。
  • org.uberfire.nio.git.ssh.ciphers :以逗号分隔的密码字符串。可用的密码是 aes128-ctr,aes192-ctr,aes256-ctr,arcfour128, arcfour256, aes192-cbc,aes256-cbc。如果没有使用属性,则会加载所有可用的密码。
  • org.uberfire.nio.git.ssh.macs: 以逗号分隔的消息身份验证代码(MAC)字符串。可用的 MAC 是 hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-512。如果没有使用属性,则会加载所有可用的 MAC。

    注意

    如果您计划使用 RSA 或 DSA 以外的任何算法,请确保将应用服务器设置为使用 Bouncy Castle JCE 库。

KIE 服务器节点和流程自动化管理器控制器

使用以下属性配置来自 Process Automation Manager 控制器的 KIE 服务器节点的连接:

  • org.kie.server.controller :URL 用于连接到 Process Automation Manager 控制器。例如,ws://localhost:8080/business-central/websocket/controller
  • org.kie.server.user: 用于从 Process Automation Manager 控制器连接到 KIE 服务器节点的用户名。只有在将此 Business Central 安装用作 Process Automation Manager 控制器时才需要此属性。
  • org.kie.server.pwd: 用于从 Process Automation Manager 控制器连接到 KIE 服务器节点的密码。只有在将此 Business Central 安装用作 Process Automation Manager 控制器时才需要此属性。
Maven 和其它

使用以下属性来配置 Maven 和其他各种功能:

  • kie.maven.offline.force :强制 Maven 的行为与离线一样。如果为 true,则禁用在线依赖项解析。默认值: false

    注意

    仅将此属性用于 Business Central。如果您将运行时环境与任何其他组件共享,请隔离配置并将其应用到 Business Central。

  • org.uberfire.gzip.enable :在 GzipFilter 压缩过滤器上启用或禁用 Gzip 压缩。默认值: true
  • org.kie.workbench.profile :选择 Business Central 配置集。可能的值有 FULLPLANNER_AND_RULES。前缀 FULL_ 设置配置集,并从管理员首选项隐藏配置集首选项。默认值: FULL
  • org.appformer.m2repo.url: Business Central 在查找依赖项时使用 Maven 存储库的默认位置。它将定向到 Business Central 中的 Maven 存储库,例如 http://localhost:8080/business-central/maven2。在启动 Business Central 前设置此属性。默认值 :到内部 m2 存储库的文件路径。
  • appformer.ssh.keystore :通过指定类名称来定义要与 Business Central 搭配使用的自定义 SSH 密钥存储。如果属性不可用,则使用默认的 SSH 密钥存储。
  • appformer.ssh.keys.storage.folder :使用默认 SSH 密钥存储时,此属性定义用户的 SSH 公钥的存储文件夹。如果属性不可用,则密钥将存储在 Business Central .security 文件夹中。
  • appformer.experimental.features :启用实验性功能框架。默认值: false
  • org.kie.demo :启用来自 GitHub 的演示应用程序的外部克隆。
  • org.uberfire.metadata.index.dir: 存储 Lucene .index 目录的 Place。默认值 :工作目录。
  • org.uberfire.ldap.regex.role_mapper: 用来将 LDAP 主体名称映射到应用程序角色名称的 Regex 模式。请注意,变量角色必须是模式的一部分,因为应用角色名称在匹配原则值和角色名称时替换变量角色。
  • org.uberfire.sys.repo.monitor.disabled :禁用配置监控器。不要禁用,除非您确定。默认值: false
  • org.uberfire.secure.key :由密码加密使用的密码。默认值: org.uberfire.admin
  • org.uberfire.secure.alg: Crypto 算法由密码加密使用。默认值: PBEWithMD5AndDES
  • org.uberfire.domain: uberfire 使用的安全域名。默认值: ApplicationRealm.
  • org.guvnor.m2repo.dir: 存储 Maven 存储库文件夹的 Place。默认值: &lt ;working-directory>/repositories/kie
  • org.guvnor.project.gav.check.disabled :禁用组 ID、工件 ID 和版本(GAV)检查。默认值: false
  • org.kie.build.disable-project-explorer :禁用 Project Explorer 中所选项目的自动构建。默认值: false
  • org.kie.builder.cache.size :定义项目构建器的缓存大小。默认值 :20
  • org.kie.library.assets_per_page :您可以在项目屏幕中自定义每个页面的资产数量。默认值 :15
  • org.kie.verification.disable-dtable-realtime-verification: 禁用路由表的实时验证和验证。默认值: false
处理自动化管理器控制器

使用以下属性来配置如何连接到 Process Automation Manager 控制器:

  • org.kie.workbench.controller: 用于连接到 Process Automation Manager 控制器的 URL,例如: ws://localhost:8080/kie-server-controller/websocket/controller
  • org.kie.workbench.controller.user: Process Automation Manager 控制器用户。默认值:kieserver
  • org.kie.workbench.controller.pwd : Process Automation Manager 控制器密码。默认值: kieserver1!
  • org.kie.workbench.controller.token :用于连接 Process Automation Manager 控制器的令牌字符串。
Java Cryptography Extension KeyStore (JCEKS)

使用以下属性来配置 JCEKS:

  • kie.keystore.keyStoreURL :用于加载 Java Cryptography Extension KeyStore (JCEKS)的 URL。例如: file:///home/kie/keystores/keystore.jceks。
  • kie.keystore.keyStorePwd :用于 JCEKS 的密码。
  • kie.keystore.key.ctrl.alias :默认 REST Process Automation Manager 控制器的密钥别名。
  • kie.keystore.key.ctrl.pwd :默认 REST Process Automation Manager 控制器的别名密码。
渲染

使用以下属性在 Business Central 和 KIE Server rendered 表单间切换:

  • org.jbpm.wb.forms.renderer.ext :切换 Business Central 和 KIE 服务器之间的表单。默认情况下,表单渲染由 Business Central 执行。默认值: false
  • org.jbpm.wb.forms.renderer.name: 允许您在 Business Central 和 KIE Server rendered 表单间切换。默认值: 工作台

第 25 章 其他资源

第 26 章 后续步骤

部分 III. 在 Red Hat JBoss EAP 集群环境中安装和配置 Red Hat Process Automation Manager

作为系统工程师,您可以创建一个 Red Hat Process Automation Manager 集群环境,以便为开发和运行时环境提供高可用性和负载均衡。

先决条件

第 27 章 Red Hat Process Automation Manager 集群

通过集群两个或多个计算机,您具有高可用性、增强的协作和负载平衡的优势。高可用性降低了单一计算机出现故障时数据丢失的机会。当计算机出现故障时,另一台计算机通过提供故障计算机上的数据副本来填充差距。当失败的计算机再次上线时,它会恢复其在集群中的位置。

您可以通过几种方法集群 Red Hat Process Automation Manager 组件。本文档论述了如何集群以下情况:

第 28 章 在开发(授权)环境中的 Red Hat Process Automation Manager 集群

开发人员可以使用 Red Hat Process Automation Manager 编写有助于用户做出决定的规则和流程。

您可以将 Red Hat Process Automation Manager 配置为集群的开发环境,以从高可用性中受益。使用集群环境时,如果开发人员在某个节点上工作且该节点失败,则该开发人员的工作会被保留并在集群的任何其他节点上可见。

大多数开发环境都包含用于创建规则和流程的 Business Central,以及至少一个 KIE 服务器来测试这些规则和流程。

要创建 Red Hat Process Automation Manager 集群开发环境,您必须执行以下任务:

  1. 在每个要成为集群节点的系统中配置以下组件:

    • 使用 Red Hat Data Grid 7.3 配置 Red Hat JBoss EAP 7.3。

      Red Hat Data Grid 基于 Infinispan 开源软件项目构建。它是一个分布式内存键/值数据存储,它具有索引功能,可让您快速、搜索和分析大量数据。在 Red Hat Process Automation Manager 集群环境中,它可让您在集群节点中执行复杂高效的搜索。

    • 配置 AMQ Broker,一个 Java 消息传递服务器(JMS)代理。

      JMS 代理是一个软件组件,它接收消息,将其存储在本地,并将消息转发到接收者。AMQ Broker 可让您的应用程序与任何消息传递供应商通信。它指定消息驱动的 Bean、企业站和 servlet 等组件如何发送或接收消息。

    • 配置 NFS 文件服务器。
  2. 下载 Red Hat JBoss EAP 7.3 和 Red Hat Process Automation Manager 7.11,然后在将作为集群节点的每个系统上安装它们。
  3. 在集群的每个节点中配置和启动 Business Central。

28.1. 安装和配置 Red Hat Data Grid

要在集群节点间更有效地搜索,请安装 Red Hat Data Grid 并为 Red Hat Process Automation Manager 集群环境进行配置。

有关 Red Hat Data Grid 高级安装和配置选项以及 Red Hat JBoss EAP 的 Red Hat Data Grid 模块的详情,请参考 Red Hat Data Grid 用户指南

注意

不要在与 Business Central 相同的节点上安装 Red Hat Data Grid。

先决条件

  • 已安装与 Java 8.0 或更高版本兼容的 Java 虚拟机(JVM)环境。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品: Data Grid
    • Version: 7.3
  2. 下载并提取 Red Hat JBoss Data Grid 7.3.0 Server (jboss-datagrid-7.3.0-1-server.zip)安装文件到您系统上的首选位置。在以下示例中,提取的目录称为 JDG_HOME
  3. 将 Red Hat Data Grid 更新至最新版本。如需更多信息,请参阅 Red Hat Data Grid Red Hat Data Grid 用户指南
  4. 要运行 Red Hat Data Grid,请导航到 JDG_HOME/bin 并输入以下命令:

    $ ./standalone.sh -c clustered.xml -b <HOST>

    <HOST > 替换为您要安装 Red Hat Data Grid 的服务器的 IP 地址或主机名。

28.2. 下载并配置 AMQ Broker

Red Hat AMQ Broker 可让您的应用程序与任何消息传递供应商通信。它指定消息驱动的 Bean、企业站和 servlet 等组件如何发送或接收消息。

有关高级安装和配置选项的详情,请参考 开始使用 AMQ Broker

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • Product: AMQ Broker
    • Version: 7.8.1
  2. Red Hat AMQ Broker 7.8.1 (amq-broker-7.8.1-bin.zip)旁边的 Download
  3. 提取 amq-broker-7.8.1-bin.zip 文件。
  4. 将目录更改为 amq-broker-7.8.1-bin/amq-broker-7.8.1/bin
  5. 输入以下命令来创建代理和代理用户:

    ./artemis create --host <HOST> --user <AMQ_USER> --password <AMQ_PASSWORD> --require-login <BROKER_NAME>

    在本例中,替换以下占位符:

    • <HOST > 是安装 AMQ Broker 的服务器的 IP 地址或主机名。
    • <AMQ_USER > 和 <AMQ_PASSWORD > 是您选择的用户名和密码组合。
    • <BROKER_NAME > 是您要创建的代理的名称。
  6. 要运行 AMQ Broker,请导航到 amq-broker-7.8.1-bin/amq-broker-7.8.1/bin 目录并输入以下命令:

    <BROKER_NAME>/bin/artemis run

28.3. 配置 NFS 版本 4 服务器

Business Central 集群环境需要带有共享文件系统的 NFS 版本 4 服务器,每个客户端节点必须有权访问共享文件系统。

流程

  1. 配置服务器以导出 NFS 版本 4 共享。有关在 Red Hat Enterprise Linux 上导出 NFS 共享的说明,请参阅 管理文件系统 中的 导出 NFS 共享。有关创建 NFS 服务器的详情,请参考 如何在 RHEL 7 中配置 NFS
  2. 在服务器上,在文本编辑器中打开 /etc/exports 文件。
  3. /etc/exports 文件中添加以下行,其中 <HOST_LIST > 是由空格分隔的 IP 地址和选项列表,它们被授权连接到服务器:

    /opt/kie/data <HOST_LIST>

    例如:

    /opt/kie/data 192.268.1.0/24(rw,sync) 192.268.1.1/24(no_root_squash)

    这会创建一个 /opt/kie/data 共享,其中包含 NFS 所需的 rw,sync,no_root_squash 最低选项。

    注意

    您可以使用不同的共享名称而不是 /opt/kie/data。如果这样做,您必须在配置运行 Business Central 的所有节点时使用不同的名称。

28.4. 下载并提取 Red Hat JBoss EAP 7.3 和 Red Hat Process Automation Manager

在集群的每个节点上下载并安装 Red Hat JBoss EAP 7.3 和 Red Hat Process Automation Manager 7.11。

流程

  1. 在集群的每个节点上下载 Red Hat JBoss EAP 7.3:

    1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

      • 产品 :企业级 Application Platform
      • Version: 7.3
    2. Red Hat JBoss Enterprise Application Platform 7.3.0 旁边的 Download。(JBEAP-7.3.0/jboss-eap-7.3.0.zip).
  2. 提取 jboss-eap-7.3.0.zip 文件。在以下步骤中,EAP_HOMEjboss-eap-7.3/jboss-eap-7.3 目录。
  3. 下载并应用最新的红帽 JBoss EAP 补丁(如果有)。
  4. 在集群的每个节点上下载 Red Hat Process Automation Manager:

    1. 导航到红帽客户门户网站中的 Software Downloads 页面,然后从下拉菜单中选择产品和版本:

      • 产品 :流程自动化管理器
      • Version: 7.11
    2. 下载 Red Hat Process Automation Manager 7.11.0 Business Central Deployable for Red Hat JBoss EAP 7 (rhpam-7.11.0-business-central-eap7-deployable.zip)。
  5. rhpam-7.11.0-business-central-eap7-deployable.zip 文件提取到临时目录中。在以下命令中,此目录名为 TEMP_DIR
  6. TEMP_DIR/rhpam-7.11.0-business-central-eap7-deployable/jboss-eap-7.3 的内容复制到 EAP_HOME
  7. 下载并应用最新的 Red Hat Process Automation Manager 补丁(如果有)。
  8. 为您的高可用性环境配置 Red Hat Single Sign-On。如需更多信息,请参阅将 Red Hat Process Automation Manager 与红帽单点登录集成和 Red Hat Single Sign-On 服务器管理指南

28.5. 在集群中配置和运行 Business Central

安装 Red Hat JBoss EAP 和 Business Central 后,您可以使用 Red Hat Data Grid 和 AMQ Broker 来配置集群。在集群的每个节点中完成以下步骤。

注意

这些步骤描述了基本的集群配置。有关更复杂的配置,请参阅 Red Hat JBoss EAP 7.3 配置指南

注意

不要在内部环境中,在高可用性(HA)中将 KIE 服务器连接到 Business Central。

Business Central 实例无法与每个 KIE 服务器的状态保持同步。例如,如果 KIE 服务器已启动但没有同步,则 Business Central 将无法通过该实例部署。

先决条件

流程

  1. 要将 NFS 共享的目录挂载为 /data,请以 root 用户身份输入以下命令:

    mkdir /data
    mount <NFS_SERVER_IP>:<DATA_SHARE> /data

    <NFS_SERVER_IP > 替换为 NFS 服务器的系统的 IP 地址或主机名。将 <DATA_SHARE > 替换为您配置的共享名称(例如: /opt/kie/data)。

  2. /data NFS 目录中创建一个 kie-wb-playground 目录:

    mkdir /kie-wb-playground
  3. EAP_HOME/bin 目录中创建一个 kie-wb-playground 目录并挂载该目录:

    mount -o rw,sync,actimeo=1 <NFS_SERVER_IP>:<DATA_SHARE>/kie-wb-playground kie-wb-playground
  4. 在文本编辑器中打开 EAP_HOME/standalone/configuration/standalone-full.xml 文件。
  5. 编辑或添加 < system-properties& gt; 元素下的属性,并替换以下占位符:

    • <AMQ_USER & gt; 和 <AMQ_PASSWORD > 是您在创建 AMQ Broker 时定义的凭证。
    • <AMQ_BROKER_IP_ADDRESS > 是 AMQ Broker 的 IP 地址。
    • <DATA_GRID_NODE_IP > 是安装 Red Hat Data Grid 的 IP 地址。

      <system-properties>
        <property name="appformer-jms-connection-mode" value="REMOTE"/>
        <property name="appformer-jms-username" value="<AMQ_USER>"/>
        <property name="appformer-jms-password" value="<AMQ_USER_PASSWORD>"/>
        <property name="appformer-jms-url"
           value="tcp://<AMQ_BROKER_IP_ADDRESS>:61616?ha=true&amp;retryInterval=1000&amp;retryIntervalMultiplier=1.0&amp;reconnectAttempts=-1"/>
        <property name="org.appformer.ext.metadata.infinispan.port"
           value="11222"/>
        <property name="org.appformer.ext.metadata.infinispan.host"
           value="<DATA_GRID_NODE_IP>"/>
        <property name="org.appformer.ext.metadata.infinispan.realm"
           value="ApplicationRealm"/>
        <property name="org.appformer.ext.metadata.infinispan.cluster"
           value="kie-cluster"/>
        <property name="org.appformer.ext.metadata.index"
           value="infinispan"/>
        <property name="org.uberfire.nio.git.dir"
           value="/data"/>
        <property name="es.set.netty.runtime.available.processors"
           value="false"/>
      </system-properties>
  6. 可选: 如果 Red Hat Data Grid 部署需要身份验证,在 < system-properties&gt; 元素下编辑或添加属性,并替换以下占位符:

    • <SERVER_NAME > 是 Red Hat Data Grid 服务器配置中指定的服务器名称。
    • <SASL_QOP > 是 Red Hat Data Grid 服务器配置的 auth、auth-int 和 auth-conf 值的组合。

      <property name="org.appformer.ext.metadata.infinispan.server.name"
         value="<SERVER_NAME>"/>
      <property name="org.appformer.ext.metadata.infinispan.sasl.qop"
         value="<SASL_QOP>"/>
      <property name="org.appformer.ext.metadata.infinispan.username"
         value=""/>
      <property name="org.appformer.ext.metadata.infinispan.password"
         value=""/>
  7. 保存 standalone-full.xml 文件。
  8. 要启动集群,请导航到 EAP_HOME/bin 并输入以下命令:

    $ ./standalone.sh -c standalone-full.xml -b <HOST>

    <HOST > 替换为安装 Red Hat Process Automation Manager 的服务器的 IP 地址或主机名。

28.6. 测试内部基础架构的高可用性(HA)

当您为 Business Central 创建生产就绪的高可用性(HA)内部基础架构时,您必须确保它满足可行 HA 环境的最低硬件和性能要求。HA 内部基础架构包括以下四个主要组件: Business Central、消息系统(AMQ)、索引服务器(Red Hat Data Grid)和共享文件系统(NFS/GlusterFS/Ceph)。

先决条件

  • 至少 3 个节点的网络环境使用以下布局进行配置:

    节点 1: Business Central

    节点 2: Business Central

    节点 3:AMQ、Red Hat Data Grid 和 NFS

流程

  1. 测试网络速度:

    1. 在每个服务器节点的命令终端中,安装 iPerf3

      $ dnf install iperf3
    2. 在 NFS 服务器节点的命令终端中(服务器节点 3),以服务器模式启动 iPerf3

      $ iperf3 -s
    3. 在每个 Business Central 服务器节点的命令终端中,输入以下命令在客户端模式中启动 iPerf3,并将 NFS 服务器节点设置为主机:

      $ iperf3 -c <NFS_SERVER_IP>
      +
      In this example, replace `<NFS_SERVER_IP>` with the IP address of the NFS server.
    4. 将每个服务器节点的结果与以下最小值示例进行比较:

      iperf3 -c 172.31.47.103
      Connecting to host 172.31.47.103, port 5201
      [  5] local 172.31.39.4 port 44820 connected to 172.31.47.103 port 5201
      [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
      [  5]   0.00-1.00   sec   143 MBytes  1.20 Gbits/sec    0    419 KBytes
      [  5]   1.00-2.00   sec   111 MBytes   928 Mbits/sec    6    848 KBytes
      [  5]   2.00-3.00   sec  53.8 MBytes   451 Mbits/sec    0   1.08 MBytes
      [  5]   3.00-4.00   sec  52.5 MBytes   440 Mbits/sec    1   1022 KBytes
      [  5]   4.00-5.00   sec  53.8 MBytes   451 Mbits/sec    1    935 KBytes
      [  5]   5.00-6.00   sec  53.8 MBytes   451 Mbits/sec    1    848 KBytes
      [  5]   6.00-7.00   sec  52.5 MBytes   440 Mbits/sec    0   1.08 MBytes
      [  5]   7.00-8.00   sec  53.8 MBytes   451 Mbits/sec    1   1.01 MBytes
      [  5]   8.00-9.00   sec  53.8 MBytes   451 Mbits/sec    1    953 KBytes
      [  5]   9.00-10.00  sec  52.5 MBytes   440 Mbits/sec    1    856 KBytes
      - - - - - - - - - - - - - - - - - - - - - - - - -
      [ ID] Interval           Transfer     Bitrate         Retr
      [  5]   0.00-10.00  sec   680 MBytes   570 Mbits/sec   12             sender
      [  5]   0.00-10.04  sec   677 MBytes   566 Mbits/sec                  receiver
      
      iperf Done.
  2. 验证 NFS 信息:

    1. 在每个 Business Central 服务器节点的命令终端中挂载 NFS 节点:

      $ mount -o actimeo=1 <NFS_SERVER_IP>:/opt/nfs/kie /opt/kie/niogit
    2. 在每个挂载的节点的命令终端中,输入 nfsiostat

      $ nfsiostat
    3. 将每个服务器节点的结果与以下最小值示例进行比较:

      nfsiostat
      ops/s	rpc bklog
      6.415	0.000
      
      read:
      ops/s	kB/s	kB/op	retrans	avg RTT (ms)	avg exe (ms)	avg queue (ms)	errors
      0.031	0.045	1.452	0 (0.0%)	0.129		0.166		0.019		0 (0.0%)
      
      write:
      ops/s	kB/s	kB/op	retrans	avg RTT (ms)	avg exe (ms)	avg queue (ms)	errors
      0.517	0.467	0.903	0 (0.0%)	1.235		1.269		0.01 8		0 (0.0%)
  3. 验证磁盘是否是 SSD:

    1. 在 NFS 服务器的命令终端中,输入 df -h 来识别磁盘,如下例所示:

      $ df -h
      Filesystem               Size  Used Avail Use% Mounted on
      devtmpfs                 3.8G     0  3.8G   0% /dev
      tmpfs                    3.9G     0  3.9G   0% /dev/shm
      tmpfs                    3.9G   33M  3.8G   1% /run
      tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
      /dev/xvda2                25G  3.2G   22G  13% /
      tmpfs                    781M     0  781M   0% /run/user/1000
      172.31.47.103:/root/nfs   25G  2.1G   23G   9% /root/nfs
    2. 输入 lsblk -d 来验证磁盘是否为 SSD:

      $ lsblk -d
    3. 输入 hdparm -Tt 来测试磁盘:

      $ hdparm -Tt /dev/xvda2
    4. 将每个服务器节点的结果与以下最小值示例进行比较:

      $ hdparm -Tt /dev/xvda2
      
      /dev/xvda2:
       Timing cached reads:   18670 MB in  1.99 seconds = 9389.01 MB/sec
       Timing buffered disk reads: 216 MB in  3.03 seconds =  71.40 MB/sec

28.7. 验证 Red Hat Process Automation Manager 集群

为 Red Hat Process Automation Manager 配置集群后,创建一个资产来验证安装是否正常工作。

流程

  1. 在 Web 浏览器中,输入 &lt ;node-IP-address>:8080/business-central。将 <node-IP-address > 替换为特定节点的 IP 地址。
  2. 输入您在安装过程中创建的 admin 用户凭证。此时会出现 Business Central 主页。
  3. 选择 MenuDesignProjects
  4. 打开 MySpace 空间。
  5. Try SamplesMortgagesOK。此时会出现 Assets 窗口。
  6. Add AssetData Object
  7. Data Object 字段中输入 MyDataObject,然后单击 OK
  8. SpacesMySpaceMortgages,并确认 MyDataObject 位于资产列表中。
  9. 在网页浏览器中输入以下 URL,其中 &lt ;node_IP_address > 是集群不同节点的地址:

    http://<node_IP_address>:8080/business-central

  10. 输入您用来登录到第一个节点上的 Business Central 的相同凭证,其中创建 MyDataObject 资产。
  11. 选择 MenuDesignProjects
  12. 打开 MySpace 空间。
  13. 选择 Mortgages 项目。
  14. 验证 MyDataObject 是否在 asset 列表中。
  15. 删除 Mortgages 项目。

第 29 章 运行时环境中的 KIE 服务器集群

在运行时,KIE 服务器运行包含支持商业决策的规则和流程的服务。集群 KIE 服务器运行时环境的主要优点是负载平衡。如果集群的一个节点上的活动会增加,则该活动可以在集群的其他节点间共享,以提高性能。

要创建 KIE 服务器集群的运行时环境,您可以下载并提取 Red Hat JBoss EAP 7.3 和 KIE Server。然后,您要为集群配置 Red Hat JBoss EAP 7.3,启动集群,并在每个集群节点上安装 KIE Server。

然后,您还可以集群无头 Process Automation Manager 控制器和智能路由器。

注意

不要在内部环境中,在高可用性(HA)中将 KIE 服务器连接到 Business Central。

Business Central 实例无法与每个 KIE 服务器的状态保持同步。例如,如果 KIE 服务器已启动但没有同步,则 Business Central 将无法通过该实例部署。

29.1. 下载并提取 Red Hat JBoss EAP 7.3 和 KIE 服务器

完成本节中的步骤,以下载并安装 Red Hat JBoss EAP 7.3 和 KIE 服务器以便在集群环境中安装。

流程

  1. 在集群的每个节点上下载 Red Hat JBoss EAP 7.3:

    1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

      • 产品 :企业级 Application Platform
      • Version: 7.3
    2. Red Hat JBoss Enterprise Application Platform 7.3.0. (jboss-eap-7.3.0.zip)旁边的 Download
  2. 提取 jboss-eap-7.3.0.zip 文件。jboss-eap-7.3/jboss-eap-7.3 目录称为 EAP_HOME
  3. 下载并应用最新的红帽 JBoss EAP 补丁(如果有)。
  4. 下载 KIE 服务器:

    1. 导航到红帽客户门户网站中的 Software Downloads 页面,然后从下拉菜单中选择产品和版本:

      • 产品 :流程自动化管理器
      • Version: 7.11
    2. 下载 Red Hat Process Automation Manager 7.11.0 KIE Server for All supported EE8 Containers (rhpam-7.11.0-kie-server-ee8.zip)。
  5. rhpam-7.11.0-kie-server-ee8.zip 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  6. TEMP_DIR/rhpam-7.11.0-kie-server-ee8/rhpam-7.11.0-kie-server-ee8/kie-server.war 目录复制到 EAP_HOME/standalone/deployments/

    警告

    确保您复制的 Red Hat Process Automation Manager 部署的名称与 Red Hat JBoss EAP 实例中的现有部署不冲突。

  7. TEMP_DIR/rhpam-7.11.0-kie-server-ee8/rhpam-7.11.0-kie-server-ee8/SecurityPolicy/ 的内容复制到 EAP_HOME/bin
  8. 当提示覆盖文件时,点 replace
  9. EAP_HOME/standalone/deployments/ 目录中,创建一个名为 kie-server.war.dodeploy 的空文件。此文件可确保服务器启动时自动部署 KIE 服务器。
  10. 下载并应用最新的 Red Hat Process Automation Manager 补丁(如果有)。
  11. 导航到 EAP_HOME/bin 目录。
  12. 创建一个具有您用来登录到 KIE 服务器的 kie-server 角色的用户。

    $ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
  13. 记录您的用户名和密码。

29.2. 为 KIE 服务器配置并运行 Red Hat JBoss EAP 7.3 集群

为 KIE 服务器配置 Red Hat JBoss EAP 集群,然后启动集群。

流程

  1. 在所有属于此群集的红帽 JBoss EAP 实例上安装 JDBC 驱动程序。有关更多信息,请参阅 Red Hat JBoss EAP 7.3 配置指南中的 "恢复驱动程序 "部分
  2. 在文本编辑器中打开 EAP_HOME/standalone/configuration/standalone-full.xml 文件。
  3. 编辑 data-stores 属性和以上的 timer-service thread-pool-name

    • datasource-jndi-name 是此流程开始时指定的数据库的 JNDI 名称。
    • 您可以为 partition 属性的值输入任何名称。但是,节点只会看到具有相同分区名称的其他节点的计时器。通过分配分区名称将节点分组到分区中,您可以将大型集群分成几个较小的集群。这样做提高了性能。例如,除了具有 100 个节点的集群外,所有 100 个节点都试图执行并刷新同一计时器,您可以通过为每个包括 5 个节点的组指定一个不同的分区名称来创建 20 个每个包括 5 个节点的集群。
    • default-data-store 属性值替换为 ejb_timer_ds
    • 以毫秒为单位设置 refresh-interval 的值,以指定 EJB 计时器连接到数据库的频率,以同步和加载要处理的任务。

      <timer-service thread-pool-name="default" default-data-store="ejb_timer_ds">
      <data-stores>
          <database-data-store name="ejb_timer_ds" datasource-jndi-name="java:jboss/datasources/ejb_timer" database="postgresql" partition="ejb_timer_part" refresh-interval="30000"/>
      </data-stores>
      </timer-service>

      下表列出了支持的数据库和对应的 数据库 属性值:

      表 29.1. 支持的数据库
      数据库属性值

      Hyper SQL (仅用于演示目的,不支持)

      hsql

      PostgreSQL

      postgresql

      Oracle

      oracle

      IBM DB2

      db2

      Microsoft SQL Server

      mssql

      MySQL and MariaDB

      mysql

  4. 将 KIE 服务器和 EJB 计时器数据源添加到 standalone-full.xml 文件中。在这些示例中,&lt ;DATABASE& gt; 是数据库的名称,< SERVER_NAME&gt; 是 JNDI 数据库的主机名,< USER_NAME> 和 & lt;USER_PWD > 是该数据库的凭证。

    • 添加数据源以允许 KIE 服务器连接到数据库,例如:

      <xa-datasource jndi-name="java:/jboss/datasources/rhpam" pool-name="rhpam-RHPAM" use-java-context="true" enabled="true">
        <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property>
        <xa-datasource-property name="PortNumber">5432</xa-datasource-property>
        <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property>
        <driver>postgresql</driver>
        <security>
          <user-name><USER_NAME></user-name>
          <password><USER_PWD></password>
      </security>
      </xa-datasource>
    • 添加数据源以启用 EJB 计时器,例如:

      <xa-datasource jndi-name="java:jboss/datasources/ejb_timer" pool-name="ejb_timer" use-java-context="true" enabled="true">
          <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property>
          <xa-datasource-property name="PortNumber">5432</xa-datasource-property>
          <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property>
          <driver>postgresql</driver>
          <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
          <security>
              <user-name><USER_NAME></user-name>
              <password><USER_PWD></password>
          </security>
      </xa-datasource>
      警告

      您必须将两个不同的数据库用于 KIE 服务器运行时数据和 EJB 计时器数据。

  5. 在 < system-properties > 元素中添加以下属性,并替换以下占位符:

    • <JNDI_NAME > 是数据源的 JNDI 名称。对于 Red Hat Process Automation Manager,这是 java:/jboss/datasources/rhpam
    • <DIALECT> 是数据库的休眠位置。

      支持以下 dialects:

      • DB2: org.hibernate.dialect.DB2Dialect
      • MSSQL: org.hibernate.dialect.SQLServer2012Dialect
      • MySQL: org.hibernate.dialect.MySQL5InnoDBDialect
      • MariaDB: org.hibernate.dialect.MySQL5InnoDBDialect
      • Oracle: org.hibernate.dialect.Oracle10gDialect
      • PostgreSQL: org.hibernate.dialect.PostgreSQL82Dialect
      • PostgreSQL 加上: org.hibernate.dialect.PostgresPlusDialect

        <system-properties>
          <property name="org.kie.server.persistence.ds" value="<JNDI_NAME>"/>
          <property name="org.kie.server.persistence.dialect" value="<DIALECT>"/>
          <property name="org.jbpm.ejb.timer.tx" value="true"/>
        </system-properties>
  6. 保存 standalone-full.xml 文件。
  7. 要启动集群,请导航到 EAP_HOME/bin 并输入以下命令之一:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh -c standalone-full.xml
    • 对于 Windows:

      standalone.bat -c standalone-full.xml

29.3. 使用无头进程自动化管理器控制器集群 KIE 服务器

Process Automation Manager 控制器与 Business Central 集成。但是,如果您没有安装 Business Central,您可以安装无头流程自动化管理器控制器,并使用 REST API 或 KIE Server Java 客户端 API 与其交互。

先决条件

  • 提供了备份的 Red Hat JBoss EAP 安装版本 7.3 或更高版本。Red Hat JBoss EAP 安装的主目录称为 EAP_HOME
  • 授予足够的用户权限来完成安装。
  • 具有共享文件夹的 NFS 服务器可用,如 第 28.3 节 “配置 NFS 版本 4 服务器” 所述。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 :流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 Add Ons ( rhpam-7.11.0-add-ons.zip 文件)。
  3. 提取 rhpam-7.11.0-add-ons.zip 文件。rhpam-7.11.0-controller-ee7.zip 文件位于提取的目录中。
  4. rhpam-7.11.0-controller-ee7 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  5. TEMP_DIR/rhpam-7.11.0-controller-ee7/controller.war 目录复制到 EAP_HOME/standalone/deployments/

    警告

    确保您复制的无头流程自动化管理器控制器部署的名称不会与 Red Hat JBoss EAP 实例中的现有部署冲突。

  6. TEMP_DIR/rhpam-7.11.0-controller-ee7/SecurityPolicy/ 目录的内容复制到 EAP_HOME/bin
  7. 当提示覆盖文件时,请单击 Yes
  8. EAP_HOME/standalone/deployments/ 目录中,创建一个名为 controller.war.dodeploy 的空文件。此文件可确保服务器启动时自动部署无头 Process Automation Manager 控制器。
  9. 在文本编辑器中打开 EAP_HOME/standalone/configuration/standalone.xml 文件。
  10. 在 < system-properties> 元素中添加以下属性,并将 &lt ;NFS_STORAGE > 替换为存储模板配置的 NFS 存储的绝对路径:

    <system-properties>
      <property name="org.kie.server.controller.templatefile.watcher.enabled" value="true"/>
      <property name="org.kie.server.controller.templatefile" value="<NFS_STORAGE>"/>
    </system-properties>

    模板文件包含特定部署场景的默认配置。

    如果 org.kie.server.controller.templatefile.watcher.enabled 属性的值被设置为 true,则会启动单独的线程来监控模板文件的修改。这些检查的默认间隔为 30000 毫秒,可由 org.kie.server.controller.templatefile.watcher.interval 系统属性进一步控制。如果此属性的值设为 false,则仅在服务器重启时检测到对模板文件的更改。

  11. 要启动无头 Process Automation Manager 控制器,请导航到 EAP_HOME/bin 并输入以下命令:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./standalone.sh
    • 对于 Windows:

      standalone.bat

29.4. 在失败的 KIE 服务器节点上,以 RUNNING 状态的作业配置故障转移

默认情况下,当多个 KIE 服务器节点在集群中运行时,如果一个 KIE Server 节点失败,其他可用的 KIE 服务器节点会从失败的 KIE 服务器节点获取 QUEUEDRETRYING 状态中的任何作业。但是,这些节点不会获取处于 RUNNING 状态的作业。

您可以将集群配置为包含 RUNNING 状态的作业,以重新排队到另一个 KIE 服务器节点。如果在失败的 KIE 服务器节点上的进程中有一个计时器启动节点,则该进程只在其中一个节点上启动。

先决条件

  • 您已为 KIE 服务器配置了 Red Hat JBoss EAP 集群。

流程

  1. 准备环境:

    1. 验证 standalone.xml 文件中是否存在以下扩展,并根据需要添加它们:

      <extension module="org.jboss.as.clustering.infinispan"/>
      <extension module="org.jboss.as.clustering.jgroups"/>
    2. standalone.xml 文件中,找到 & lt;subsystem xmlns="urn:jboss:domain:infinispan:9.0" > 子系统,并创建一个名为 jbpm 的缓存,其中包含名为 节点的 缓存以及一个名为 作业 的缓存,如下例所示:

      <cache-container name="jbpm">
        <transport lock-timeout="60000"/>
        <replicated-cache name="nodes">
            <transaction mode="BATCH"/>
        </replicated-cache>
        <replicated-cache name="jobs">
            <transaction mode="BATCH"/>
        </replicated-cache>
      </cache-container>
    3. 为复制和分布式缓存添加 jgroups 子系统:

      <subsystem xmlns="urn:jboss:domain:jgroups:7.0">
          <channels default="ee">
              <channel name="ee" stack="udp" cluster="ejb"/>
          </channels>
          <stacks>
              <stack name="udp">
                  <transport type="UDP" socket-binding="jgroups-udp"/>
                  <protocol type="PING"/>
                  <protocol type="MERGE3"/>
                  <socket-protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
                  <protocol type="FD_ALL"/>
                  <protocol type="VERIFY_SUSPECT"/>
                  <protocol type="pbcast.NAKACK2"/>
                  <protocol type="UNICAST3"/>
                  <protocol type="pbcast.STABLE"/>
                  <protocol type="pbcast.GMS"/>
                  <protocol type="UFC"/>
                  <protocol type="MFC"/>
                  <protocol type="FRAG3"/>
                </stack>
                <stack name="tcp">
                  <transport type="TCP" socket-binding="jgroups-tcp"/>
                  <socket-protocol type="MPING" socket-binding="jgroups-mping"/>
                  <protocol type="MERGE3"/>
                  <socket-protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                  <protocol type="FD_ALL"/>
                  <protocol type="VERIFY_SUSPECT"/>
                  <protocol type="pbcast.NAKACK2"/>
                  <protocol type="UNICAST3"/>
                  <protocol type="pbcast.STABLE"/>
                  <protocol type="pbcast.GMS"/>
                  <protocol type="MFC"/>
                  <protocol type="FRAG3"/>
                </stack>
            </stacks>
          </subsystem>
    4. 配置以下接口:

      <interface name="private">
          <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
      </interface>
    5. 配置以下套接字:

      <socket-binding name="jgroups-mping" interface="private" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
      
        <socket-binding name="jgroups-tcp" interface="private" port="7600"/>
        <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/>
        <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
        <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/>
  2. 将 Infinispan 扩展添加到 KIE 服务器:

    1. 在文本编辑器中打开 kie-server.war/WEB-INF/jboss-deployment-structure.xml 文件,并将以下依赖项添加到文件中:

          <module name="org.infinispan" services="export"/>
          <module name="org.jgroups" />
    2. 下载 JAR 文件。

      1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

        • 产品 : 流程自动化管理器
        • Version: 7.11
      2. 下载 Red Hat Process Automation Manager 7.11.0 Maven Repository (rhpam-7.11.0-maven-repository.zip)并提取 ZIP 文件。
      3. 导航到包含提取文件的目录,并将 maven-repository/org/kie/server/kie-server-services-jbpm-cluster/7.52.0.Final-redhat-00007/kie-server-services-jbpm-cluster-7.52.0.Final-redhat-00007.jar 文件复制到 kie-server.war/WEB-INF/lib 目录中。

现在,集群被配置为将故障切换用于 RUNNING 状态的作业。

第 30 章 安装和配置智能路由器

智能路由器(KIE 服务器路由器)是一个轻量级 Java 组件,您可以用作多个 KIE 服务器、客户端应用程序和其他组件之间的集成层。根据您的部署和执行环境,智能路由器可以聚合多个独立的 KIE 服务器实例,就像它们是单一服务器一样。智能路由器提供以下功能:

数据聚合
当有客户端应用程序请求时,从所有 KIE 服务器实例(一个实例)收集数据,并汇总单个响应。
路由
作为一个单一端点,它接收从客户端应用程序到任何服务的调用,并将每个调用自动路由到运行特定服务的 KIE 服务器。这意味着 KIE 服务器不需要部署相同的服务。
负载平衡
提供有效的负载平衡。智能路由器集群的负载均衡请求必须使用标准负载平衡工具从外部管理。
身份验证
使用系统属性标志验证 KIE 服务器实例,并可启用 HTTPS 流量。
环境管理
管理更改环境,例如添加或删除服务器实例。

30.1. 使用智能路由器进行负载均衡 KIE 服务器实例

您可以使用智能路由器来聚合多个独立的 KIE 服务器实例,就像它们是一个单一服务器一样。它执行智能负载平衡器的角色,因为它可以将请求路由到单独的 KIE 服务器实例,并从不同的 KIE 服务器实例聚合数据。智能路由器使用别名作为代理执行。

先决条件

  • 安装了多个 KIE 服务器实例。

    注意

    您不需要将 KIE 服务器配置为智能路由器的非受管服务器。

    非受管 KIE 服务器不连接到控制器。例如,如果您将非受管 KIE 服务器连接到智能路由器,并将智能路由器注册到控制器,则 Business Central 通过使用智能路由器联系非受管 KIE 服务器。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 :流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 将下载的 rhpam-7.11.0-add-ons.zip 文件提取到临时目录中。rhpam-7.11.0-smart-router.jar 文件位于提取的 rhpam-7.11.0-add-ons 目录中。
  4. rhpam-7.11.0-smart-router.jar 文件复制到您要运行该文件的位置。
  5. 输入以下命令启动智能路由器:

    java
    -Dorg.kie.server.router.host=<ROUTER_HOST>
    -Dorg.kie.server.router.port=<ROUTER_PORT>
    -Dorg.kie.server.controller=<CONTROLLER_URL>
    -Dorg.kie.server.controller.user=<CONTROLLER_USER>
    -Dorg.kie.server.controller.pwd=<CONTROLLER_PWD>
    -Dorg.kie.server.router.config.watcher.enabled=true
    -Dorg.kie.server.router.repo=<NFS_STORAGE>
    -jar rhpam-7.11.0-smart-router.jar

    上一命令中的属性具有以下默认值:

    org.kie.server.router.host=localhost
    org.kie.server.router.port=9000
    org.kie.server.controller= N/A
    org.kie.server.controller.user=kieserver
    org.kie.server.controller.pwd=kieserver1!
    org.kie.server.router.repo= <CURRENT_WORKING_DIR>
    org.kie.server.router.config.watcher.enabled=false

    org.kie.server.controller 是服务器控制器的 URL,例如:

    org.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller

    org.kie.server.router.config.watcher.enabled 是一个可选设置,以启用 watcher 服务系统属性。

  6. 在必须连接到智能路由器的每个 KIE 服务器实例上,将 org.kie.server.router 系统属性设置为 Smart Router URL。
  7. 要从客户端访问智能路由器,请使用 Smart Router URL 而不是 KIE Server URL,例如:

    KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");

    在本例中,m router.example.com 是智能路由器 URL,USERNAMEPASSWORD 是智能路由器配置的凭据。

  8. 要在 umanaged KIE 服务器中创建新容器,以便您可以使用示例数据填充它,请发送以下 HTTP 请求:

    $ curl -v -X POST -H 'Content-type: application/xml' -H 'X-KIE-Content-Type: xstream' -d @create-container.xml -u ${KIE_CRED} http://${KIE-SERVER-HOST}:${KIE-SERVER-PORT}/kie-server/services/rest/server/config/
  9. 查看 create-container.xml 文件的内容:

    <script>
      <create-container>
        <container container-id="example:timer-test:1.1">
          <release-id>
            <group-id>example</group-id>
            <artifact-id>timer-test</artifact-id>
            <version>1.1</version>
          </release-id>
          <config-items>
            <itemName>RuntimeStrategy</itemName>
            <itemValue>PER_PROCESS_INSTANCE</itemValue>
            <itemType></itemType>
          </config-items>
        </container>
      </create-container>
    </script>

    智能路由器控制台中会显示有关已部署容器的消息。例如:

    INFO: Added http://localhost:8180/kie-server/services/rest/server as server location for container example:timer-test:1.1
  10. 要显示容器列表,请输入以下命令:

    $ curl http://localhost:9000/mgmt/list

    此时会显示容器列表:

    {
      "containerInfo": [{
        "alias": "timer-test",
        "containerId": "example:timer-test:1.1",
        "releaseId": "example:timer-test:1.1"
      }],
      "containers": [
        {"example:timer-test:1.1": ["http://localhost:8180/kie-server/services/rest/server"]},
        {"timer-test": ["http://localhost:8180/kie-server/services/rest/server"]}
      ],
      "servers": [
        {"kieserver2": []},
        {"kieserver1": ["http://localhost:8180/kie-server/services/rest/server"]}
      ]
    }
  11. 要使用智能路由器 URL 启动进程,请输入以下命令:

    $ curl -s -X POST -H 'Content-type: application/json' -H 'X-KIE-Content-Type: json' -d '{"timerDuration":"9s"}' -u kieserver:kieserver1! http://localhost:9000/containers/example:timer-test:1.1/processes/timer-test.TimerProcess/instances

30.2. 为 TLS 配置智能路由器

您可以为传输层安全(TLS)支持配置智能路由器(KIE Server Router),以允许 HTTPS 流量。另外,您可以禁用到智能路由器的不安全 HTTP 连接。

先决条件

流程

要启动智能路由器,请使用以下方法之一:

  • 要启动启用了 TLS 支持的智能路由器,并启用 HTTPS 并允许 HTTP 连接,请输入以下命令:

    java  -Dorg.kie.server.router.tls.keystore = <KEYSTORE_PATH>
          -Dorg.kie.server.router.tls.keystore.password = <KEYSTORE_PASSWORD>
          -Dorg.kie.server.router.tls.keystore.keyalias = <KEYSTORE_ALIAS>
          -Dorg.kie.server.router.tls.port = <HTTPS_PORT>
          -jar rhpam-7.11.0-smart-router.jar

    在本例中,替换以下变量:

  • <KEYSTORE_PATH > :存储密钥存储的路径。
  • <KEYSTORE_PASSWORD > :密钥存储密码。
  • <KEYSTORE_ALIAS > :用于存储证书的别名名称。
  • <HTTPS_PORT& gt; :HTTPS 端口。默认 HTTPS 端口为 9443
  • 要启动带有 TLS 支持的智能路由器,并启用 HTTPS 并禁用 HTTP 连接,请输入以下命令:

    java  -Dorg.kie.server.router.tls.keystore = <KEYSTORE_PATH>
          -Dorg.kie.server.router.tls.keystore.password = <KEYSTORE_PASSWORD>
          -Dorg.kie.server.router.tls.keystore.keyalias = <KEYSTORE_ALIAS>
          -Dorg.kie.server.router.tls.port = <HTTPS_PORT>
          -Dorg.kie.server.router.port=0
          -jar rhpam-7.11.0-smart-router.jar

    org.kie.server.router.port 系统属性设置为 0 时,不会注册 HTTP 侦听器。如果配置了 TLS 且未注册 HTTP 侦听器,则智能路由器仅侦听 HTTPS 端口。

    注意

    如果没有配置 TLS,且您可以通过将 org.kie.server.router.port 设置为 0 来禁用 HTTP,则会出现错误,并停止智能路由器。

30.3. 为端点身份验证配置智能路由器

您可以配置智能路由器(KIE 服务器路由器)进行端点身份验证。

先决条件

流程

  • 要启动启用了端点身份验证的智能路由器,请配置管理凭证:

    1. 在您的 KIE 服务器配置中添加以下属性:

      `org.kie.server.router.management.username`
      `org.kie.server.router.management.password`

      默认 用户名是 KIE 服务器 ID。

    2. 在智能路由器配置中添加以下属性:

      `org.kie.server.router.management.password`

      password 属性值为 truefalse (默认)。

    注意

    启用端点身份验证意味着任何列出的操作,添加或删除容器都必须被身份验证。

    1. 可选:将用户添加到智能路由器。例如:

      java -jar rhpam-7.11.0-smart-router.jar -addUser <USERNAME> <PASSWORD>
    2. 可选:从智能路由器中删除用户。例如:

      java -jar rhpam-7.11.0-smart-router.jar -removeUser <USERNAME>

30.4. 配置智能路由器行为

在具有多个 KIE 服务器的集群环境中,默认行为是并行向每个 KIE 服务器发送请求,每个 KIE 服务器的主机都使用"round-robin"方法发送请求。在以下示例中,每个 KIE 服务器都使用相同的 KJAR 部署,但每个 KJAR 版本都不同:

表 30.1. 环境示例
服务器名称KJAR 版本主机

kie-server1

kjar:1.0 (alias=kjar, group-id=com.example, artifact-id=sample-kjar, version=1.0)

129.0.1.1, 129.0.1.2, 129.0.1.3

kie-server2

kjar:2.0 (alias=kjar, group-id=com.example, artifact-id=sample-kjar, version=2.0)

129.0.2.1, 129.0.2.2, 129.0.2.3

kie-server3

kjar:3.0 (alias=kjar, group-id=com.example, artifact-id=sample-kjar, version=3.0)

129.0.3.1, 129.0.3.2, 129.0.3.3

如果您发送请求,请求将发送到 kie-server1 (129.0.1.2), kie-server2 (129.0.2.3), 和 kie-server3 (129.0.3.1)。

如果您发送第二个请求,则该请求将发送到每个 KIE 服务器的下一个主机。例如: kie-server1 (129.0.1.3), kie-server2 (129.0.2.1), 和 kie-server3 (129.0.3.2)

智能路由器有三个组件,您可以修改以更改此行为:

ContainerResolver
负责查找与服务器交互时要使用的容器 ID 的组件。
RestrictionPolicy
负责禁止智能路由器使用特定端点的组件。
ConfigRepository
负责维护智能路由器配置的组件。这主要与路由表相关。
IdentityService
负责使用自己的身份提供程序的组件。这适用于 KIE 服务器实例。

智能路由器使用 ServiceLoader 工具来实现这些组件:

ContainerResolver
META-INF/services/org.kie.server.router.spi.ContainerResolver
RestrictionPolicy
META-INF/services/org.kie.server.router.spi.RestrictionPolicy
ConfigRepository
META-INF/services/org.kie.server.router.spi.ConfigRepository
IdentityService
META-INF/services/org.kie.server.router.identity.IdentityService

例如,对于以上场景,您可以自定义 ContainerResolver,以便在所有可用 KIE 服务器中搜索 KJAR 进程的最新版本,并且始终从该进程开始。这意味着每个 KIE 服务器都托管一个 KJAR,每个版本将共享相同的别名。

由于智能路由器是可执行的 jar,因此若要包含扩展,您需要修改该命令。例如:

java -cp LOCATION/router-ext-7.11.0.redhat-00005.jar:rhpam-7.11.0-smart-router.jar org.kie.server.router.KieServerRouter

启动该服务后,您将看到指示用于组件的实现的日志输出:

Mar 01, 2017 1:47:10 PM org.kie.server.router.KieServerRouter <init>
INFO: KIE Server router repository implementation is InMemoryConfigRepository
Mar 01, 2017 1:47:10 PM org.kie.server.router.proxy.KieServerProxyClient <init>
INFO: Using 'LatestVersionContainerResolver' container resolver and restriction policy 'ByPassUserNotAllowedRestrictionPolicy'
Mar 01, 2017 1:47:10 PM org.xnio.Xnio <clinit>
INFO: XNIO version 3.3.6.Final
Mar 01, 2017 1:47:10 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.3.6.Final
Mar 01, 2017 1:47:11 PM org.kie.server.router.KieServerRouter start
INFO: KieServerRouter started on localhost:9000 at Wed Mar 01 13:47:11 CET 2017

第 31 章 配置 Quartz 计时器服务

当您在集群中运行 KIE Server 时,您可以配置 Quartz 计时器服务。

在应用服务器中配置数据库前,您必须准备 Quartz 的数据库,以创建 Quartz 表,该表将存放计时器数据和 Quartz 定义文件。

先决条件

  • 支持的非JTA 数据源连接到应用服务器,如 PostgreSQL 数据源。

流程

  1. 在数据库中创建 Quartz 表,使计时器事件能够使用您的数据库的 DDL 脚本同步。

    DDL 脚本位于 QUARTZ_HOME/docs/dbTables 中提取的 ZIP 存档中。

    注意

    包含单词 drop 的脚本,如 quartz_tables_drop_db2.sql 在创建前丢弃 Quartz 表。

  2. JBOSS_HOME/MODE/configuration/ 目录中创建 Quartz 配置文件 quartz-definition.properties,并添加以下示例内容:

    #=========================================================================
    # Configure Main Scheduler Properties
    #=========================================================================
    org.quartz.scheduler.instanceName = jBPMClusteredScheduler
    org.quartz.scheduler.instanceId = AUTO
    #=========================================================================
    # Configure ThreadPool
    #=========================================================================
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount = 5
    org.quartz.threadPool.threadPriority = 5
    #=========================================================================
    # Configure JobStore
    #=========================================================================
    org.quartz.jobStore.misfireThreshold = 60000
    org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
    org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
    org.quartz.jobStore.useProperties=false
    org.quartz.jobStore.dataSource=managedDS
    org.quartz.jobStore.nonManagedTXDataSource=notManagedDS
    org.quartz.jobStore.tablePrefix=QRTZ_
    org.quartz.jobStore.isClustered=true
    org.quartz.jobStore.clusterCheckinInterval = 20000
    #=========================================================================
    # Configure Datasources
    #=========================================================================
    org.quartz.dataSource.managedDS.jndiURL=jboss/datasources/psbpmsDS
    org.quartz.dataSource.notManagedDS.jndiURL=jboss/datasources/quartzNotManagedDS
    # Note the configured data sources that accommodate the two Quartz schemes at the very end of the file.
    重要

    集群发现的建议间隔为 20 秒,在 quartz-definition.properties 文件的 org.quartz.jobStore.clusterCheckinInterval 属性中设置。考虑对您的系统的性能影响,并根据需要修改设置。

  3. org.quartz.properties 属性中提供到 quartz-definition.properties 文件的绝对路径。
  4. 可选: 要为 Quartz 触发器配置重试和延迟次数,请更新以下系统属性:

    • org.jbpm.timer.quartz.retries (默认值为 5)
    • org.jbpm.timer.quartz.delay (默认值为 1000)
注意

默认情况下,Qrtz 需要两个数据源:

  • 参与进程引擎事务的受管数据源。
  • 非受管数据源用来查找触发的计时器,而无需任何事务处理

Red Hat Process Automation Manager 新应用程序假定 Quartz 数据库(schema)将与 Red Hat Process Automation Manager 表共存,因此生成用于 Quartz 的事务操作的数据源。

必须配置其他(非事务)数据源,但应指向与主数据源相同的数据库。

第 32 章 其他资源

部分 IV. 在 Red Hat JBoss Web Server 上安装和配置 Red Hat Process Automation Manager

本文档论述了如何在 JBoss Web 服务器上安装 Red Hat Process Automation Manager 7.11。

注意

现在,在 Red Hat JBoss Web Server 和 Apache Tomcat 上对 Red Hat Process Automation Manager 的支持处于维护阶段。红帽将继续在这些平台上支持 Red Hat Process Automation Manager,但有以下限制:

  • 红帽不会发布新的认证或软件功能。
  • 红帽只会发布具有严重影响和关键任务程序错误修复的合格安全补丁。

未来,红帽可能会指示客户迁移到与红帽混合云策略兼容的新平台和产品组件。

先决条件

第 33 章 关于 Red Hat Process Automation Manager

Red Hat Process Automation Manager 是用于创建自动化应用程序和微服务的红帽中间件。它使企业业务和 IT 用户能够记录、模拟、管理、自动化和监控业务流程和策略。它旨在加快业务和 IT 用户更有效地合作,因此可以轻松、快速地更改业务应用程序。

Red Hat Process Automation Manager 由 Business Central 和 KIE Server 组成。

  • KIE 服务器是执行规则和其他工件的服务器。它用于实例化和执行规则并解决规划问题。KIE 服务器为业务资产提供运行时环境,并访问存储在资产存储库中的数据(确认存储)。
  • Business Central 是一个图形用户界面,您可以创建和管理 KIE 服务器执行的新规则。它可让您执行以下任务:

    • 创建、管理和编辑您的规则、流程和相关资产。
    • 管理连接的 KIE 服务器实例及其 KIE 容器(部署单元)。
    • 对连接到 Business Central 的 KIE 服务器实例中的进程和任务执行运行时操作。

      Business Central 也作为独立 JAR 文件提供。您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。

Red Hat JBoss Web Server 是一个企业就绪的 Web 服务器,专为基于 Tomcat 的中型和大型应用程序而设计。Red Hat JBoss Web Server 为机构提供了一个用于 Java Server Pages (JSP)和 Java Servlet 技术、PHP 和 Dan 的单个部署平台。

在 Red Hat JBoss Web Server 安装中,您可以安装 KIE Server 和无头流程 Automation Manager 控制器。或者,您可以运行独立的 Business Central JAR 文件。

本文档中的说明解释了如何在 Red Hat JBoss Web Server 实例中安装 Red Hat Process Automation Manager。

有关如何在其他环境中安装 Red Hat Process Automation Manager 的说明,请查看以下文档:

有关支持的组件的详情,请查看以下文档:

33.1. Red Hat Process Automation Manager 组件

Red Hat Process Automation Manager 由 Business Central 和 KIE Server 组成。

  • Business Central 是创建和管理新规则的图形用户界面。您可以在 Red Hat JBoss EAP 实例或 Red Hat OpenShift Container Platform (OpenShift)上安装 Business Central。

    Business Central 也作为独立 JAR 文件提供。您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。

  • KIE 服务器是执行规则和其他工件的服务器。它用于实例化和执行规则并解决规划问题。您可以在 Red Hat JBoss EAP 实例中、Red Hat JBoss EAP 集群、OpenShift、在 Oracle WebLogic 服务器实例、IBM WebSphere Application Server 实例或 Spring Boot 应用程序的一部分安装 KIE 服务器。

    您可以将 KIE 服务器配置为以受管或非受管模式运行。如果 KIE Server 是非受管服务器,您必须手动创建和维护 KIE 容器(部署单元)。KIE 容器是项目的特定版本。如果管理 KIE 服务器,则 Process Automation Manager 控制器管理 KIE 服务器配置,并与 Process Automation Manager 控制器交互,以创建和维护 KIE 容器。

    在 Red Hat JBoss Web Server 安装中,您可以安装 KIE Server 和无头流程 Automation Manager 控制器。或者,您可以运行独立的 Business Central JAR 文件。

33.2. Red Hat Process Automation Manager 角色和用户

要访问 Business Central 或 KIE 服务器,您必须创建用户并在服务器启动前为其分配适当的角色。在安装 Business Central 或 KIE Server 时,您可以创建用户和角色。

Business Central 和 KIE 服务器使用 Java 身份验证和授权服务(JAAS)登录模块来验证用户。如果 Business Central 和 KIE 服务器都在单个实例上运行,则它们共享相同的 JAAS 主题和安全域。因此,为 Business Central 进行身份验证的用户可以访问 KIE 服务器。

但是,如果 Business Central 和 KIE 服务器在不同实例上运行,则会单独为这两者触发 JAAS 登录模块。因此,必须为 Business Central 进行身份验证的用户必须单独进行身份验证才能访问 KIE 服务器。例如,如果在 Business Central 上进行身份验证,但没有在 KIE 服务器上进行身份验证的用户会尝试在 Business Central 中查看或管理进程定义,则会在日志文件中记录 401 错误,以及 Invalid 凭证从远程服务器加载数据。请联系您的系统管理员。 信息会出现在 Business Central 中。

本节论述了 Red Hat Process Automation Manager 用户角色。

注意

admin, analyst, developer, manager, process-admin, user, 和 rest-all 角色为 Business Central 保留。kie-server 角色是为 KIE 服务器保留的。因此,可用的角色可能会根据 Business Central、KIE Server 或两者的不同而有所不同。

  • 管理 :具有 admin 角色的用户 是 Business Central 管理员。他们可以管理用户并创建、克隆和管理存储库。它们具有在应用程序中进行必要的更改的完整访问权限。具有 admin 角色的用户有权访问 Red Hat Process Automation Manager 中的所有区域。
  • 架构师 :具有 领导 角色的用户有权访问所有高级别功能。它们可以建模并执行他们的项目。但是,这些用户无法在 Design → Projects 视图中添加空格或删除空格。带有 analyst 角色的用户没有访问 Deploy → Execution Servers 视图(面向管理员)的访问权限。但是,当这些用户访问 Library 透视图时,可以使用 Deploy 按钮。
  • 开发人员 :具有 开发人员 角色的用户有权访问几乎所有功能,并可管理规则、模型、流程、表单和仪表板。它们可以管理资产存储库,他们可以创建、构建和部署项目。只有创建和克隆新存储库等某些管理功能对于具有 开发人员 角色的用户是隐藏的。
  • Manager:具有 管理器 角色的用户可以查看报告。这些用户通常对业务流程及其性能、商业指标和其他与业务相关的报告相关统计信息感兴趣。具有此角色的用户只能访问进程和任务报告。
  • process-admin :具有 process-admin 角色的用户是商业流程管理员。他们完全访问业务流程、业务任务和执行错误。这些用户也可以查看业务报告,并可访问 Task Inbox 列表。
  • 用户 :具有 用户角色 的用户可以在 Task Inbox 列表中工作,其中包含属于当前运行的进程一部分的业务任务。具有此角色的用户可以查看进程和任务报告和管理进程。
  • rest-all :具有 rest-all 角色的用户可以访问 Business Central REST 功能。
  • kie-server :具有 kie-server 角色的用户可以访问 KIE 服务器 REST 功能。对于需要访问 Business Central 中的 ManageTrack 视图的用户,这个角色是必须的。

第 34 章 下载 Red Hat Process Automation Manager 安装文件

您可以使用安装程序 JAR 文件或可部署的 ZIP 文件来安装 Red Hat Process Automation Manager。您可以在互动或命令行界面(CLI)模式下运行安装程序。或者,您可以提取并配置 Business Central 和 KIE Server 可部署 ZIP 文件。如果要在不将其部署到应用服务器的情况下运行 Business Central,请下载 Business Central Standalone JAR 文件。

下载符合您环境和安装要求的 Red Hat Process Automation Manager 发行版。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 根据您的首选安装方法下载以下产品发行版本之一:

    注意

    您只需要下载其中一个发行版。

    • 如果要使用安装程序在 Red Hat JBoss Web Server 上安装 Red Hat Process Automation Manager,请下载 Red Hat Process Automation Manager 7.11.0 Installer (rhpam-installer-7.11.0.jar)。安装程序图形用户界面指导您完成安装过程。
    • 要使用可部署的 ZIP 文件在 Red Hat JBoss Web Server 上安装 KIE 服务器,请下载以下文件:

      • Red Hat Process Automation Manager 7.11.0 Add Ons (rhpam-7.11.0-add-ons.zip)
      • Red Hat Process Automation Manager 7.11.0 Maven Repository (rhpam-7.11.0-maven-repository.zip)
    • 要在不需要将其部署到应用服务器的情况下运行 Business Central,请下载 Red Hat Process Automation Manager 7.11.0 Business Central Standalone (rhpam-7.11.0-business-central-standalone.jar)。

第 35 章 使用 Red Hat Process Automation Manager 安装程序

本节描述了如何使用安装程序 JAR 文件安装 Business Central 和 KIE 服务器。JAR 文件是一个可执行文件,可在现有 Red Hat JBoss Web Server 5.4.0 服务器安装中安装 Red Hat Process Automation Manager。您可以在互动或命令行界面(CLI)模式下运行安装程序。

后续步骤:

按照以下部分之一中的说明操作:

35.1. 在互动模式中使用安装程序

Red Hat Process Automation Manager 的安装程序是一个可执行 JAR 文件。您可以使用它来在现有 Red Hat JBoss Web Server 5.4.0 服务器安装中安装 Red Hat Process Automation Manager。

注意

为安全起见,您应该以非 root 用户身份运行安装程序。

先决条件

  • 已下载 Red Hat Process Automation Manager 7.11.0 安装程序。具体说明请查看 第 34 章 下载 Red Hat Process Automation Manager 安装文件
  • 已安装受支持的 JDK。有关支持的 JDK 列表,请参阅 Red Hat Process Automation Manager 7 支持的配置
  • 提供了备份的 Red Hat JBoss Web Server 5.4.0 服务器安装。
  • 授予足够的用户权限来完成安装。

    注意

    确保您已使用具有 Tomcat 写入权限的用户登录。

  • JAR 二进制文件包含在 $PATH 环境变量中。在 Red Hat Enterprise Linux 上,它包含在 java-$JAVA_VERSION-openjdk-devel 软件包中。

    注意

    Red Hat Process Automation Manager 旨在使用 UTF-8 编码。如果底层 JVM 使用不同的编码系统,则可能会出现意外错误。为确保 JVM 使用 UTF-8,请使用 "-Dfile.encoding=UTF-8" 系统属性。有关系统属性列表,请参阅 附录 B, Business Central 系统属性

流程

  1. 在终端窗口中,导航到您下载安装程序 JAR 文件的目录,并输入以下命令:

    java -jar rhpam-installer-7.11.0.jar
    注意

    在 Windows 上运行安装程序时,可能会在安装过程中提示您提供管理员凭证。要防止此要求,请在安装命令中添加 izpack.mode=privileged 选项:

    java -Dizpack.mode=privileged -jar
    rhpam-installer-7.11.0.jar

    另外,当在 32 位 Java 虚拟机上运行安装程序时,您可能会遇到内存限制。要防止这个问题,请运行以下命令:

    java -XX:MaxHeapSize=4g -jar
    rhpam-installer-7.11.0.jar

    图形安装程序显示 splash 屏幕和许可证协议页面。

  2. 单击 我接受此许可协议条款, 然后单击 Next
  3. 指定您要安装 Red Hat Process Automation Manager 的 Red Hat JBoss Web Server 5.4.0 服务器主页,然后单击 Next
  4. 选择您要安装的组件,然后点 Next

    您不能在 Red Hat JBoss Web Server 上安装 Business Central。您只能在红帽 JBoss EAP 上安装它。但是,您可以在 Red Hat JBoss Web Server 上安装 KIE 服务器和无头流程自动化管理器控制器。无头流程自动化管理器控制器用于管理 KIE 服务器。如果您计划管理多个 KIE 服务器实例,请安装无头流程自动化管理器控制器。

  5. 创建用户并点 Next。默认情况下,如果您在同一容器中同时安装 Business Central 和 KIE 服务器,则新用户被授予 adminkie-serverrest-all 角色。如果您只安装 KIE 服务器,则会授予用户 kie-server 角色。访问 KIE 服务器 REST 功能需要 kie-server 角色。

    注意

    确保指定的用户名与现有用户、角色或组不同。例如,不要创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符,但不能包括 & (ampersand)。

    记录用户名和密码。您需要他们访问 Business Central 和 KIE 服务器。

  6. Installation Overview 页面中,查看您要安装的组件并点 Next 开始安装。
  7. 安装完成后,点 Next
  8. 如果安装了 KIE Server,则 Configure Runtime 步骤会出现在 组件安装 下。在 Configure Runtime Environment 页面中,选择执行默认安装或执行高级配置。

    如果您选择 执行高级配置,您可以选择配置数据库设置或自定义某些 KIE 服务器选项。

  9. 如果您选择 Customize database settings,在 JDBC Drive Configuration 页面中指定数据源 JDBC 驱动程序供应商,选择一个或多个驱动程序 JAR 文件,然后单击 Next

    数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 KIE 服务器配置数据源,以确保服务器和指定数据库之间的正确数据交换。

  10. 如果您选择了 Customize KIE Server properties,在 KIE Server Properties Configuration 页面中会更改以下任何属性:

    • 更改 KIE 服务器 ID 的值,以更改 KIE Server 属性的值。
    • 取消选择您要禁用的任何 KIE 服务器功能。
  11. Next 配置运行时环境。
  12. 当在屏幕的顶部出现 Processing finished 时,点 Next 来完成安装。
  13. 可选:点 Generate Installation Script and Properties File 将安装数据保存到 XML 文件中,然后点 Done

    安装程序生成两个文件。auto.xml 文件自动执行将来的安装,auto.xml.variables 文件存储用户密码和其他敏感变量。使用 auto.xml 文件在多个系统上重复安装 Red Hat Process Automation Manager 安装,其服务器类型相同,以及与原始安装相同的配置。如有必要,更新 auto.xml 文件中的 installpath 参数。要使用 XML 文件执行安装,请输入以下命令:

    java -jar rhpam-installer-7.11.0.jar <path-to-auto.xml-file>

已使用安装程序成功安装 Red Hat Process Automation Manager。如果您只安装 Business Central,请重复这些步骤来在单独的服务器上安装 KIE 服务器。

注意

如果您使用 Microsoft SQL Server,请确保您为数据库配置了适用的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATIONREAD_COMMITTED_SNAPSHOT

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

35.2. 在 CLI 模式中使用安装程序

您可以使用命令行界面(CLI)来运行 Red Hat Process Automation Manager 安装程序。

注意

为安全起见,您应该以非 root 用户身份运行安装程序。

先决条件

  • 已下载 Red Hat Process Automation Manager 7.11.0 安装程序。具体说明请查看 第 34 章 下载 Red Hat Process Automation Manager 安装文件
  • 已安装受支持的 JDK。有关支持的 JDK 列表,请参阅 Red Hat Process Automation Manager 7 支持的配置
  • 提供了备份的 Red Hat JBoss Web Server 5.4.0 服务器安装。
  • 授予足够的用户权限来完成安装。

    注意

    确保您已使用具有 Tomcat 写入权限的用户登录。

  • JAR 二进制文件包含在 $PATH 环境变量中。在 Red Hat Enterprise Linux 上,它包含在 java-$JAVA_VERSION-openjdk-devel 软件包中。

    注意

    Red Hat Process Automation Manager 旨在使用 UTF-8 编码。如果底层 JVM 使用不同的编码系统,则可能会出现意外错误。为确保 JVM 使用 UTF-8,请使用 "-Dfile.encoding=UTF-8" 系统属性。有关系统属性列表,请参阅 附录 B, Business Central 系统属性

流程

  1. 在终端窗口中,导航到您下载安装程序文件的目录,并输入以下命令:

    java -jar rhpam-installer-7.11.0.jar -console

    命令行交互式进程将启动并显示最终用户许可证协议。

    press 1 to continue, 2 to quit, 3 to redisplay.
  2. 阅读许可证协议,输入 1,然后按 Enter 键继续:

    Specify the home directory of one of the following servers:  Red Hat JBoss EAP 7 or Red Hat JBoss Web Server 5. For more information, see https://access.redhat.com/articles/3405381[Red Hat Process Automation Manager 7 Supported Configurations].
  3. 输入现有 Red Hat JBoss Web Server 5.4.0 安装的父目录。

    安装程序将在提供的位置验证安装的位置。输入 1 以确认并继续。

  4. 按照安装程序中的说明完成安装。

    注意

    当您创建用户名和密码时,请确保指定的用户名与角色或组的任何已知标题不冲突。例如,如果有一个名为 admin 的角色,您不应创建名为 admin 的用户。

    密码必须至少有 8 个字符,且必须至少包含一个数字,以及一个非字母数字字符(不能包括字符 &)。

    记录用户名和密码。您需要他们访问 Business Central 和 KIE 服务器。

  5. 安装完成后,您将看到这个信息:

    Would you like to generate an automatic installation script and properties file?
  6. 输入 y 来创建包含安装数据的 XML 文件,或 n 完成安装。如果输入 y,系统会提示您指定 XML 文件的路径。
  7. 输入路径或按 Enter 键接受推荐的路径。

    安装程序生成两个文件。auto.xml 文件自动执行将来的安装,auto.xml.variables 文件存储用户密码和其他敏感变量。在多个系统中使用 auto.xml 文件,在与原始安装相同的配置相同的服务器上轻松重复 Red Hat Process Automation Manager 安装。如有必要,更新 auto.xml 文件中的 installpath 参数。要使用 XML 文件执行安装,请输入以下命令:

    java -jar rhpam-installer-7.11.0.jar <path-to-auto.xml-file>
  8. 如果您只安装 KIE 服务器,请重复这些步骤,以便在单独的服务器上安装无头进程自动化管理器控制器。
注意

如果您使用 Microsoft SQL Server,请确保您为数据库配置了适用的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT :

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

第 36 章 KIE Server ZIP 文件安装和配置

您可以使用客户门户网站上的 rhpam-7.11.0-kie-server-jws.zip 文件安装 KIE 服务器,该文件来自 Red Hat Process Automation Manager 7.11.0 Add Ons (rhpam-7.11.0-add-ons.zip)文件,然后在 Red Hat JBoss Web Server 上配置 Java 数据库连接(DSL) Web 服务器数据源。

36.1. 从 ZIP 文件安装 KIE 服务器

KIE 服务器为业务资产提供运行时环境,并访问存储在资产存储库中的数据(确认存储)。您可以使用 ZIP 文件在现有 Red Hat JBoss Web Server 5.4.0 服务器实例上安装 KIE 服务器。

注意

要使用安装程序 JAR 文件安装 KIE 服务器,请参阅 第 35 章 使用 Red Hat Process Automation Manager 安装程序

  • 下载以下文件,如 第 34 章 下载 Red Hat Process Automation Manager 安装文件 所述:

    • Red Hat Process Automation Manager 7.11.0 Add Ons (rhpam-7.11.0-add-ons.zip)
    • Red Hat Process Automation Manager 7.11.0 Maven Repository (rhpam-7.11.0-maven-repository.zip)
  • 提供了备份的 Red Hat JBoss Web Server 5.4.0 服务器安装。Red Hat JBoss Web Server 安装的基本目录称为 JWS_HOME
  • 授予足够的用户权限来完成安装。

流程

  1. 提取 rhpam-7.11.0-add-ons.zip 文件。
  2. 从提取的 rhpam-7.11.0-add-ons.zip 文件中提取以下文件:

    • rhpam-7.11.0-kie-server-jws.zip
    • rhpam-7.11.0-process-engine.zip

    在以下说明中,包含提取的 rhpam-7.11.0-kie-server-jws.zip 文件的目录名为 JWS_TEMP_DIR,包含提取的 rhpam-7.11.0-process-engine.zip 文件的目录称为 ENGINE_TEMP_DIR

  3. JWS_TEMP_DIR/rhpam-7.11.0-kie-server-jws/kie-server.war 目录复制到 JWS_HOME/tomcat/webapps 目录。

    注意

    确保您复制的 Red Hat Process Automation Manager 部署的名称与 Red Hat JBoss Web Server 实例中的现有部署不冲突。

  4. kie-server.war 目录中删除 .war 扩展。
  5. kie-tomcat-integration-7.52.0.Final-redhat-00007.jar 文件从 ENGINE_TEMP_DIR 目录移到 JWS_HOME/tomcat/lib 目录。
  6. jboss-jacc-api-<VERSION>.jarslf4j-api-<VERSION>.jarslf4j-jdk14-<VERSION>.jar 文件从 ENGINE_TEMP_DIR/lib 目录移到JWS_HOME/tomcat/lib 目录,其中 <VERSION > 是 lib 目录中的版本工件文件名。
  7. 在最后一个 Valve 定义后,将以下行添加到 JWS_HOME/tomcat/conf/server.xml 文件中的 < host > 元素中:

    <Valve className="org.kie.integration.tomcat.JACCValve" />
  8. 在文本编辑器中打开 JWS_HOME/tomcat/conf/tomcat-users.xml 文件。
  9. 将用户和角色添加到 JWS_HOME/tomcat/conf/tomcat-users.xml 文件中。在以下示例中,< ROLE_NAME&gt; 是 Red Hat Process Automation Manager 支持的角色。<USER_NAME><USER_PWD> 是您选择的用户名和密码:

    <role rolename="<ROLE_NAME>"/>
    <user username="<USER_NAME>" password="<USER_PWD>" roles="<ROLE_NAME>"/>

    如果用户有多个角色,如下例所示,使用逗号分隔角色:

    <role rolename="admin"/>
    <role rolename="kie-server"/>
    <user username="rhpamUser" password="user1234" roles="admin,kie-server"/>
  10. JWS_HOME/tomcat/bin 目录中完成以下步骤之一:

    • 在 Linux 或 UNIX 中,使用以下内容创建 setenv.sh 文件:

      CATALINA_OPTS="-Xmx1024m -Dorg.jboss.logging.provider=jdk"
    • 在 Windows 上,将以下内容添加到 setenv.bat 文件中:

      set CATALINA_OPTS=-Xmx1024m -Dorg.jboss.logging.provider=jdk
注意

如果您使用 Microsoft SQL Server,请确保为您的数据库有适当的事务隔离。如果没有,您可能会遇到死锁。建议的配置是通过输入以下语句来打开 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT :

ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON

36.2. 配置 JDBC Web 服务器数据源

Java 数据库连接(DSL)是一种 API 规范,用于将使用 Java 编写的程序连接到数据库。数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 KIE 服务器配置数据源,以确保服务器和指定数据库之间的正确数据交换。

通常,使用 Red Hat Process Automation Manager 的解决方案在一个事务中管理多个资源。JMS,用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序,以确保数据原子性和一致的结果。如果监听器中存在不同模式的事务代码,或来自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。

除非还没有参与单个事务的多个资源,否则请不要使用非 XA 数据源。

注意

对于生产环境,请指定实际的数据源。不要在生产环境中使用示例数据源。

先决条件

  • Red Hat Process Automation Manager 安装在 Red Hat JBoss Web Server 上。
  • Red Hat Process Automation Manager 7.11.x Maven Repository (rhpam-7.11.0-maven-repository.zip)和 Red Hat Process Automation Manager 7.11.x Add-Ons (rhpam-7.11.0-add-ons.zip)文件已被下载,如 第 34 章 下载 Red Hat Process Automation Manager 安装文件 所述。
  • 您需要配置以下支持的数据库和 Hibernate dialects 之一:

    • DB2: org.hibernate.dialect.DB2Dialect
    • MSSQL: org.hibernate.dialect.SQLServer2012Dialect
    • MySQL: org.hibernate.dialect.MySQL5InnoDBDialect
    • MariaDB: org.hibernate.dialect.MySQL5InnoDBDialect
    • Oracle: org.hibernate.dialect.Oracle10gDialect
    • PostgreSQL: org.hibernate.dialect.PostgreSQL82Dialect
    • PostgreSQL 加上: org.hibernate.dialect.PostgresPlusDialect
    • Sybase: org.hibernate.dialect.SybaseASE157Dialect

流程

  1. 完成以下步骤以准备您的数据库:

    1. rhpam-7.11.0-add-ons.zip 提取到临时目录中,例如 TEMP_DIR
    2. Extract TEMP_DIR/rhpam-7.11.0-migration-tool.zip.
    3. 将您的当前目录更改为 TEMP_DIR/rhpam-7.11.0-migration-tool/ddl-scripts 目录。此目录包含多个数据库类型的 DDL 脚本。
    4. 将数据库类型的 DDL 脚本导入到您要使用的数据库中,例如:

      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      注意

      如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,例如 /ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql

  2. 提取 rhpam-7.11.0-maven-repository.zip 离线 Maven 存储库文件。
  3. 将以下库从提取的离线 Maven 存储库复制到 JWS_HOME/tomcat/lib 文件夹,其中 VERSION 是该库的版本:

    org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/{VERSION}/jboss-transaction-api_1.2_spec-{VERSION}.jar
    org/jboss/integration/narayana-tomcat/{VERSION}/narayana-tomcat-{VERSION}.jar
    org/jboss/narayana/jta/narayana-jta/{VERSION}/narayana-jta-{VERSION}.jar
    org/jboss/jboss-transaction-spi/{VERSION}/jboss-transaction-spi-{VERSION}.jar
  4. 将数据库 JDBC 驱动程序复制到 JWS_HOME/tomcat/lib 文件夹。
  5. JWS_HOME/tomcat/conf/context.xml 文件中配置池 XA 数据源:

    注意

    以下示例中的一些属性可能不适用于您的数据库服务器。检查 JDBC 驱动程序的文档,以确定要设置哪些属性。

    1. 配置没有池功能的 XA 数据源。此 XA 数据源用于创建到目标数据库的新连接。在以下示例中,XA 数据源是 xads,变量在 表 36.1 “XA 数据源变量” 中定义:

      <?xml version="1.0" encoding="UTF-8"?>
      <Context>
      <Resource
      auth="Container"
      databaseName="${datasource.dbName}"
      description="XA Data Source"
      factory="org.apache.tomcat.jdbc.naming.GenericNamingResourcesFactory" loginTimeout="0"
      name="xads"
      uniqueName="xads"
      portNumber="${datasource.port}"
      serverName="${datasource.hostname}"
      testOnBorrow="false"
      type="${datasource.class}"
      url="${datasource.url}"
      URL="${datasource.url}"
      user="${datasource.username}"
      password="${datasource.password}"
      driverType="4"
      schema="${datasource.schema}"
      />
      </Context>
      表 36.1. XA 数据源变量
      变量描述

      <datasource.dbName>

      数据库的名称。

      <datasource.port>

      数据库的端口号。

      <datasource.hostname>

      数据库主机的名称。

      <datasource.class>

      JDBC 驱动程序的 XADataSource 类。

      <datasource.url>

      JDBC 数据库连接 URL。对于某些数据库,URL 属性是 url,其他数据库(如 H2 数据库)此属性是 URL

      <datasource.username>

      数据库连接的用户名。

      <datasource.password>

      数据库连接的密码。

      <datasource.schema>

      数据库架构。

    2. 配置一个池数据源,它依赖于 XA 数据源创建新连接。在本例中,数据源是 poolingXaDs,&lt;datasource.username > 是数据库连接的用户名,&lt ;datasource.password > 是数据库连接的密码:

      <?xml version="1.0" encoding="UTF-8"?>
      <Context>
      <Resource
      name="poolingXaDs"
      uniqueName="poolingXaDs"
      auth="Container"
      description="Pooling XA Data Source" factory="org.jboss.narayana.tomcat.jta.TransactionalDataSourceFactory" testOnBorrow="true"
      transactionManager="TransactionManager" transactionSynchronizationRegistry="TransactionSynchronizationRegistry" type="javax.sql.XADataSource"
      username="${datasource.username}"
      password="${datasource.password}"
      xaDataSource="xads"
      />
      </Context>

      数据源现在位于 java:comp/env/poolingXaDs JNDI 名称下,并通过 org.kie.server.persistence.ds 系统属性将其传递给 KIE 服务器,如下一步所述。

      注意

      池数据源配置依赖于之前在 kie-server 应用的 context.xml 文件中配置的其他资源,特别是 TransactionManagerTransactionSynchronizationRegistry

  6. 将 KIE 服务器配置为使用数据源:

    1. 在文本编辑器中打开以下脚本之一:

      注意

      setenv.shsetenv.bat 脚本应该已经存在。但是,如果没有,请创建它。

      • 对于 Linux 或 Unix:

        JWS_HOME/tomcat/bin/setenv.sh
      • 对于 Windows:

        JWS_HOME/tomcat/bin/setenv.bat
    2. CATALINA_OPS 中添加以下属性,其中 & lt;hibernate.dialect > 是数据库的 Hibernate dialect:

      CATALINA_OPTS="-Xmx1024m
      -Dorg.jboss.logging.provider=jdk
      -Dorg.kie.server.persistence.ds=java:comp/env/poolingXaDs
      -Dorg.kie.server.persistence.tm=JBossTS
      -Dorg.kie.server.persistence.dialect=${<hibernate.dialect>}"

第 37 章 使用密钥存储保护密码

您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。

将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。使用 KeyTool (作为 JDK 安装的一部分)创建新的 JCEKS。

注意

如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。

先决条件

  • KIE 服务器在 Red Hat JBoss Web Server 中安装。
  • 安装了 Java 8 或更高版本。

流程

  1. 在文本编辑器中打开 JWS_HOME/tomcat/conf/tomcat-users.xml 文件。
  2. 将带有 kie-server 角色的 KIE Server 用户添加到 JWS_HOME/tomcat/conf/tomcat-users.xml 文件中。在以下示例中,将 &lt ;USER_NAME& gt ; 和 <PASSWORD > 替换为您选择的用户名和密码。

    <role rolename="kie-server"/>
    <user username="<USER_NAME>" password="<PASSWORD>" roles="kie-server"/>
  3. 要使用 KeyTool 创建 JCEKS,请在 Java 8 主目录中输入以下命令:

    $<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS

    在本例中,替换以下变量:

    • <KEYSTORE_PATH > :存储密钥存储的路径
    • <KEYSTORE_PASSWORD > :密钥存储密码
    • <ALIAS_KEY_PASSWORD > :用于访问别名存储的值的密码
    • <PASSWORD_ALIAS > :对进程的条目的别名
  4. 提示时,输入您创建的 KIE 服务器用户的密码。
  5. 要设置系统属性,请在 JWS_HOME/tomcat/bin 目录中完成以下步骤之一,并替换如下表所述的变量:

    注意

    如果 Business Central 或独立控制器安装在独立于 Red Hat JBoss Web 服务器的实例中,请不要将 kie.keystore.key.server.aliaskie.keystore.key.pwd 属性添加到 CATALINA_OPTS

    • 在 Linux 或 UNIX 中,使用以下内容创建 setenv.sh 文件:

      set CATALINA_OPTS="
      -Dkie.keystore.keyStoreURL=<KEYSTORE_URL>
      -Dkie.keystore.keyStorePwd=<KEYSTORE_PWD>
      -Dkie.keystore.key.server.alias=<KEY_SERVER_ALIAS>
      -Dkie.keystore.key.server.pwd=<KEY_SERVER_PWD>
      -Dkie.keystore.key.ctrl.alias=<KEY_CONTROL_ALIAS>
      -Dkie.keystore.key.ctrl.pwd=<KEY_CONTROL_PWD>
    • 在 Windows 上,将以下内容添加到 setenv.bat 文件中:

      set CATALINA_OPTS="
      -Dkie.keystore.keyStoreURL=<KEYSTORE_URL>
      -Dkie.keystore.keyStorePwd=<KEYSTORE_PWD>
      -Dkie.keystore.key.server.alias=<KEY_SERVER_ALIAS>
      -Dkie.keystore.key.server.pwd=<KEY_SERVER_PWD>
      -Dkie.keystore.key.ctrl.alias=<KEY_CONTROL_ALIAS>
      -Dkie.keystore.key.ctrl.pwd=<KEY_CONTROL_PWD>
    表 37.1. 用于载入 KIE 服务器 JCEKS 的系统属性
    系统属性占位符描述

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    要使用的 JCEKS 的 URL,如 file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS 的密码

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    保存密码的 REST 服务的密钥别名

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    使用存储的密码的 REST 服务的别名密码

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    存储密码的默认 REST Process Automation Controller 的密钥别名

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    使用存储密码的默认 REST Process Automation Controller 别名的密码

  6. 启动 KIE 服务器以验证配置。

第 38 章 验证 KIE 服务器安装

验证 KIE 服务器是否已正确安装。

先决条件

  • KIE Server 已安装并配置了。

流程

  1. 要启动 KIE Server,请在 JWS_HOME/tomcat/bin 目录中输入以下命令之一:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./startup.sh
    • 对于 Windows:

      startup.bat
  2. 几分钟后,查看 JWS_HOME/tomcat/logs 目录中的文件并更正任何错误。
  3. 要验证 KIE 服务器是否正常工作,请在网页浏览器中输入 http://localhost:8080/kie-server/services/rest/server
  4. 输入存储在 tomcat-users.xml 文件中的用户名和密码。

第 39 章 下载并安装无头进程自动化管理器控制器

您可以将 KIE 服务器配置为以受管或非受管模式运行。如果 KIE Server 是非受管服务器,您必须手动创建和维护 KIE 容器(部署单元)。如果管理 KIE 服务器,则 Process Automation Manager 控制器管理 KIE 服务器配置,并与 Process Automation Manager 控制器交互,以创建和维护 KIE 容器。

Process Automation Manager 控制器与 Business Central 集成。如果安装了 Business Central,请使用 Execution Server 页面创建和维护 KIE 容器。但是,如果您没有安装 Business Central,您可以安装无头流程自动化管理器控制器,并使用 REST API 或 KIE Server Java 客户端 API 与其交互。

先决条件

  • Red Hat Process Automation Manager 7.11.0 Add Ons (rhpam-7.11.0-add-ons.zip)文件已被下载,如 第 34 章 下载 Red Hat Process Automation Manager 安装文件 所述。
  • 提供了 Red Hat JBoss Web Server 5.4.0 服务器安装。Red Hat JBoss Web Server 安装的基本目录称为 JWS_HOME
  • 授予足够的用户权限来完成安装。

流程

  1. 提取 rhpam-7.11.0-add-ons.zip 文件。rhpam-7.11.0-controller-jws.zip 文件位于提取的目录中。
  2. rhpam-7.11.0-controller-jws.zip 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  3. TEMP_DIR/rhpam-7.11.0-controller-jws.zip/controller.war 目录复制到 JWS_HOME/tomcat/webapps 目录。

    注意

    确保您复制的 Red Hat Process Automation Manager 部署的名称与 Red Hat JBoss Web Server 实例中的现有部署不冲突。

  4. controller.war 目录中删除 .war 扩展。
  5. TEMP_DIR/rhpam-7.11.0-controller-jws/SecurityPolicy/ 目录的内容复制到 JWS_HOME/bin
  6. 当提示覆盖文件时,请选择 Yes
  7. kie-server 角色和用户添加到 JWS_HOME/tomcat/conf/tomcat-users.xml 文件中。在以下示例中,< USER_NAME&gt; 和 <PASSWORD > 是您选择的用户名和密码:

    <role rolename="kie-server"/>
    <user username="<USER_NAME>" password="<PASSWORD>" roles="kie-server"/>
  8. 在运行 KIE 服务器的实例的 JWS_HOME/tomcat/bin 目录中完成以下任务之一:

    • 在 Linux 或 UNIX 中,使用以下内容创建 setenv.sh 文件:

      CATALINA_OPTS="-Xmx1024m
       -Dorg.jboss.logging.provider=jdk
       -Dorg.kie.server.controller.user=<CONTROLLER_USER>
       -Dorg.kie.server.controller.pwd=<CONTROLLER_PWD>
       -Dorg.kie.server.id=<KIE_SERVER_ID>
       -Dorg.kie.server.location=http://<HOST>:<PORT>/kie-server/services/rest/server
       -Dorg.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller"
    • 在 Windows 上,将以下内容添加到 setenv.bat 文件中:

      set CATALINA_OPTS=-Xmx1024m -Dorg.jboss.logging.provider=jdk
       -Dorg.kie.server.controller.user=<CONTROLLER_USER>
       -Dorg.kie.server.controller.pwd=<CONTROLLER_PWD>
       -Dorg.kie.server.id=<KIE_SERVER_ID>
       -Dorg.kie.server.location=http://<HOST>:<PORT>/kie-server/services/rest/server
       -Dorg.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller

      在上例中,替换以下变量:

    • <CONTROLLER_USER > 和 < CONTROLLER_PWD > 替换为您在此流程前面定义的 kie-server 角色的用户名和密码。
    • <KIE_SERVER_ID > 替换为唯一标识符。
    • <CONTROLLER_HOST>:<CONTROLLER_PORT > 替换为控制器的 IP 地址(主机和端口)。如果您将相同的服务器用于 KIE 服务器和控制器,< CONTROLLER_HOST>:<CONTROLLER_PORT>localhost:8080
  9. 在运行无头 Process Automation Manager 控制器的实例的 JWS_HOME/tomcat/bin 目录中,创建一个包含以下内容的 setenv.sh 文件,其中 < USERNAME > 是 KIE Server 用户,& lt;USER_PWD > 是该用户的密码:

    CATALINA_OPTS="-Dorg.kie.server.user=<USERNAME> -Dorg.kie.server.pwd=<USER_PWD>"

  10. 要启动无头 Process Automation Manager 控制器,请在 JWS_HOME/tomcat/bin 目录中输入以下命令之一:

    • 在 Linux 或基于 UNIX 的系统上:

      $ ./startup.sh
    • 对于 Windows:

      startup.bat
  11. 几分钟后,查看 JWS_HOME/tomcat/logs 目录并更正任何错误。
  12. 要验证无头流程自动化管理器控制器是否正常工作,请在 web 浏览器中输入 http://<CONTROLLER_HOST>:<CONTROLLER_PORT>/controller/rest/controller/management/servers。如果您将相同的服务器用于 KIE 服务器和控制器,< CONTROLLER_HOST>:<CONTROLLER_PORT>localhost:8080
  13. 输入存储在 tomcat-users.xml 文件中的用户名和密码。

第 40 章 配置并运行独立 Business Central

您可以使用 Business Central 独立 JAR 文件来运行 Business Central,而无需将其部署到应用服务器。您可以使用示例配置文件从框中运行 Business Central standalone JAR 文件,或者根据您的要求自定义 sampfiles。

注意

只有在 Red Hat Enterprise Linux 上运行时才支持此 JAR 文件。

先决条件

流程

  1. 将下载的 rhpam-7.11.0-addons.zip 提取到临时目录中。此存档包含 rhpam-7.11.0-standalone-sample-configuration.zip 文件。
  2. rhpam-7.11.0-standalone-sample-configuration.zip 文件提取到包含 rhpam-7.11.0-business-central-standalone.jar 文件的目录。rhpam-7.11.0-standalone-sample-configuration.zip 文件包含以下示例配置文件:

    • application-roles.properties
    • application-users.properties
    • sample-standalone-config.yml

      您可以使用配置文件中提供的示例数据运行 rhpam-7.11.0-business-central-standalone.jar 文件,也可以根据您的要求自定义数据。

  3. 要自定义配置数据,请完成以下步骤:

    1. 编辑 application-users.properties 文件。包括一个管理用户,如果此 Business Central 实例将是 KIE 服务器的 Process Automation Manager 控制器,请包括一个 Process Automation Manager 控制器用户,例如:

      rhpamAdmin=password1
    2. 编辑 application-roles.properties 文件,将角色分配给您在 application-users.properties 文件中所含的用户,例如:

      rhpamAdmin=admin
      controllerUser=kie-server

      如需更多信息,请参阅 第 33.2 节 “Red Hat Process Automation Manager 角色和用户”

    3. 查看 sample-standalone-config.yml 配置文件的内容,并根据需要更新。
  4. 要运行 Business Central 独立 JAR 文件,请输入以下命令:

    java -jar rhpam-7.11.0-business-central-standalone.jar -s sample-standalone-config.yml
  5. 要在运行 JAR 文件时设置应用程序属性,请在命令中包含 -D<PROPERTY>=<VALUE > 参数,其中 & lt;PROPERTY > 是支持的应用程序属性的名称,&lt ;VALUE& gt; 是属性值:

    java -jar rhpam-7.11.0-business-central-standalone.jar -s sample-standalone-config.yml -D<PROPERTY>=<VALUE> -D<PROPERTY>=<VALUE>

    例如,要运行 Business Central 并以用户 controllerUser 连接到 KIE 服务器,请输入:

    java -jar rhpam-7.11.0-business-central-standalone.jar \
    -s sample-standalone-config.yml \
    -Dorg.kie.server.user=controllerUser
    -Dorg.kie.server.pwd=controllerUser1234

    这样,您可以将容器部署到 KIE 服务器中。请参阅 附录 A, Business Central 系统属性 了解更多信息。

第 41 章 Red Hat Process Automation Manager 的 Maven 设置和存储库

当您创建 Red Hat Process Automation Manager 项目时,ver Central 使用为 Business Central 配置的 Maven 存储库。您可以通过修改 Maven 项目对象模型(POM)文件(pom.xml)文件(pom.xml)文件,使用 Maven 全局或用户设置来指示所有 Red Hat Process Automation Manager 项目从公共 Red Hat Process Automation Manager 存储库检索依赖项。您还可以将 Business Central 和 KIE 服务器配置为使用外部 Maven 存储库或准备 Maven 镜像以供离线使用。

有关 Red Hat Process Automation Manager 打包和部署选项的更多信息,请参阅 打包和部署 Red Hat Process Automation Manager 项目

41.1. 使用项目配置文件(pom.xml)配置 Maven

要使用 Maven 来构建和管理 Red Hat Process Automation Manager 项目,您必须创建和配置 POM 文件(pom.xml)。此文件包含项目的配置信息。如需更多信息,请参阅 Apache Maven 项目

流程

  1. 生成 Maven 项目。创建 Maven 项目时会自动生成 pom.xml 文件。
  2. 编辑 pom.xml 文件,以添加更多依赖项和新存储库。

    在编译和打包项目时,Maven 从 Maven 存储库下载所有 JAR 文件和依赖 JAR 文件。

查找 pom.xml 文件的 schema,地址为 http://maven.apache.org/maven-v4_0_0.xsd。有关 POM 文件的更多信息,请参阅 Apache Maven 项目 POM

41.2. 修改 Maven 设置文件

Red Hat Process Automation Manager 使用 Maven settings.xml 文件来配置它的 Maven 执行。您必须在 settings.xml 文件中创建并激活配置集,并声明 Red Hat Process Automation Manager 项目使用的 Maven 存储库。

有关 Maven settings.xml 文件的详情,请参考 Apache Maven 项目 设置参考

流程

  1. settings.xml 文件中,声明 Red Hat Process Automation Manager 项目使用的软件仓库。通常,这是从红帽客户门户网站下载 的在线 Red Hat Process Automation Manager Maven 存储库 或 Red Hat Process Automation Manager Maven 存储库,以及用于您要使用的自定义工件的任何软件仓库。
  2. 确保 Business Central 或 KIE Server 配置为使用 settings.xml 文件。例如,指定 kie.maven.settings.custom=<SETTINGS_FILE_PATH> 属性,其中 < SETTINGS_FILE_PATH > 是 settings.xml 文件的路径。

    在 Red Hat JBoss Web 服务器上,对于 KIE Server,将 -Dkie.maven.settings.custom=<SETTINGS_FILE_PATH > 添加到 setenv.sh (Linux)或 setenv.bat (Windows)文件的 CATALINA_OPTS 部分。对于独立的 Business Central,输入以下命令:

    java -jar rhpam-7.11.0-business-central-standalone.jar -s application-config.yaml -Dkie.maven.settings.custom=<SETTINGS_FILE_PATH>

41.3. 为 Red Hat Process Automation Manager 添加 Maven 依赖项

要在 Red Hat Process Automation Manager 项目中使用正确的 Maven 依赖项,请将 Red Hat Business Automation bill of material (BOM)文件添加到项目的 pom.xml 文件中。Red Hat Business Automation BOM 适用于 Red Hat Decision Manager 和 Red Hat Process Automation Manager。当您添加 BOM 文件时,项目中包含了来自提供的 Maven 存储库传输性依赖关系的正确版本。

有关 Red Hat Business Automation BOM 的更多信息,请参阅 Red Hat Process Automation Manager 和 Maven 库版本之间的映射是什么?

流程

  1. pom.xml 文件中声明 Red Hat Business Automation BOM:

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.11.0.redhat-00005</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. 在 <dependencies> 标签中声明项目 所需的依赖项。将产品 BOM 导入到项目中后,定义了面向用户的产品依赖项的版本,因此您不需要指定这些 <dependency> 元素的 <version> 的子元素。但是,您必须使用 & lt;dependency > 元素声明要在项目中使用的依赖项。
  3. 对于没有在 Business Central 中编写的独立项目,请指定项目所需的所有依赖项。在您在 Business Central 中编写的项目中,重要的决策引擎和流程引擎依赖项由 Business Central 自动提供。

    • 对于基本的 Red Hat Process Automation Manager 项目,根据您要使用的功能声明以下依赖项:

      嵌入式进程引擎依赖项

      <!-- Public KIE API -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <!-- Core dependencies for process engine -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow-builder</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-runtime-manager</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-persistence-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-query-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-audit</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <!-- Dependency needed for default WorkItemHandler implementations. -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-workitems-core</artifactId>
      </dependency>
      
      <!-- Logging dependency. You can use any logging framework compatible with slf4j. -->
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>

    • 对于使用 CDI 的 Red Hat Process Automation Manager 项目,您通常会声明以下依赖项:

      启用 CDI 的进程引擎依赖项

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-services-cdi</artifactId>
      </dependency>

    • 对于基本 Red Hat Process Automation Manager 项目,声明以下依赖项:

      嵌入式决策引擎依赖项

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
      </dependency>
      
      <!-- Dependency for persistence support. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
      </dependency>
      
      <!-- Dependencies for decision tables, templates, and scorecards.
      For other assets, declare org.drools:business-central-models-* dependencies. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-scorecards</artifactId>
      </dependency>
      
      <!-- Dependency for loading KJARs from a Maven repository using KieScanner. -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
      </dependency>

    • 要使用 KIE 服务器,请声明以下依赖项:

      客户端应用程序 KIE 服务器依赖项

      <dependency>
        <groupId>org.kie.server</groupId>
        <artifactId>kie-server-client</artifactId>
      </dependency>

    • 要为 Red Hat Process Automation Manager 创建远程客户端,请声明以下依赖项:

      客户端依赖项

      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-rest-client</artifactId>
      </dependency>

    • 在创建包含资产(如规则和进程定义)的 JAR 文件时,请将 Maven 项目的打包类型指定为 kjar,并使用 org.kie:kie-maven-plugin 来处理 < project > 元素下的 kjar 打包类型。在以下示例中,${kie.version}Red Hat Process Automation Manager 和 Maven 库版本之间的映射中列出的 Maven 库版本?

      <packaging>kjar</packaging>
      <build>
       <plugins>
        <plugin>
         <groupId>org.kie</groupId>
         <artifactId>kie-maven-plugin</artifactId>
         <version>${kie.version}</version>
         <extensions>true</extensions>
        </plugin>
       </plugins>
      </build>

41.4. 准备 Maven 镜像存储库以供离线使用

如果您的 Red Hat Process Automation Manager 部署无法传出访问公共互联网,您必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像,并将此存储库提供给您的环境。

注意

如果您的 Red Hat Process Automation Manager 部署连接到互联网,则不需要完成这个步骤。

先决条件

  • 具有一个可以传出访问公共互联网的计算机。

流程

  1. 在与公共互联网传出连接的计算机上完成以下步骤:
  2. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : Red Hat Process Automation Manager
    • Version: 7.11

      1. 下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(rhpam-7.11.0-offliner.zip)产品可交付文件。
      2. rhpam-7.11.0-offliner.zip 文件的内容提取到任何目录中。
      3. 进入该目录并输入以下命令:

        ./offline-repo-builder.sh offliner.txt

        此命令创建 存储库 子目录,并将必要的工件下载到此子目录中。这是镜像存储库。

        如果消息报告某些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。

  3. 如果您在 Business Central 外部开发了服务,并且它们还有额外的依赖项,请将依赖项添加到镜像存储库中。如果您以 Maven 项目的形式开发了服务,您可以使用以下步骤自动准备这些依赖项。完成具有到公共互联网传出连接的计算机上的步骤。

    1. 创建本地 Maven 缓存目录的备份(~/.m2/repository),然后清除该目录。
    2. 使用 mvn clean install 命令构建项目源。
    3. 对于每个项目,输入以下命令来确保 Maven 下载项目生成的所有工件的所有运行时依赖项:

      mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true

      /path/to/project/pom.xml 替换为项目的 pom.xml 文件的路径。

    4. 将本地 Maven 缓存目录的内容(~/.m2/repository)复制到所创建的 存储库 子目录中。
  4. 将存储库 子目录的内容复制到部署 Red Hat Process Automation Manager 的计算机上的目录中。此目录成为离线 Maven 镜像存储库。
  5. 为您的 Red Hat Process Automation Manager 部署创建和配置 settings.xml 文件,如 第 41.2 节 “修改 Maven 设置文件” 所述。
  6. settings.xml 文件中进行以下更改:

    • 在 &lt ;profile& gt; 标签下,如果缺少 <repositories & gt; 或 <pluginRepositores > 标签,请添加缺少的标签。
    • <repositories > 下添加以下内容:

      <repository>
        <id>offline-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      使用本地 Maven 镜像存储库目录的完整路径替换 /path/to/repo

    • <pluginRepositories > 下添加以下内容:

      <repository>
        <id>offline-plugin-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      使用本地 Maven 镜像存储库目录的完整路径替换 /path/to/repo

第 42 章 从 Git 存储库导入项目

Git 是一个分布式版本控制系统。它将修订版本实施为提交对象。当您将更改保存到存储库时,会在 Git 存储库中创建一个新的提交对象。

Business Central 使用 Git 来存储项目数据,包括规则和流程等资产。当您在 Business Central 中创建项目时,它将添加到嵌入在 Business Central 中的 Git 存储库中。如果您在其他 Git 存储库中有项目,您可以通过 Business Central 空格将这些项目导入到 Business Central Git 存储库中。

先决条件

  • Red Hat Process Automation Manager 项目存在于外部 Git 存储库中。
  • 您有读取该外部 Git 存储库所需的权限所需的凭证。

流程

  1. 在 Business Central 中,点击 MenuDesignProjects
  2. 选择或创建您要将项目导入到的空间。默认空间为 MySpace
  3. 要导入项目,请执行以下操作之一:

    • 单击 Import Project
    • 从下拉列表中选择 Import Project
  4. Import Project 窗口中,输入 Git 存储库的 URL 和凭据,其中包含您要导入的项目,然后单击 Import。项目添加到 Business Central Git 存储库,并可从当前空间中获得。

第 43 章 集成 LDAP 和 SSL

通过使用 Red Hat Process Automation Manager,您可以通过 RH-SSO 集成 LDAP 和 SSL。如需更多信息,请参阅 Red Hat Single Sign-On 服务器管理指南

附录 B. Business Central 系统属性

本节中列出的 Business Central 系统属性将传递到 standalone thexml 文件。

Git 目录

使用以下属性为 Business Central Git 目录设置位置和名称:

  • org.uberfire.nio.git.dir: Business Central Git 目录的位置。
  • org.uberfire.nio.git.dirname: Business Central Git 目录的名称。默认值:.niogit
  • org.uberfire.nio.git.ketch: 启用或禁用 Git ketch。
  • org.uberfire.nio.git.hooks: Git hook 目录的位置。
Git over HTTP

使用以下属性通过 HTTP 配置对 Git 存储库的访问:

  • org.uberfire.nio.git.proxy.ssh.over.http: 指定 SSH 是否应该使用 HTTP 代理。默认值: false
  • http.proxyHost :定义 HTTP 代理的主机名。默认值: null.
  • http.proxyPort :定义 HTTP 代理的主机端口(整数值)。默认值: null.
  • http.proxyUser :定义 HTTP 代理的用户名。
  • http.proxyPassword :定义 HTTP 代理的用户密码。
  • org.uberfire.nio.git.http.enabled: 启用或禁用 HTTP 守护进程。默认值: true
  • org.uberfire.nio.git.http.host :如果启用了 HTTP 守护进程,它将此属性用作主机标识符。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.http.hostname :如果启用了 HTTP 守护进程,它将此属性用作主机名标识符。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.http.port :如果启用了 HTTP 守护进程,它将此属性用作端口号。这是一个信息性属性,用于显示如何通过 HTTP 访问 Git 存储库。HTTP 仍然依赖于 servlet 容器。默认值:8080
Git over HTTPS

使用以下属性通过 HTTPS 配置对 Git 存储库的访问:

  • org.uberfire.nio.git.proxy.ssh.over.https: 指定 SSH 是否使用 HTTPS 代理。默认值: false
  • https.proxyHost :定义 HTTPS 代理的主机名。默认值: null.
  • https.proxyPort :定义 HTTPS 代理的主机端口(整数值)。默认值: null.
  • https.proxyUser :定义 HTTPS 代理的用户名。
  • https.proxyPassword :定义 HTTPS 代理的用户密码。
  • user.dir :用户目录的位置。
  • org.uberfire.nio.git.https.enabled: 启用或禁用 HTTPS 守护进程。默认值:false
  • org.uberfire.nio.git.https.host :如果启用了 HTTPS 守护进程,它将此属性用作主机标识符。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.https.hostname :如果启用了 HTTPS 守护进程,它将此属性用作主机名标识符。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:localhost
  • org.uberfire.nio.git.https.port :如果启用了 HTTPS 守护进程,它将此属性用作端口号。这是一个信息性属性,用于显示如何通过 HTTPS 访问 Git 存储库。HTTPS 仍依赖于 servlet 容器。默认值:8080
JGit
  • org.uberfire.nio.jgit.cache.instances: 定义 JGit 缓存大小。
  • org.uberfire.nio.jgit.cache.overflow.cleanup.size: 定义 JGit 缓存溢出清理大小。
  • org.uberfire.nio.jgit.remove.eldest.iterations: 启用或禁用是否删除 eldest JGit iterations。
  • org.uberfire.nio.jgit.cache.evict.threshold.duration: 定义 JGit 驱除阈值持续时间。
  • org.uberfire.nio.jgit.cache.evict.threshold.time.unit: 定义 JGit 驱除阈值时间单位。
Git 守护进程

使用以下属性启用和配置 Git 守护进程:

  • org.uberfire.nio.git.daemon.enabled: 启用或禁用 Git 守护进程。默认值: true
  • org.uberfire.nio.git.daemon.host :如果启用了 Git 守护进程,它将此属性用作本地主机标识符。默认值:localhost
  • org.uberfire.nio.git.daemon.hostname :如果启用了 Git 守护进程,它将此属性用作本地主机名标识符。默认值: localhost
  • org.uberfire.nio.git.daemon.port :如果启用了 Git 守护进程,它将此属性用作端口号。默认值:9418.
  • org.uberfire.nio.git.http.sslVerify: 启用或禁用 Git 存储库的 SSL 证书检查。默认值: true

    注意

    如果默认值或分配的端口已在使用中,则会自动选择一个新端口。确保端口可用,并检查日志以了解更多信息。

Git SSH

使用以下属性启用和配置 Git SSH 守护进程:

  • org.uberfire.nio.git.ssh.enabled: 启用或禁用 SSH 守护进程。默认值: true
  • org.uberfire.nio.git.ssh.host :如果启用了 SSH 守护进程,它将此属性用作本地主机标识符。默认值:localhost
  • org.uberfire.nio.git.ssh.hostname :如果启用了 SSH 守护进程,它将此属性用作本地主机名标识符。默认值:localhost
  • org.uberfire.nio.git.ssh.port :如果启用了 SSH 守护进程,它将此属性用作端口号。默认值:8001

    注意

    如果默认值或分配的端口已在使用中,则会自动选择一个新端口。确保端口可用,并检查日志以了解更多信息。

  • org.uberfire.nio.git.ssh.cert.dir: 存储本地证书的 .security 目录的位置。默认值 :工作目录。
  • org.uberfire.nio.git.ssh.idle.timeout: 设置 SSH idle timeout。
  • org.uberfire.nio.git.ssh.passphrase: 当使用 SCP 风格 URL 克隆 git 存储库时用于访问操作系统的公钥存储。示例: git@github.com:user/repository.git
  • org.uberfire.nio.git.ssh.algorithm: SSH 使用的算法。默认值: RSA
  • org.uberfire.nio.git.gc.limit :设置 GC 限制。
  • org.uberfire.nio.git.ssh.ciphers :以逗号分隔的密码字符串。可用的密码是 aes128-ctr,aes192-ctr,aes256-ctr,arcfour128, arcfour256, aes192-cbc,aes256-cbc。如果没有使用属性,则会加载所有可用的密码。
  • org.uberfire.nio.git.ssh.macs: 以逗号分隔的消息身份验证代码(MAC)字符串。可用的 MAC 是 hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-512。如果没有使用属性,则会加载所有可用的 MAC。

    注意

    如果您计划使用 RSA 或 DSA 以外的任何算法,请确保将应用服务器设置为使用 Bouncy Castle JCE 库。

KIE 服务器节点和流程自动化管理器控制器

使用以下属性配置来自 Process Automation Manager 控制器的 KIE 服务器节点的连接:

  • org.kie.server.controller :URL 用于连接到 Process Automation Manager 控制器。例如,ws://localhost:8080/business-central/websocket/controller
  • org.kie.server.user: 用于从 Process Automation Manager 控制器连接到 KIE 服务器节点的用户名。只有在将此 Business Central 安装用作 Process Automation Manager 控制器时才需要此属性。
  • org.kie.server.pwd: 用于从 Process Automation Manager 控制器连接到 KIE 服务器节点的密码。只有在将此 Business Central 安装用作 Process Automation Manager 控制器时才需要此属性。
Maven 和其它

使用以下属性来配置 Maven 和其他各种功能:

  • kie.maven.offline.force :强制 Maven 的行为与离线一样。如果为 true,则禁用在线依赖项解析。默认值: false

    注意

    仅将此属性用于 Business Central。如果您将运行时环境与任何其他组件共享,请隔离配置并将其应用到 Business Central。

  • org.uberfire.gzip.enable :在 GzipFilter 压缩过滤器上启用或禁用 Gzip 压缩。默认值: true
  • org.kie.workbench.profile :选择 Business Central 配置集。可能的值有 FULLPLANNER_AND_RULES。前缀 FULL_ 设置配置集,并从管理员首选项隐藏配置集首选项。默认值: FULL
  • org.appformer.m2repo.url: Business Central 在查找依赖项时使用 Maven 存储库的默认位置。它将定向到 Business Central 中的 Maven 存储库,例如 http://localhost:8080/business-central/maven2。在启动 Business Central 前设置此属性。默认值 :到内部 m2 存储库的文件路径。
  • appformer.ssh.keystore :通过指定类名称来定义要与 Business Central 搭配使用的自定义 SSH 密钥存储。如果属性不可用,则使用默认的 SSH 密钥存储。
  • appformer.ssh.keys.storage.folder :使用默认 SSH 密钥存储时,此属性定义用户的 SSH 公钥的存储文件夹。如果属性不可用,则密钥将存储在 Business Central .security 文件夹中。
  • appformer.experimental.features :启用实验性功能框架。默认值: false
  • org.kie.demo :启用来自 GitHub 的演示应用程序的外部克隆。
  • org.uberfire.metadata.index.dir: 存储 Lucene .index 目录的 Place。默认值 :工作目录。
  • org.uberfire.ldap.regex.role_mapper: 用来将 LDAP 主体名称映射到应用程序角色名称的 Regex 模式。请注意,变量角色必须是模式的一部分,因为应用角色名称在匹配原则值和角色名称时替换变量角色。
  • org.uberfire.sys.repo.monitor.disabled :禁用配置监控器。不要禁用,除非您确定。默认值: false
  • org.uberfire.secure.key :由密码加密使用的密码。默认值: org.uberfire.admin
  • org.uberfire.secure.alg: Crypto 算法由密码加密使用。默认值: PBEWithMD5AndDES
  • org.uberfire.domain: uberfire 使用的安全域名。默认值: ApplicationRealm.
  • org.guvnor.m2repo.dir: 存储 Maven 存储库文件夹的 Place。默认值: &lt ;working-directory>/repositories/kie
  • org.guvnor.project.gav.check.disabled :禁用组 ID、工件 ID 和版本(GAV)检查。默认值: false
  • org.kie.build.disable-project-explorer :禁用 Project Explorer 中所选项目的自动构建。默认值: false
  • org.kie.builder.cache.size :定义项目构建器的缓存大小。默认值 :20
  • org.kie.library.assets_per_page :您可以在项目屏幕中自定义每个页面的资产数量。默认值 :15
  • org.kie.verification.disable-dtable-realtime-verification: 禁用路由表的实时验证和验证。默认值: false
处理自动化管理器控制器

使用以下属性来配置如何连接到 Process Automation Manager 控制器:

  • org.kie.workbench.controller: 用于连接到 Process Automation Manager 控制器的 URL,例如: ws://localhost:8080/kie-server-controller/websocket/controller
  • org.kie.workbench.controller.user: Process Automation Manager 控制器用户。默认值:kieserver
  • org.kie.workbench.controller.pwd : Process Automation Manager 控制器密码。默认值: kieserver1!
  • org.kie.workbench.controller.token :用于连接 Process Automation Manager 控制器的令牌字符串。
Java Cryptography Extension KeyStore (JCEKS)

使用以下属性来配置 JCEKS:

  • kie.keystore.keyStoreURL :用于加载 Java Cryptography Extension KeyStore (JCEKS)的 URL。例如: file:///home/kie/keystores/keystore.jceks。
  • kie.keystore.keyStorePwd :用于 JCEKS 的密码。
  • kie.keystore.key.ctrl.alias :默认 REST Process Automation Manager 控制器的密钥别名。
  • kie.keystore.key.ctrl.pwd :默认 REST Process Automation Manager 控制器的别名密码。
渲染

使用以下属性在 Business Central 和 KIE Server rendered 表单间切换:

  • org.jbpm.wb.forms.renderer.ext :切换 Business Central 和 KIE 服务器之间的表单。默认情况下,表单渲染由 Business Central 执行。默认值: false
  • org.jbpm.wb.forms.renderer.name: 允许您在 Business Central 和 KIE Server rendered 表单间切换。默认值: 工作台

部分 V. 在 IBM WebSphere Application Server 上安装和配置 KIE 服务器

作为系统管理员,您可以为 Red Hat KIE Server 配置 IBM WebSphere Application Server,并在 IBM 服务器实例上安装 KIE 服务器。

注意

对 IBM WebSphere Application Server 上的 Red Hat Process Automation Manager 的支持现在处于维护阶段。红帽将继续在 IBM WebSphere Application Server 上支持 Red Hat Process Automation Manager,但有以下限制:

  • 红帽不会发布新的认证或软件功能。
  • 红帽只会发布具有严重影响和关键任务程序错误修复的合格安全补丁。

未来,红帽可能会指示客户迁移到与红帽混合云策略兼容的新平台和产品组件。

先决条件

  • 已安装 IBM WebSphere Application Server 实例 9.0 或更高版本。有关完整安装说明,请参阅 IBM WebSphere Application Server 产品页面
  • 您可以访问 WebSphere 存储解决方案控制台,通常位于 http://<HOST>:9060/ibm/console

第 44 章 KIE 服务器

KIE 服务器是存储并运行 Red Hat Process Automation Manager 的规则和其他工件的服务器。KIE 服务器是一个独立的内置组件,可用于通过用于 REST、Java 消息服务(JMS)或 Java 客户端端应用程序的接口来实例化和执行规则,以及通过解析器管理进程、作业和红帽构建的 OptaPlanner 功能。

作为 Web 可部署的 WAR 文件创建,KIE 服务器可以部署到任何 web 容器中。KIE 服务器的当前版本包含在 Red Hat Decision Manager 和 Red Hat Process Automation Manager 的默认扩展中。

KIE 服务器具有较少的内存消耗,因此可以在云实例上轻松部署。此服务器的每个实例都可以打开并实例化多个容器,您可以并行执行多个规则服务。

KIE 服务器可以与其他应用服务器(如 Oracle WebLogic Server 或 IBM WebSphere Application Server)集成,以简化 Red Hat Process Automation Manager 应用程序管理。

第 45 章 IBM WebSphere Application Server

IBM WebSphere Application Server 是一个灵活安全的 Web 应用服务器,它托管基于 Java 的 Web 应用程序并提供 Java EE 认证的运行时环境。IBM WebSphere 9.0 支持 Java SE 8,并完全与 Java EE 7 兼容。

第 46 章 安装并运行 IBM WebSphere Application Server

必须安装并运行 IBM WebSphere Application Server,才能应用适合 KIE 服务器的许多配置。这部分论述了如何安装和启动 IBM WebSphere。

有关最新和详细的安装说明,请参阅 IBM 知识库。

流程

  1. 从 IBM 安装管理器下载 IBM 安装管理器版本 1.8.5 或更高版本,并打包实用程序下载链接 页面。安装 IBM WebSphere 需要 IBM 安装管理器。
  2. 提取下载的存档,并以 root 用户身份在新目录中运行以下命令:

    sudo ./install

    IBM 安装管理器 将打开。

  3. 前往 FilePreferences,然后点击 Add Repository
  4. Add Repository 窗口中,输入 IBM WebSphere 9.0 的存储库 URL。您可以在 IBM 知识库的 Online 产品存储库中找到所有存储库 URL。
  5. 在命令终端中,导航到您在安装过程中指定的 IBM WebSphere Application Server 文件夹位置。
  6. 进入 /bin 目录,并运行类似以下示例的命令,以创建 IBM WebSphere 配置文件、用户名和密码。配置集定义运行时环境。该配置集包括服务器在运行时处理以及您可以更改的所有文件。登录时需要该用户。

    sudo ./manageprofiles.sh -create -profileName testprofile -profilePath /profiles/testprofile  -adminUserName websphere -adminPassword password123
  7. 在命令终端中,导航到您创建的配置文件中的 bin 目录(例如 /profiles/testprofile/bin),并运行以下命令来启动 IBM WebSphere Application Server 实例:

    sudo ./startServer.sh <SERVER_NAME>

    <SERVER_NAME > 替换为 WebSphere 集成解决方案控制台的 ServersServer TypesIBM WebSphere Application Servers 中定义的 IBM WebSphere Application Server 名称。

  8. 在网页浏览器中打开以下 URL:

    http://<HOST>:9060/ibm/console

    <HOST > 是目标服务器的系统名称或 IP 地址。

    例如,要为系统上运行的 IBM WebSphere 本地实例启动 WebSphere 集成解决方案控制台,请在网页浏览器中输入以下 URL:

    http://localhost:9060/ibm/console
  9. 当出现 WebSphere 集成解决方案控制台的登录页面时,请输入您的管理凭据。

第 47 章 为 KIE 服务器配置 IBM WebSphere Application Server

在使用 IBM WebSphere Application Server 部署 KIE 服务器前,您必须在 IBM WebSphere 上配置系统属性、安全设置、JMS 要求和其他属性。这些配置提升了与 KIE 服务器的最佳集成。

先决条件

  • IBM WebSphere Application Server 已安装并运行。
  • 您已登录到 WebSphere 集成的解决方案控制台。

47.1. 启用管理安全性

您必须在 WebSphere 集成解决方案控制台中启用管理安全性,以便具有创建用户和组所需的权限。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,点 SecurityGlobal Security,并确保选择了 Enable Application Security 选项。这可以在服务器级别进行选择并覆盖。
  2. Security Configuration Wizard 并点 Next
  3. 选择包含用户信息的存储库。例如,为 本地配置选择 Federated 软件仓库
  4. Next
  5. 输入 Primary administrative user namePassword
  6. Next,然后点 Finish
  7. Messages 窗口中点 Save,将您的更改保存到主配置。

    图 47.1. 保存安全更新

    保存安全更新
  8. 在命令终端中,导航到您在安装过程中指定的 IBM WebSphere Application Server /bin 目录位置,并运行以下命令来停止并重启 IBM WebSphere 以应用安全更改:

    sudo ./stopServer.sh <SERVER_NAME>
    sudo ./startServer.sh <SERVER_NAME>

    <SERVER_NAME > 替换为 WebSphere 集成解决方案控制台的 ServersServer TypesIBM WebSphere Application Servers 中定义的 IBM WebSphere Application Server 名称。

47.2. 在 IBM WebSphere Application Server 中配置 JDBC 数据源

数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 IBM WebSphere Application Server 配置数据源,以确保服务器和指定数据库之间的正确数据交换。

通常,使用 Red Hat Process Automation Manager 的解决方案在一个事务中管理多个资源。JMS,用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序,以确保数据原子性和一致的结果。如果监听器中存在不同模式的事务代码,或来自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。

除非还没有参与单个事务的多个资源,否则请不要使用非 XA 数据源。

先决条件

  • 用于创建数据库连接的 JDBC 供应商是在您要在其上部署数据源的所有服务器上配置的。有关 JDBC 供应商的更多信息,请参阅 IBM 知识库中的 配置 JDBC 供应商

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 完成以下步骤以准备您的数据库:

    1. rhpam-7.11.0-add-ons.zip 提取到临时目录中,例如 TEMP_DIR
    2. Extract TEMP_DIR/rhpam-7.11.0-migration-tool.zip.
    3. 将您的当前目录更改为 TEMP_DIR/rhpam-7.11.0-migration-tool/ddl-scripts 目录。此目录包含多个数据库类型的 DDL 脚本。
    4. 将数据库类型的 DDL 脚本导入到您要使用的数据库中,例如:

      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      注意

      如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,例如 /ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql

  4. 在 WebSphere Integrated Solutions 控制台中,导航到 ResourcesJDBCData sources
  5. 选择应用程序可以使用数据源的范围。您可以选择单元、节点、集群或服务器。
  6. New 打开 Create a data source 向导。
  7. Data source name 字段中输入唯一名称,并在 JNDI name 字段中输入 Java 命名和目录接口(JNDI)名称。应用服务器使用 JNDI 名称将应用的资源引用绑定到此数据源。

    不要在不同的资源类型之间分配重复的 JNDI 名称,如数据源与 J2C 连接工厂或 JMS 连接工厂。

    不要为同一范围内同一类型的多个资源分配重复的 JNDI 名称。

  8. Next,然后选择 Select an existing JDBC provider (如果已创建提供程序),或者选择 Create new JDBC provider 来为新提供程序定义详细信息。(在使用这个点前创建 JDBC 提供程序,作为添加数据源的先决条件。)
  9. Enter database specific properties for the data source 面板上,如果容器管理的持久性(CMP)企业 Bean 必须访问此数据源,点容器管理的持久性(CMP)企业 Bean 中的 Use this data source。然后填写任何其他特定于数据库的属性。
  10. 可选:为数据源配置安全别名。您可以为任何身份验证方法选择 None,或者选择以下类型之一:

    • 组件管理的验证别名: 指定在组件资源引用 res-auth 值为 Application 时使用的身份验证别名。要定义新别名,请导航到 Relatedapplied → J2EE Connector Architecture (J2C)身份验证数据条目。组件管理的别名代表应用程序中指定的 ID 和密码组合,用于数据源身份验证。因此,您在数据源上设置的别名必须与应用程序代码中的别名相同。
    • 映射配置别名: 仅在组件资源引用中没有登录配置时使用。当 res-auth 值设置为 Container 时,登录配置和组件资源引用的关联属性是定义身份验证策略的首选方法。如果您指定了 DefaultPrincipalMapping 登录配置,则关联的属性是 JAAS - J2C 身份验证数据条目别名。
    • 容器管理的身份验证别名: 仅在组件资源引用中没有登录配置时使用。当 res-auth 值设置为 Container 时,登录配置和组件资源引用的关联属性决定了容器管理的验证策略。
  11. Next,查看数据源的信息,然后点 Finish 保存配置并退出向导。

    数据源 面板在表中显示您的新配置,以及为同一范围配置的任何其他数据源。

有关 IBM WebSphere Application Server 数据源的更多信息,请参阅 IBM 知识库中配置 JDBC 供应商和数据源

47.3. 配置 Java 消息服务(JMS)

Java 消息服务(JMS)是一种 Java API,KIE 服务器用来与其他应用服务器(如 Oracle WebLogic Server 和 IBM WebSphere Application Server)交换消息。您必须将应用服务器配置为通过 KIE 服务器发送和接收 JMS 消息,以确保两个服务器间的协作。

47.3.1. 创建服务总线并添加 IBM WebSphere Application Server

您必须创建一个服务总线,并将 IBM WebSphere Application Server 添加为成员,才能使用 JMS。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 Service IntegrationBusesNew
  2. 输入新的总线名称并清除 Bus Security 选项。
  3. Next,然后点 Finish 创建服务总线。
  4. 选择您创建的服务总线。
  5. Topology 下,选择 Bus MembersAdd
  6. Add a New Bus Member 向导中,选择 IBM WebSphere Application Server 和消息存储用于持久性。您还可以指定消息存储的属性。
  7. 单击 Finish 以添加新的总线成员。

47.3.2. 创建 JMS 连接工厂

要使用 KIE 服务器启用消息传递,您必须创建某些 JMS 连接工厂来发送和接收消息。

先决条件

  • 您已为 IBM WebSphere Application Server 创建了服务总线。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 ResourcesJMSConnection Factories
  2. 选择正确的范围并点击 New
  3. 选择 Default Messaging Provider 选项,再单击 OK
  4. 对于以下每个需要的连接工厂,输入连接工厂的名称(如 KIE.SERVER.REQUEST)和 JNDI 名称(如 jms/cf/KIE.SERVER.REQUEST),然后从 Bus Name 下拉列表中选择服务总线。保留其余选项的默认值。
  5. Apply,然后点 Save 将更改保存到主配置,然后为每个所需工厂重复。
47.3.2.1. KIE 服务器的 JMS 连接工厂

下表列出了通过 KIE 服务器启用 JMS 消息传递所需的 Java 消息服务(JMS)连接工厂:

表 47.1. KIE 服务器所需的 JMS 连接工厂
名称默认值用于

KIE.SERVER.REQUEST

jms/cf/KIE.SERVER.REQUEST

将所有请求发送到 KIE 服务器

KIE.SERVER.RESPONSE

jms/cf/KIE.SERVER.RESPONSE

接收 KIE 服务器生成的所有响应

KIE.SERVER.EXECUTOR

jms/cf/KIE.SERVER.EXECUTOR

KIE 服务器执行器服务

47.3.3. 创建 JMS 队列

JMS 队列是点对点消息传递的目的地端点。您必须创建特定的 JMS 队列,以便使用 KIE 服务器启用 JMS 消息传递。

先决条件

  • 您已为 IBM WebSphere Application Server 创建了服务总线。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 ResourcesJMSQueues
  2. 选择正确的范围并点击 New
  3. 选择 Default Messaging Provider 选项,再单击 OK
  4. 对于以下每个所需队列,请输入队列的名称(如 KIE.SERVER.REQUEST)和 JNDI 名称(如 jms/KIE.SERVER.REQUEST),然后从 Bus Name 下拉列表中选择服务总线。
  5. Queue Name 下拉列表中选择 Create Service Integration Bus Destination,输入唯一标识符,然后选择之前创建的总线成员。
  6. Apply,然后点 Save 将更改保存到主配置,然后为每个所需队列重复。
47.3.3.1. KIE 服务器的 JMS 队列

下表列出了使用 KIE 服务器启用 JMS 消息传递所需的 Java 消息服务(JMS)队列:

表 47.2. KIE 服务器所需的 JMS 队列
名称默认值用于

KIE.SERVER.REQUEST

jms/KIE.SERVER.REQUEST

将所有请求发送到 KIE 服务器

KIE.SERVER.RESPONSE

jms/KIE.SERVER.RESPONSE

接收 KIE 服务器生成的所有响应

KIE.SERVER.EXECUTOR

jms/KIE.SERVER.EXECUTOR

KIE 服务器执行器服务

47.3.4. 创建 JMS 激活规格

需要 JMS 激活规格来桥接队列和启用 JMS 的消息驱动的 bean。

先决条件

  • 您已为 IBM WebSphere Application Server 创建了服务总线。
  • 您已创建了 JMS 队列。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 ResourcesJMSActivation Specifications
  2. 选择正确的范围并点击 New
  3. 选择 Default Messaging Provider 选项,再单击 OK
  4. 对于以下每个需要激活规格,输入激活规格的名称(如 KIE.SERVER.REQUEST)和 JNDI 名称(如 jms/activation/KIE.SERVER.REQUEST),然后从 Bus Name 下拉列表中选择服务总线。
  5. Destination Type 下拉列表中选择 Queue,并输入对应队列的名称作为 Destination 查找 (如 jms/KIE.SERVER.REQUEST)。
  6. Apply,然后点 Save 将更改保存到主配置,然后重复对每个所需的激活规格。
47.3.4.1. KIE 服务器的 JMS 激活规格

下表列出了使用 KIE 服务器启用 JMS 消息传递所需的 Java 消息服务(JMS)激活规格:

表 47.3. KIE 服务器所需的 JMS 激活规格
名称默认值用于

KIE.SERVER.REQUEST

jms/activation/KIE.SERVER.REQUEST

将所有请求发送到 KIE 服务器

KIE.SERVER.RESPONSE

jms/activation/KIE.SERVER.RESPONSE

接收 KIE 服务器生成的所有响应

KIE.SERVER.EXECUTOR

jms/activation/KIE.SERVER.EXECUTOR

KIE 服务器执行器服务

47.4. 在 IBM WebSphere Application Server 中设置系统属性

在部署 KIE 服务器前,请在 IBM WebSphere Application Server 中设置本节中列出的系统属性。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 ServersServer TypesIBM WebSphere Application Servers
  2. 在应用服务器列表中,选择您要在其上部署 KIE 服务器的服务器。
  3. Server Infrastructure 下,点 Java and Process ManagementProcess Definition

    图 47.2. WebSphere 配置页面

    WebSphere 配置页面
  4. Additional Properties 下,点 Java Virtual Machine

    图 47.3. 进程定义配置页面

    process definition2

    这会打开用于启动 IBM WebSphere 的 JVM 的配置属性。

  5. Initial 堆大小最大堆大小设置为 2048,然后单击 Apply 来提高 Java 虚拟机(JVM)内存大小。KIE 服务器已使用这些值进行测试。如果您不增加 JVM 内存大小,IBM WebSphere Application Server freezes 或在部署 KIE Server 时导致部署错误。
  6. Additional Properties 下,点 Custom Properties
  7. NewCustom JVM Properties,并在 IBM WebSphere 中添加以下属性:

    表 47.4. KIE 服务器的系统属性
    名称描述

    kie.server.jms.queues.response

    jms/KIE.SERVER.RESPONSE

    KIE 服务器使用的响应的 JMS 队列名称。

    org.kie.server.domain

    WSLogin

    使用 JMS 时用于验证用户的 JAAS LoginContext 域。

    org.kie.server.persistence.ds

    jdbc/jbpm

    KIE 服务器的数据源 JNDI 名称。

    org.kie.server.persistence.tm

    org.hibernate.engine.transaction.jta.platform.internal.WebSphereJtaPlatform

    设置 Hibernate 属性的事务管理器平台。

    org.kie.server.persistence.dialect

    示例: org.hibernate.dialect.H2Dialect

    指定要使用的 Hibernate dialect。根据数据源设置。

    org.kie.executor.jms.queue

    jms/KIE.SERVER.EXECUTOR

    KIE 服务器的作业执行 JMS 队列。

    org.kie.executor.jms.cf

    jms/cf/KIE.SERVER.EXECUTOR

    KIE 服务器的作业执行者 JMS 连接工厂。

    org.kie.server.router

    示例: http://localhost:9000

    (可选)为应用服务器在集群 KIE 服务器环境中的一部分指定一个或多个 KIE 服务器路由器(Smart Router)的一个或多个 URL。

    org.jboss.logging.provider

    jdk

    只有在环境中安装 CA SiteMinder TAI (SMTAI) 时,才会需要此属性。使用此属性强制 Hibernate 使用 JDK 而不是 log4j 在 Dashbuilder 中进行日志记录。CA SiteMinder TAI (SMTAI) 包含旧版本的 log4j,这会导致冲突。

  8. 单击 Save,将更改保存到主配置。

47.5. 停止并重启 IBM WebSphere Application Server

在 IBM WebSphere Application Server 中配置了所有必需的系统属性后,停止并重启 IBM 服务器,以确保应用了配置。

流程

在命令终端中,导航到您在安装过程中指定的 IBM WebSphere Application Server /bin 目录位置,并运行以下命令来停止并重启 IBM WebSphere 以应用配置更改:

sudo ./stopServer.sh <SERVER_NAME>
sudo ./startServer.sh <SERVER_NAME>

<SERVER_NAME > 替换为 WebSphere 集成解决方案控制台的 ServersServer TypesIBM WebSphere Application Servers 中定义的 IBM WebSphere Application Server 名称。

第 48 章 使用 IBM WebSphere Application Server 安装并运行 KIE 服务器

在 IBM WebSphere Application Server 中配置了所有必需的系统属性后,您可以使用 IBM WebSphere 安装 KIE 服务器来简化 Red Hat Process Automation Manager 应用程序管理。

先决条件

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 所有支持的 EE7 容器的 Red Hat Process Automation Manager 7.11.0 KIE 服务器
  3. rhpam-7.11.0-kie-server-ee7.zip 存档提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  4. 重新打包 kie-server.war 目录:

    1. 导航到 TEMP_DIR/rhpam-7.11.0-kie-server-ee7/kie-server.war 目录。
    2. 选择 TEMP_DIR/rhpam-7.11.0-kie-server-ee7/kie-server.war 目录的内容,并创建 kie-server.zip 文件。
    3. kie-server.zip 重命名为 kie-server.war。这是您要用于部署 KIE 服务器的文件。
    4. 可选:将新的 kie-server.war 文件复制到更方便部署的位置。
  5. 在 WebSphere Integrated Solutions 控制台中,导航到 ApplicationsApplication TypesWebSphere Enterprise Applications
  6. 单击 InstCll
  7. 导航到您重新打包的 kie-server.war 文件,然后选择要上传的文件。
  8. 选择 Fast Path 并点 Next

    此时会打开 Install New Application 向导。

  9. Application Name 更改为 kie-server,然后点 Next
  10. 根据您的具体要求将 KIE Server 模块映射到服务器,然后单击 Next
  11. 对于 Message-Driven Beans 的 Bind Listener,为两个 Bean 选择 Activation Specification,在 Target Resource JNDI Name 字段中输入 jms/activation/ KIE.SERVER.REQUEST ,并为 KIE.SERVER.REQUEST 连接工厂输入 jms/cf/KIE.SERVER.REQUEST JNDI 名称。
  12. Map Virtual Hosts for Web Modules 部分中,保留默认值并单击 Next
  13. 将上下文 root 设置为 kie-server
  14. Metadata for Modules 部分中,保留默认值,然后点 Next
  15. Finish 安装 KIE Server,然后点 Save 将更改保存到主配置。

48.1. 创建 KIE Server 组和角色

安装 KIE Server 后,您必须创建 kie-server 组和用户。

先决条件

  • KIE 服务器安装在 IBM WebSphere Application Server 实例上。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,点 Users and GroupsManage Groups
  2. Manage Groups 屏幕中,点 Create
  3. Create a Group 屏幕中,在 Group name 框中输入 kie-server,然后单击 Create
  4. 要创建要添加到 kie-server 组的用户,请点击 Users and GroupsManage Users
  5. Create a User 屏幕中,完成所需信息。
  6. 单击 Group Membership
  7. Group Membership 屏幕中,单击 kie-server,将它移到 Mapped To,然后单击 Close
  8. Create a User 屏幕上,单击 Create

48.2. 映射 KIE Server 组和角色

安装 KIE Server 后,您必须将 kie-server 角色映射到 WebSphere 集成解决方案控制台中的 kie-server 组,以运行 KIE 服务器。

先决条件

  • KIE 服务器安装在 IBM WebSphere Application Server 实例上。
  • IBM WebSphere Application Server 具有至少一个用户的 kie-server 组。

流程

  1. 在 WebSphere Integrated Solutions 控制台中,导航到 ApplicationsApplication TypesWebSphere Enterprise Applications,然后选择新安装的 kie-server 应用程序。
  2. Details Properties 下,点 Security Role to User/Group Mapping
  3. 选择 kie-server 角色,然后单击 Map Groups 以搜索 kie-server 组。
  4. kie-server 组从 Available 列表中移到 Selected 列表中,然后单击 OK

    此映射可让 IBM WebSphere Application Server kie-server 组中的用户访问 KIE 服务器。

  5. Save 完成映射。

48.3. 为 KIE 服务器配置类加载

安装 KIE Server 后,您必须配置类加载,将父类设置为最后加载。

流程

  1. 导航到 ApplicationsApplication TypesWebSphere Enterprise Applications,再点 kie-server
  2. 在左侧的 Details Properties 标题下,点 Class Loading and Update Detection
  3. 在属性中,首先(最后)将 Class Loader Order 更改为使用本地类加载类加载类,将 WAR 类导航程序策略 改为 应用程序的 Single class loader
  4. 保存对主配置的更改。

48.4. 验证安装

安装 KIE 服务器并定义 KIE Server 组映射后,验证服务器是否正在运行。

先决条件

  • KIE 服务器安装在 IBM WebSphere Application Server 实例上。
  • 您已为无头进程自动化管理器控制器设置了所有必需的系统属性。
  • 您已在 IBM WebSphere Application Server 中定义了 KIE 服务器组映射。

流程

  1. 要验证服务器是否正在运行,请完成以下任务之一:

    • 导航到 KIE Server URL http://<HOST>:<PORT>/kie-server
    • http://<HOST>:<PORT>/kie-server/services/rest/server 发送 GET 请求,以检查 KIE 服务器 REST API 响应。

      在这些示例中,替换以下占位符:

      • <HOST > 是 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9
      • <PORT > 是 KIE 服务器主机的端口号,如 9060
  2. 如果 KIE 服务器没有运行,停止并重启 IBM WebSphere Application Server 实例,然后重试访问 KIE Server URL 或 API。

第 49 章 使用 IBM WebSphere Application Server 安装并运行无头 Process Automation Manager 控制器

要使用 KIE Server REST API 或 Java 客户端 API 与 KIE 服务器交互,请使用 IBM WebSphere Application Server 安装无头进程自动化管理器控制器。无头流程自动化管理器控制器以集中的方式管理 KIE 服务器配置,以便您可以使用无头流程自动化管理器控制器创建和维护容器并执行其他服务器级别任务。

注意

为获得最佳结果,在生产环境中的不同服务器上安装 KIE Server 和无头流程自动化管理器控制器。在开发环境中,您可以在同一服务器上安装 KIE 服务器和无头进程自动化管理器控制器。

先决条件

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 将下载的 rhpam-7.11.0-add-ons.zip 文件提取到临时目录中。
  4. rhpam-7.11.0-add-ons.zip 文件提取到临时目录中。在以下示例中,此目录名为 TEMP_DIR
  5. 提取 rhpam-7.11.0-add-ons/rhpam-7.11.0-controller-ee7.zip 文件。
  6. 重新打包 controller.war 目录:

    1. 导航到 TEMP_DIR/rhpam-7.11.0-add-ons/rhpam-7.11.0-controller-ee7/controller.war 目录。
    2. 选择 TEMP_DIR/rhpam-7.11.0-add-ons/rhpam-7.11.0-controller-ee7/controller.war 目录的内容并创建 controller.zip 文件。
    3. controller.zip 重命名为 controller.war。这是您要用来部署无头进程自动化管理器控制器的文件。
    4. 可选:将新的 controller.war 文件复制到更方便部署的位置。
  7. 在 WebSphere Integrated Solutions 控制台中,导航到 ApplicationsApplication TypesWebSphere Enterprise Applications
  8. Install
  9. 导航到您重新打包的 controller.war 文件,并选择要上传的文件。
  10. 选择 Fast Path 并点 Next

    此时会打开 Install New Application 向导。

  11. Application Name 更改为 controller,再单击 Next
  12. 根据您的具体要求,将无头 Process Automation Manager 控制器模块映射到服务器,然后单击 Next
  13. 对于 Message-Driven Beans 的 Bind Listener,为两个 Bean 选择 Activation Specification,在 Target Resource JNDI Name 字段中输入 jms/activation/ KIE.SERVER.REQUEST ,并为 KIE.SERVER.REQUEST 连接工厂输入 jms/cf/KIE.SERVER.REQUEST JNDI 名称。
  14. Map Virtual Hosts for Web Modules 部分中,保留默认值并单击 Next
  15. 将上下文 root 设置为 controller
  16. Metadata for Modules 部分中,保留默认值,然后点 Next
  17. Finish 安装无头 Process Automation Manager 控制器,然后点 Save 将更改保存到主配置。

49.1. 为无头进程自动化管理器控制器配置类加载

安装无头进程自动化管理器控制器后,您必须配置 KIE Server 类加载,以将父类设置为最后加载。

流程

  1. 导航到 ApplicationsApplication TypesWebSphere Enterprise Applications,再点 kie-server
  2. 在左侧的 Details Properties 标题下,点 Class Loading and Update Detection
  3. 在属性中,首先(最后)将 Class Loader Order 更改为使用本地类加载类加载类,将 WAR 类导航程序策略 改为 应用程序的 Single class loader
  4. 保存对主配置的更改。

49.2. 为无头进程自动化管理器控制器设置系统属性

安装无头 Process Automation Manager 控制器后,请在应用服务器或服务器上设置此部分中列出的系统属性,以启用与无头 Process Automation Manager 控制器正确交互。

注意

为获得最佳结果,在生产环境中的不同服务器上安装 KIE Server 和无头流程自动化管理器控制器。在开发环境中,您可以在同一服务器上安装 KIE 服务器和无头进程自动化管理器控制器。在这两种情况下,请确保在所有安装了无头 Process Automation Manager 控制器的应用程序服务器上进行这些属性更改。

先决条件

  • KIE 服务器和无头进程自动化管理器控制器安装在应用服务器实例中。

流程

  1. 在安装了无头 Process Automation Manager 控制器的应用程序服务器实例中指定以下 JVM 属性值:

    表 49.1. 无头进程自动化管理器控制器所需的属性
    名称要求

    org.kie.server.user

    具有 kie-server 角色的用户

    org.kie.server.pwd

    org.kie.server.user 属性中指定的用户的密码

  2. 在安装了 KIE Server 的应用程序服务器实例中指定以下 JVM 属性值:

    表 49.2. 安装无头进程自动化管理器控制器时 KIE 服务器所需的属性
    名称要求

    org.kie.server.controller.user

    具有 kie-server 角色的用户

    org.kie.server.controller.pwd

    org.kie.server.controller.user 属性指定的用户密码

    org.kie.server.id

    KIE 服务器的安装 ID 或名称,如 rhdm700-decision-server-1

    org.kie.server.location

    KIE 服务器的 URL http://<HOST>:<PORT>/kie-server/services/rest/server

    org.kie.server.controller

    无头进程自动化管理器控制器的 URL http://<HOST>:<PORT>/controller/rest/controller

    <HOST > 是 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9

    <PORT > 是 KIE 服务器主机的端口号,例如 7001

49.3. 映射无头流程自动化管理器控制器组和角色

安装无头进程自动化管理器控制器后,在 WebSphere 集成解决方案控制台中,您必须创建 kie-server 组,然后将 kie-server 角色映射到 kie-server 组。

先决条件

  • 无头进程自动化管理器控制器安装在 IBM WebSphere Application Server 实例上。

流程

  1. 在 WebSphere 集成解决方案控制台中,为该组创建 kie-server 组和用户,如 创建 KIE Server 组和角色 中所述。
  2. 导航到 ApplicationsApplication TypesWebSphere Enterprise Applications,再选择新安装的无头 Process Automation Manager 控制器。
  3. Details Properties 下,点 Security Role to User/Group Mapping
  4. 选择 kie-server 角色,然后单击 Map Groups 以搜索 kie-server 组。
  5. kie-server 组从 Available 列表中移到 Selected 列表中,然后单击 OK

    此映射授予之前创建的管理员用户对 Process Automation Manager 的访问权限。

  6. Save 完成映射。

49.4. 验证安装

安装无头 Process Automation Manager 控制器并在应用服务器中定义所需的系统属性和角色要求后,验证无头流程自动化管理器控制器是否正常工作。

先决条件

  • KIE 服务器和无头进程自动化管理器控制器安装在应用服务器实例中。
  • 您已在应用服务器中为无头进程自动化管理器控制器设置了所有必需的系统属性和角色要求。

流程

在命令终端中,输入以下命令验证无头 Process Automation Manager 控制器是否正常工作:

curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H  "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'

<HOST > 是 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9

<PORT > 是 KIE 服务器主机的端口号,例如 7001

<CONTROLLER > 和 <CONTROLLER_PWD > 是您在本节中创建的用户凭证。

该命令应返回有关 KIE 服务器实例的信息。

注意

另外,您可以使用 KIE Server Java API 客户端来访问无头进程自动化管理器控制器。

如果无头流程自动化管理器控制器没有运行,请停止并重启应用服务器实例,然后重试访问无头 Process Automation Manager 控制器 URL 或 API。

第 50 章 在 IBM WebSphere Application Server 中配置嵌入的进程引擎和决策引擎

嵌入式引擎是一个轻量级的工作流和规则集,可让您执行决策和商业流程。嵌入式引擎可以是 Red Hat Process Automation Manager 应用程序的一部分,或者通过 OpenShift、Kubernetes 和 Docker 部署为服务。您可以通过 API 或一组上下文和依赖项注入(CDI)服务在 Red Hat Process Automation Manager 应用程序中嵌入引擎。

如果要将嵌入式引擎与 Red Hat Process Automation Manager 应用程序搭配使用,则必须通过将 Red Hat Business Automation bill of material (BOM)文件添加到项目的 pom.xml 文件中,为项目添加 Maven 依赖项。Red Hat Business Automation BOM 适用于 Red Hat Decision Manager 和 Red Hat Process Automation Manager。有关 Red Hat Business Automation BOM 的更多信息,请参阅 Red Hat Process Automation Manager 和 Maven 库版本之间的映射是什么?

流程

  1. pom.xml 文件中声明 Red Hat Business Automation BOM:

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.11.0.redhat-00005</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. 在 <dependencies> 标签中声明项目 所需的依赖项。将产品 BOM 导入到项目中后,定义了面向用户的产品依赖项的版本,因此您不需要指定这些 <dependency> 元素的 <version> 的子元素。但是,您必须使用 & lt;dependency > 元素声明要在项目中使用的依赖项。

    • 对于基本的 Red Hat Process Automation Manager 项目,根据您要使用的功能声明以下依赖项:

      嵌入式进程引擎依赖项

      <!-- Public KIE API -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <!-- Core dependencies for process engine -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow</artifactId>
      </dependency>
      
      <dependency>
       <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow-builder</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-runtime-manager</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-persistence-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-query-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-audit</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <!-- Dependency needed for default WorkItemHandler implementations. -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-workitems-core</artifactId>
      </dependency>
      
      <!-- Logging dependency. You can use any logging framework compatible with slf4j. -->
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>

    • 对于使用 CDI 的 Red Hat Process Automation Manager 项目,您通常会声明以下依赖项:

      启用 CDI 的进程引擎依赖项

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-services-cdi</artifactId>
      </dependency>

      嵌入式决策引擎依赖项

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
      </dependency>
      
      <!-- Dependency for persistence support. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
      </dependency>
      
      <!-- Dependencies for decision tables, templates, and scorecards.
      For other assets, declare org.drools:business-central-models-* dependencies. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-scorecards</artifactId>
      </dependency>
      
      <!-- Dependency for loading KJARs from a Maven repository using KieScanner. -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
      </dependency>

    • 要使用 KIE 服务器,请声明以下依赖项:

      客户端应用程序 KIE 服务器依赖项

      <dependency>
        <groupId>org.kie.server</groupId>
        <artifactId>kie-server-client</artifactId>
      </dependency>

    • 要为 Red Hat Process Automation Manager 创建远程客户端,请声明以下依赖项:

      客户端依赖项

      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-rest-client</artifactId>
      </dependency>

    • 在创建包含资产(如规则和进程定义)的 JAR 文件时,请将 Maven 项目的打包类型指定为 kjar,并使用 org.kie:kie-maven-plugin 来处理 < project > 元素下的 kjar 打包类型。在以下示例中,${kie.version}Red Hat Process Automation Manager 和 Maven 库版本之间的映射中列出的 Maven 库版本?

      <packaging>kjar</packaging>
      <build>
       <plugins>
        <plugin>
         <groupId>org.kie</groupId>
         <artifactId>kie-maven-plugin</artifactId>
         <version>${kie.version}</version>
         <extensions>true</extensions>
        </plugin>
       </plugins>
      </build>
  3. 如果您在项目中使用带有持久性支持的进程引擎或决策引擎,则必须通过复制 Red Hat Business Automation BOM 文件中的 version.org.hibernate-4ee7 属性在 pom.xml 文件的 dependencies Management 部分中声明以下休眠依赖项

    Hibernate 依赖项

    <!-- hibernate dependencies -->
    <dependencyManagement>
      <dependencies>
        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${version.org.hibernate-4ee7}</version>
        </dependency>
    
        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${version.org.hibernate-4ee7}</version>
        </dependency>
      </dependencies>
    </dependencyManagement>

第 51 章 使用密钥存储保护密码

您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。

将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。

注意

如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。

先决条件

流程

  1. 创建 JCEKS 密钥存储。
  2. 提示时,输入您创建的 KIE 服务器用户的密码。
  3. 设置下表中列出的系统属性:

    表 51.1. 用于载入 KIE 服务器 JCEKS 的系统属性
    系统属性占位符描述

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    要使用的 JCEKS 的 URL,如 file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS 的密码

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    保存密码的 REST 服务的密钥别名

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    使用存储的密码的 REST 服务的别名密码

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    存储密码的默认 REST Process Automation Controller 的密钥别名

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    使用存储密码的默认 REST Process Automation Controller 别名的密码

  4. 启动 KIE 服务器以验证配置。

第 52 章 后续步骤

部分 VI. 在 Oracle WebLogic 服务器上安装和配置 KIE 服务器

作为系统管理员,您可以为 Red Hat KIE 服务器配置 Oracle WebLogic 服务器,并在该 Oracle 服务器实例上安装 KIE 服务器。

注意

现在,在 Oracle WebLogic Server 上对 Red Hat Process Automation Manager 的支持处于维护阶段。红帽将继续在 Oracle WebLogic 服务器上支持 Red Hat Process Automation Manager,但有以下限制:

  • 红帽不会发布新的认证或软件功能。
  • 红帽只会发布具有严重影响和关键任务程序错误修复的合格安全补丁。

未来,红帽可能会指示客户迁移到与红帽混合云策略兼容的新平台和产品组件。

先决条件

  • 已安装 Oracle WebLogic 服务器实例版本 12.2.1.3.0 或更高版本。有关完整安装说明,请参阅 Oracle WebLogic Server 产品页面
  • 您可以访问 Oracle WebLogic 服务器管理控制台,通常位于 http://<HOST>:7001/console

第 53 章 KIE 服务器

KIE 服务器是存储并运行 Red Hat Process Automation Manager 的规则和其他工件的服务器。KIE 服务器是一个独立的内置组件,可用于通过用于 REST、Java 消息服务(JMS)或 Java 客户端端应用程序的接口来实例化和执行规则,以及通过解析器管理进程、作业和红帽构建的 OptaPlanner 功能。

作为 Web 可部署的 WAR 文件创建,KIE 服务器可以部署到任何 web 容器中。KIE 服务器的当前版本包含在 Red Hat Decision Manager 和 Red Hat Process Automation Manager 的默认扩展中。

KIE 服务器具有较少的内存消耗,因此可以在云实例上轻松部署。此服务器的每个实例都可以打开并实例化多个容器,您可以并行执行多个规则服务。

KIE 服务器可以与其他应用服务器(如 Oracle WebLogic Server 或 IBM WebSphere Application Server)集成,以简化 Red Hat Process Automation Manager 应用程序管理。

第 54 章 Oracle WebLogic Server

Oracle WebLogic Server 是一个 Java EE 应用服务器,它提供一组标准 API,用于创建分布式 Java 应用程序,可以访问各种服务,如数据库、消息传递服务和外部企业系统的连接。用户客户端使用 Web 浏览器客户端或 Java 客户端访问这些应用程序。

第 55 章 安装并运行 Oracle WebLogic 服务器

必须安装并运行 Oracle WebLogic 服务器,才能应用适合 KIE 服务器的许多配置。这部分论述了如何在独立 Oracle WebLogic Server 域中安装和启动 Oracle WebLogic Server。

有关最新和详细的安装说明,请查看 Oracle WebLogic Server 产品页面

注意

如果您已经运行了一个 Oracle WebLogic Server 实例,其使用与您要启动的服务器使用的监听程序端口相同的端口,您必须在启动第二个服务器前停止第一个服务器。

流程

  1. 从 Oracle WebLogic Server Downloads 页 下载 Oracle WebLogic Server 12.2.1.3.0 或更高版本。
  2. 登录到目标系统,并验证系统上是否已存在经过认证的 JDK。安装程序需要认证的 JDK。有关系统要求,请参阅 Oracle Fusion 中间件系统要求和规格。要下载 JDK,请参阅 规划 Oracle Fusion 中间件安装中的"关于 Oracle Fusion 中间件安装"的"About JDK 要求"部分。
  3. 进入您下载安装程序的目录。
  4. 要启动安装程序,请从系统中的 JDK 目录中运行 java -jar,如下例所示:

    在基于 UNIX 的操作系统中,输入以下命令:

    /home/Oracle/jdk/jdk1.8.0_131/bin/java -jar fmw_12.2.1.3.0_wls_generic.jar

    在 Windows 操作系统中输入以下命令:

    C:\Program Files\Java\jdk1.8.0_131\bin\java -jar fmw_12.2.1.3.0_wls_generic.jar

    将这些示例中的 JDK 位置替换为您系统上的实际 JDK 位置。

  5. 按照安装向导来完成安装。
  6. 安装完成后,导航到 WLS_HOME/user_projects/<DOMAIN_NAME> 目录,其中 & lt; DOMAIN_NAME&gt; 是域目录。在以下示例中,mydomain 是域目录:

    WLS\user_projects\mydomain
  7. 输入以下命令之一启动 Oracle WebLogic 服务器:

    在基于 UNIX 的操作系统中,输入以下命令:

    startWebLogic.sh

    在 Windows 操作系统中输入以下命令:

    startWebLogic.cmd

    启动脚本显示一系列信息,最后会显示类似如下的消息:

    <Dec 8, 2017 3:50:42 PM PDT> <Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
  8. 在网页浏览器中打开以下 URL:

    http://<HOST>:<PORT>/console

    在这个命令中,替换以下放置拥有者:

    • <HOST > 替换为主机服务器的系统名称或 IP 地址。
    • 将 & lt;PORT > 替换为主机服务器侦听请求的端口号(默认为7001)。

    例如,要为系统上运行的 Oracle WebLogic Server 的一个本地实例启动管理控制台,请在 Web 浏览器中输入以下 URL:

    http://localhost:7001/console/

    如果您使用安全套接字层(SSL)启动管理控制台,您必须在 http 后添加 s,如下所示: https://<HOST>:<PORT>/console

  9. 出现 WebLogic 管理控制台的登录页面时,请输入您的管理凭据。

第 56 章 为 KIE 服务器配置 Oracle WebLogic 服务器

在使用 Oracle WebLogic 服务器部署 KIE 服务器前,您必须在 Oracle WebLogic 服务器上配置系统属性、安全设置、JMS 要求和其他属性。这些配置提升了与 KIE 服务器的最佳集成。

先决条件

  • Oracle WebLogic Server 已安装并运行。
  • 您已登录到 WebLogic 管理控制台。

56.1. 配置 KIE Server 组和用户

您必须将用户分配给 WebLogic 管理控制台中的 kie-server 组,以便在 Oracle WebLogic Server 中启用容器管理的身份验证机制。

流程

  1. 在 WebLogic 管理控制台中,单击 Security Realms
  2. 选择您需要的安全域,或者点击 New 来创建新的安全域。
  3. 导航到 Users and GroupsGroupsNew 并创建 kie-server 组。
  4. 导航到 UsersNew 并创建新用户。
  5. 输入用户,如 server-user,以及此新用户的密码,然后单击 OK

    重要

    确保所选用户名不会与角色或组的任何已知标题冲突。例如,如果有一个名为 kie-server 的角色,则不要创建名为 kie-server 的用户。

  6. 单击新创建的用户,然后返回到 Groups 选项卡。
  7. 使用选择工具将 kie-server 组从 Available 字段移到 Chosen 字段,然后单击 Save

56.2. 在 Oracle WebLogic 服务器中配置 JDBC 数据源

数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 Oracle WebLogic 服务器配置数据源,以确保服务器和指定数据库之间的适当的数据交换。

通常,使用 Red Hat Process Automation Manager 的解决方案在一个事务中管理多个资源。JMS,用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序,以确保数据原子性和一致的结果。如果监听器中存在不同模式的事务代码,或来自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。

除非还没有参与单个事务的多个资源,否则请不要使用非 XA 数据源。

先决条件

  • 用于创建数据库连接的 JDBC 驱动程序安装在您要在其上部署数据源的所有服务器上。一些 JDBC 驱动程序安装有 Oracle WebLogic Server,如 DB2、Informix、MS SQL Server 和 192.168.1.0/24 的 WebLogic 品牌数据直接 JDBC 驱动程序。有关 JDBC 驱动程序的更多信息,请参阅 Oracle 帮助中心 中的 使用带有 WebLogic 服务器的 JDBC 驱动程序

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 完成以下步骤以准备您的数据库:

    1. rhpam-7.11.0-add-ons.zip 提取到临时目录中,例如 TEMP_DIR
    2. Extract TEMP_DIR/rhpam-7.11.0-migration-tool.zip.
    3. 将您的当前目录更改为 TEMP_DIR/rhpam-7.11.0-migration-tool/ddl-scripts 目录。此目录包含多个数据库类型的 DDL 脚本。
    4. 将数据库类型的 DDL 脚本导入到您要使用的数据库中,例如:

      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      注意

      如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,例如 /ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql

  4. 在 WebLogic 管理控制台中,导航到 Change CenterLock & Edit
  5. Domain Structure 下,点 ServicesData Sources
  6. Data Sources 页面的 Summary 中,点 NewGeneric Data Source
  7. JDBC Data Sources Properties 页面中,输入或选择以下信息:

    • 名称 : 输入此 JDBC 数据源的名称。每当引用此数据源时,此名称都会在配置文件中(config.xml)和管理控制台中使用。
    • JNDI Name : 输入绑定到此 JDBC 数据源的 JNDI 路径。在保留连接时,应用会根据此名称在 JNDI 树上查找数据源。
    • 数据库类型 : 选择您要连接的数据库的 DBMS。如果您的 DBMS 没有列出,请选择 Other
  8. Next 继续。
  9. 选择您要用于连接数据库的 Database Driver。该列表包括所选 DBMS 的常见 JDBC 驱动程序,以及之前安装的任何其他 JDBC 驱动程序。
  10. Transaction Options 页面中,保留 Supports Global Transactions 选项,并从可用的事务选项中选择。您还可以清除此复选框来禁用(忽略)此数据源中的全局事务。在大多数情况下,您应该选择选项以获得最佳数据效率。

    • 2-Phase Commit:选择这个选项来启用标准 XA 处理。只有在您选择 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
    • Logging Last Resource: 选择这个选项可启用非 XA JDBC 连接,以使用 Logging Last Resource (LLR)事务优化来参与全局事务。建议使用这个选项代替 Emulate Two-Phase Commit。只有在选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
    • 模拟双Phase Commit : 选择这个选项来启用非 XA JDBC 连接,以使用 JTA 来模拟分布式事务。只有在应用程序可以容忍 heuristic 条件时,才选择这个选项。只有在选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
    • One-Phase Commit: 选择这个选项可启用非 XA 连接作为唯一事务参与的全局事务。只有在选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
  11. Next 继续。
  12. Connection Properties 页面中,输入以下属性的值:

    • Service Name: 指定要连接到的数据库的服务名称。如果提供了多个数据源,则每个数据源都必须相同。只有在为 Oracle Real Application Clusters (RAC)选择了其中一个可用服务实例连接驱动程序时,此字段才可用。
    • 数据库名称 : 输入您要连接到的数据库的名称。确切的数据库名称要求因 JDBC 驱动程序和 DBMS 而异。
    • 主机名 : 输入托管数据库的服务器的 DNS 名称或 IP 地址。如果您要创建 Oracle GridLink 服务实例连接,如果提供了多个数据源,则这必须相同。
    • port 输入数据库服务器侦听连接请求的端口。
    • 数据库用户名 : 输入您要用于数据源中每个连接的数据库用户帐户名称。
    • password /Confirm Password : 输入数据库用户帐户的密码。
    • Oracle.jdbc.DRCPConnectionClass : 可选,输入 Database Resident Connection Pooling (DCRP)连接类(如果您的环境需要)。
  13. Next 继续。
  14. Test Database Connection 页面上,检查连接参数并点 Test Configuration

    Oracle WebLogic 服务器尝试从管理服务器创建与数据库的连接。连接测试的结果显示在页面的顶部。如果测试失败,请更正任何配置错误并重试测试。

  15. 如果选择的 JDBC 驱动程序没有安装到管理服务器上,请单击 Next 以继续或跳过这一步。
  16. Select Targets 页面中,选择要在其上部署数据源的服务器或集群,然后点 Finish
  17. 返回到 WebLogic 管理控制台的主菜单,然后选择 Change CenterActivate Changes

有关 Oracle WebLogic 服务器数据源的更多信息,请参阅 Oracle 帮助中心 中的 Oracle WebLogic 服务器的 JDBC 数据源。

56.3. 配置 Java 消息服务(JMS)

Java 消息服务(JMS)是一种 Java API,KIE 服务器用来与其他应用服务器(如 Oracle WebLogic Server 和 IBM WebSphere Application Server)交换消息。您必须将应用服务器配置为通过 KIE 服务器发送和接收 JMS 消息,以确保两个服务器间的协作。

56.3.1. 创建 JMS 服务器

创建一个 JMS 服务器,将 JMS 与 KIE 服务器和 Oracle WebLogic 服务器一起使用。

流程

  1. 在 WebLogic 管理控制台中,导航到 ServicesMessagingJMS Servers
  2. 单击 New 以创建新的 JMS 服务器。
  3. 输入您的 JMS 服务器的名称,然后点 Next
  4. 选择为 KIE 服务器部署选择的目标服务器。
  5. Finish

56.3.2. 创建 JMS 模块

您必须创建一个 JMS 模块来存储 JMS 资源,如连接工厂和队列。

先决条件

  • 您已创建了 JMS 服务器。

流程

  1. 在 WebLogic 管理控制台中,导航到 ServicesMessagingJMS Modules
  2. 单击 New 以创建模块。
  3. 输入模块名称并点 Next
  4. 选择为 KIE 服务器部署选择的目标服务器,然后单击 Finish
  5. 单击新创建的模块名称,然后单击 Subdeployments
  6. New 为您的模块创建子部署。
  7. 为您的子部署指定一个名称并点击 Next
  8. 选中复选框,以选择之前创建的 JMS 服务器。
  9. Finish 完成子部署配置。

56.3.3. 创建 JMS 连接工厂

要使用 KIE 服务器启用消息传递,您必须创建某些 JMS 连接工厂来发送和接收消息。

先决条件

  • 您已创建了 JMS 服务器。
  • 您已创建了 JMS 模块。

流程

  1. 在 WebLogic 管理控制台中,导航到 ServicesMessagingJMS Modules 来查看 JMS 模块列表。
  2. 选择之前创建的模块,然后单击 New 以创建新的 JMS 资源。
  3. 选择 Connection Factory 并点 Next
  4. 对于下表中列出的每个模拟的连接工厂,请输入连接工厂的名称(如 KIE.SERVER.REQUEST)和 JNDI 名称(如 jms/cf/KIE.SERVER.REQUEST),然后单击 Next。连接工厂会自动选择分配给 JMS 模块的服务器作为默认值。

    表 56.1. KIE 服务器所需的 JMS 连接工厂
    名称默认值用于

    KIE.SERVER.REQUEST

    jms/cf/KIE.SERVER.REQUEST

    将所有请求发送到 KIE 服务器

    KIE.SERVER.RESPONSE

    jms/cf/KIE.SERVER.RESPONSE

    接收 KIE 服务器生成的所有响应

    KIE.SERVER.EXECUTOR

    jms/cf/KIE.SERVER.EXECUTOR

    KIE 服务器执行器服务

  5. Finish 添加连接工厂,并为每个所需工厂重复。

56.3.4. 创建 JMS 队列

JMS 队列是点对点消息传递的目的地端点。您必须创建特定的 JMS 队列,以便使用 KIE 服务器启用 JMS 消息传递。

先决条件

  • 您已创建了 JMS 服务器。
  • 您已创建了 JMS 模块。

流程

  1. 在 WebLogic 管理控制台中,导航到 ServicesMessagingJMS Modules 来查看 JMS 模块列表。
  2. 选择之前创建的模块,然后单击 New 以创建新的 JMS 资源。
  3. 选择 Queue 并点 Next
  4. 对于下表中列出的每个所需队列,请输入队列的名称(如 KIE.SERVER.REQUEST)和 JNDI 名称(如 jms/KIE.SERVER.REQUEST),然后单击 Next

    表 56.2. KIE 服务器所需的 JMS 队列
    名称默认值用于

    KIE.SERVER.REQUEST

    jms/KIE.SERVER.REQUEST

    将所有请求发送到 KIE 服务器

    KIE.SERVER.RESPONSE

    jms/KIE.SERVER.RESPONSE

    接收 KIE 服务器生成的所有响应

    KIE.SERVER.EXECUTOR

    jms/KIE.SERVER.EXECUTOR

    KIE 服务器执行器服务

  5. 选择连接到 JMS 服务器的 JMS 模块子部署。
  6. Finish 添加队列,并为每个所需队列重复。

56.4. 在 Oracle WebLogic 服务器中设置系统属性

在部署 KIE 服务器前,设置此部分中列出的系统属性。

流程

  1. 设置以下系统属性以增加 Java 虚拟机(JVM)内存大小:

    USER_MEM_ARGS=-Xms512m -Xmx1024m

    如果您不增加 JVM 内存大小,Oracle WebLogic 服务器会在部署 KIE 服务器时冻结或导致部署错误。

  2. 在 Oracle WebLogic 服务器实例中为 KIE 服务器指定以下系统属性:

    表 56.3. KIE 服务器的系统属性
    名称描述

    kie.server.jms.queues.response

    jms/KIE.SERVER.RESPONSE

    KIE 服务器使用的响应的 JMS 队列名称。

    org.kie.server.domain

    OracleDefaultLoginConfiguration

    使用 JMS 时用于验证用户的 JAAS LoginContext 域。

    org.kie.server.persistence.ds

    jdbc/jbpm

    KIE 服务器的数据源 JNDI 名称。

    org.kie.server.persistence.tm

    org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform

    设置 Hibernate 属性的事务管理器平台。

    org.kie.server.persistence.dialect

    示例: org.hibernate.dialect.H2Dialect

    指定要使用的 Hibernate dialect。根据数据源设置。

    org.kie.executor.jms.queue

    jms/KIE.SERVER.EXECUTOR

    KIE 服务器的作业执行 JMS 队列。

    org.kie.executor.jms.cf

    jms/cf/KIE.SERVER.EXECUTOR

    KIE 服务器的作业执行者 JMS 连接工厂。

    org.kie.server.router

    示例: http://localhost:9000

    (可选)为应用服务器在集群 KIE 服务器环境中的一部分指定一个或多个 KIE 服务器路由器(Smart Router)的一个或多个 URL。

  3. JAVA_OPTIONS 环境变量中设置相同的属性值:

    JAVA_OPTIONS="-Dkie.server.jms.queues.response=jms/KIE.SERVER.RESPONSE
     -Dorg.kie.server.domain=OracleDefaultLoginConfiguration
     -Dorg.kie.executor.jms.cf=jms/cf/KIE.SERVER.EXECUTOR
     -Dorg.kie.executor.jms.queue=jms/KIE.SERVER.EXECUTOR
     -Dorg.kie.server.persistence.ds=jdbc/jbpm
     -Dorg.kie.server.persistence.tm=org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform
     -Dorg.kie.server.persistence.dialect=org.hibernate.dialect.H2Dialect
    // Optional server router, for clustered server environment
     -Dorg.kie.server.router=http://localhost:9000

56.5. 停止并重启 Oracle WebLogic 服务器

在 Oracle WebLogic 服务器中配置了所有必需的系统属性后,停止并重启 Oracle 服务器,以确保应用配置。

流程

  1. 在 WebLogic 管理控制台中,导航到 Change CenterLock & Edit
  2. Domain Structure 下,点 EnvironmentServersControl
  3. 选择您要停止的服务器,然后单击 Shutdown
  4. 选择 When Work Completes 来安全地关闭服务器,或者选择 Force Shutdown Now 以立即停止服务器,而无需完成持续的任务。
  5. Server Life Cycle Assistant 窗格中,点 Yes 完成关闭。
  6. 关闭完成后,在命令行终端中进入域目录 WLS_HOME/user_projects/<DOMAIN_NAME>。例如:

    WLS\user_projects\mydomain
  7. 输入以下命令之一重启 Oracle WebLogic Server 以应用新配置:

    在基于 UNIX 的操作系统中:

    startWebLogic.sh

    在 Windows 操作系统中:

    startWebLogic.cmd
  8. 在 Web 浏览器中打开管理控制台(例如 http://localhost:7001/console/),并使用您的凭证登录。

第 57 章 使用 Oracle WebLogic Server 安装 KIE 服务器

在 Oracle WebLogic 服务器中配置了所有必需的系统属性后,您可以使用 Oracle WebLogic Server 安装 KIE 服务器,以简化 Red Hat Process Automation Manager 应用程序管理。

先决条件

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 所有支持的 EE7 容器的 Red Hat Process Automation Manager 7.11.0 KIE 服务器
  3. 将下载的 rhpam-7.11.0-kie-server-ee7.zip 文件提取到临时目录中。
  4. 在 WebLogic 管理控制台中,导航到 Deployments 以查看所有现有的应用程序。
  5. Install
  6. 导航到您下载并提取 rhpam-7.11.0-kie-server-ee7.zip 文件的临时目录,然后进入 rhpam-7.11.0-kie-server-ee7/kie-server.war
  7. 选择 kie-server.war 文件,然后点 Next 继续。
  8. 选择 Install this deployment 作为应用程序 作为目标风格,然后点 Next
  9. 将应用程序名称设置为 kie-server,并将安全模型设置为 DD only。将剩余的选项保留为默认值,然后单击 Next 以继续。
  10. Additional Configuration 部分中,选择 No,稍后将检查配置 并点 Finish

57.1. 验证 Oracle WebLogic 服务器上的 KIE 服务器安装

在 Oracle WebLogic Server 上安装 KIE Server 后,验证安装是否成功。

先决条件

流程

  1. 在 web 浏览器中输入 KIE Server URL http://<HOST>:<PORT>/kie-server/services/rest/server
  2. 验证 KIE 服务器是否正在运行。

    如果 KIE 服务器没有运行,停止并重启 Oracle WebLogic 服务器实例,然后重试访问 KIE 服务器 URL。

第 58 章 使用 Oracle WebLogic Server 安装并运行无头流程自动化管理器控制器

要使用 KIE Server REST API 或 Java 客户端 API 与 KIE 服务器交互,请使用 Oracle WebLogic Server 安装无头进程自动化管理器控制器。无头流程自动化管理器控制器以集中的方式管理 KIE 服务器配置,以便您可以使用无头流程自动化管理器控制器创建和维护容器并执行其他服务器级别任务。

先决条件

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : 流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 将下载的 rhpam-7.11.0-add-ons.zip 文件提取到临时目录中。
  4. 在 WebLogic 管理控制台中,导航到 Security RealmsUsers and Groups
  5. 在之前创建的 kie-server 组中,为无头流程自动化管理器控制器创建一个用户,如 控制器,以及此新用户的密码,然后单击 OK。有关创建组和用户的详情请参考 第 56.1 节 “配置 KIE Server 组和用户”
  6. 导航到 Deployments 以查看所有现有的应用程序。
  7. Install
  8. 导航到您下载并提取 rhpam-7.11.0-add-ons.zip 文件的临时目录,然后进入 rhpam-7.11.0-add-ons/rhpam-7.11.0-controller-ee7.zip/controller.war
  9. 选择 controller.war 文件,然后点 Next 继续。
  10. 选择 Install this deployment 作为应用程序 作为目标风格,然后点 Next
  11. 将应用程序的名称保留为 controller,将安全模式设置为 DD Only。将剩余的选项保留为默认值,然后单击 Next 以继续。
  12. Additional Configuration 部分中,选择 No,稍后将检查配置 并点 Finish

58.1. 为无头进程自动化管理器控制器设置系统属性

安装无头 Process Automation Manager 控制器后,请在应用服务器或服务器上设置此部分中列出的系统属性,以启用与无头 Process Automation Manager 控制器正确交互。

注意

为获得最佳结果,在生产环境中的不同服务器上安装 KIE Server 和无头流程自动化管理器控制器。在开发环境中,您可以在同一服务器上安装 KIE 服务器和无头进程自动化管理器控制器。在这两种情况下,请确保在所有安装了无头 Process Automation Manager 控制器的应用程序服务器上进行这些属性更改。

先决条件

  • KIE 服务器和无头进程自动化管理器控制器安装在应用服务器实例中。

流程

  1. 在安装了无头 Process Automation Manager 控制器的应用程序服务器实例中指定以下 JVM 属性值:

    表 58.1. 无头进程自动化管理器控制器所需的属性
    名称要求

    org.kie.server.user

    具有 kie-server 角色的用户

    org.kie.server.pwd

    org.kie.server.user 属性中指定的用户的密码

  2. 在安装了 KIE Server 的应用程序服务器实例中指定以下 JVM 属性值:

    表 58.2. 安装无头进程自动化管理器控制器时 KIE 服务器所需的属性
    名称要求

    org.kie.server.controller.user

    具有 kie-server 角色的用户

    org.kie.server.controller.pwd

    org.kie.server.controller.user 属性指定的用户密码

    org.kie.server.id

    KIE 服务器的安装 ID 或名称,如 rhdm700-decision-server-1

    org.kie.server.location

    KIE 服务器的 URL http://<HOST>:<PORT>/kie-server/services/rest/server

    org.kie.server.controller

    无头进程自动化管理器控制器的 URL http://<HOST>:<PORT>/controller/rest/controller

    <HOST > 是 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9

    <PORT > 是 KIE 服务器主机的端口号,例如 7001

58.2. 验证安装

安装无头 Process Automation Manager 控制器并在应用服务器中定义所需的系统属性和角色要求后,验证无头流程自动化管理器控制器是否正常工作。

先决条件

  • KIE 服务器和无头进程自动化管理器控制器安装在应用服务器实例中。
  • 您已在应用服务器中为无头进程自动化管理器控制器设置了所有必需的系统属性和角色要求。

流程

在命令终端中,输入以下命令验证无头 Process Automation Manager 控制器是否正常工作:

curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H  "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'

<HOST > 是 KIE 服务器主机的 ID 或名称,例如 localhost192.7.8.9

<PORT > 是 KIE 服务器主机的端口号,例如 7001

<CONTROLLER > 和 <CONTROLLER_PWD > 是您在本节中创建的用户凭证。

该命令应返回有关 KIE 服务器实例的信息。

注意

另外,您可以使用 KIE Server Java API 客户端来访问无头进程自动化管理器控制器。

如果无头流程自动化管理器控制器没有运行,请停止并重启应用服务器实例,然后重试访问无头 Process Automation Manager 控制器 URL 或 API。

第 59 章 在 Oracle WebLogic 服务器中配置嵌入式进程引擎和决策引擎

嵌入式引擎是一个轻量级的工作流和规则集,可让您执行决策和商业流程。嵌入式引擎可以是 Red Hat Process Automation Manager 应用程序的一部分,或者通过 OpenShift、Kubernetes 和 Docker 部署为服务。您可以通过 API 或一组上下文和依赖项注入(CDI)服务在 Red Hat Process Automation Manager 应用程序中嵌入引擎。

如果要将嵌入式引擎与 Red Hat Process Automation Manager 应用程序搭配使用,则必须通过将 Red Hat Business Automation bill of material (BOM)文件添加到项目的 pom.xml 文件中,为项目添加 Maven 依赖项。Red Hat Business Automation BOM 适用于 Red Hat Decision Manager 和 Red Hat Process Automation Manager。有关 Red Hat Business Automation BOM 的更多信息,请参阅 Red Hat Process Automation Manager 和 Maven 库版本之间的映射是什么?

流程

  1. pom.xml 文件中声明 Red Hat Business Automation BOM:

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.11.0.redhat-00005</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. 在 <dependencies> 标签中声明项目 所需的依赖项。将产品 BOM 导入到项目中后,定义了面向用户的产品依赖项的版本,因此您不需要指定这些 <dependency> 元素的 <version> 的子元素。但是,您必须使用 & lt;dependency > 元素声明要在项目中使用的依赖项。

    • 对于基本的 Red Hat Process Automation Manager 项目,根据您要使用的功能声明以下依赖项:

      嵌入式进程引擎依赖项

      <!-- Public KIE API -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <!-- Core dependencies for process engine -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow-builder</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-runtime-manager</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-persistence-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-query-jpa</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-audit</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <!-- Dependency needed for default WorkItemHandler implementations. -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-workitems-core</artifactId>
      </dependency>
      
      <!-- Logging dependency. You can use any logging framework compatible with slf4j. -->
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>

    • 对于使用 CDI 的 Red Hat Process Automation Manager 项目,您通常会声明以下依赖项:

      启用 CDI 的进程引擎依赖项

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
      </dependency>
      
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-services-cdi</artifactId>
      </dependency>

      嵌入式决策引擎依赖项

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
      </dependency>
      
      <!-- Dependency for persistence support. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
      </dependency>
      
      <!-- Dependencies for decision tables, templates, and scorecards.
      For other assets, declare org.drools:business-central-models-* dependencies. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-scorecards</artifactId>
      </dependency>
      
      <!-- Dependency for loading KJARs from a Maven repository using KieScanner. -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
      </dependency>

    • 要使用 KIE 服务器,请声明以下依赖项:

      客户端应用程序 KIE 服务器依赖项

      <dependency>
        <groupId>org.kie.server</groupId>
        <artifactId>kie-server-client</artifactId>
      </dependency>

    • 要为 Red Hat Process Automation Manager 创建远程客户端,请声明以下依赖项:

      客户端依赖项

      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-rest-client</artifactId>
      </dependency>

    • 在创建包含资产(如规则和进程定义)的 JAR 文件时,请将 Maven 项目的打包类型指定为 kjar,并使用 org.kie:kie-maven-plugin 来处理 < project > 元素下的 kjar 打包类型。在以下示例中,${kie.version}Red Hat Process Automation Manager 和 Maven 库版本之间的映射中列出的 Maven 库版本?

      <packaging>kjar</packaging>
      <build>
       <plugins>
        <plugin>
         <groupId>org.kie</groupId>
         <artifactId>kie-maven-plugin</artifactId>
         <version>${kie.version}</version>
         <extensions>true</extensions>
        </plugin>
       </plugins>
      </build>
  3. 如果您在项目中使用带有持久性支持的进程引擎或决策引擎,则必须通过复制 Red Hat Business Automation BOM 文件中的 version.org.hibernate-4ee7 属性在 pom.xml 文件的 dependencies Management 部分中声明以下休眠依赖项

    Hibernate 依赖项

    <!-- hibernate dependencies -->
    <dependencyManagement>
      <dependencies>
        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${version.org.hibernate-4ee7}</version>
        </dependency>
    
        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${version.org.hibernate-4ee7}</version>
        </dependency>
      </dependencies>
    </dependencyManagement>

第 60 章 使用密钥存储保护密码

您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。

将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。使用 KeyTool (作为 JDK 安装的一部分)创建新的 JCEKS。

注意

如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。

先决条件

流程

  1. 要使用 KeyTool 创建 JCEKS,请在 Java 8 主目录中输入以下命令:

    $<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS

    在本例中,替换以下变量:

    • <KEYSTORE_PATH > :存储密钥存储的路径
    • <KEYSTORE_PASSWORD > :密钥存储密码
    • <ALIAS_KEY_PASSWORD > :用于访问别名存储的值的密码
    • <PASSWORD_ALIAS > :对进程的条目的别名
  2. 提示时,输入您创建的 KIE 服务器用户的密码。
  3. 设置下表中列出的系统属性:

    表 60.1. 用于载入 KIE 服务器 JCEKS 的系统属性
    系统属性占位符描述

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    要使用的 JCEKS 的 URL,如 file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS 的密码

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    保存密码的 REST 服务的密钥别名

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    使用存储的密码的 REST 服务的别名密码

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    存储密码的默认 REST Process Automation Controller 的密钥别名

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    使用存储密码的默认 REST Process Automation Controller 别名的密码

  4. 启动 KIE 服务器以验证配置。

第 61 章 后续步骤

部分 VII. 补丁和升级 Red Hat Process Automation Manager 7.11

作为 Red Hat Process Automation Manager 用户,您可以在红帽客户门户网站中提供更新时对 Red Hat Process Automation Manager 应用更新,以使用最新的改进和修复保持您的 Red Hat Process Automation Manager 发行版本。红帽为新的产品版本提供更新工具和产品通知,以便您可以更方便地为 Red Hat Process Automation Manager 和 KIE Server 应用有用的更新。

先决条件

第 62 章 Red Hat Process Automation Manager 版本

Red Hat Process Automation Manager 版本使用数字 Major.Minor.Patch 格式来指定,如 7.11.1。在本例中,主版本为 7.x.x,次发行版本为 7.11.x,补丁版本为 7.11.1。主发行版本通常需要数据迁移,而次发行版本升级和补丁更新更新更新通常使用 Red Hat Process Automation Manager 发行版本工件提供的更新工具。

以下是 Red Hat Process Automation Manager 的一般发行版本类型:

主发行版本迁移

Red Hat Process Automation Manager 的主要发行版本包括显著的改进、安全更新、程序错误修正以及可能会重新设计的功能。当应用程序从一个主版本移到另一个主版本时,比如从 Red Hat JBoss BPM Suite 6.4.x 迁移到 Red Hat Process Automation Manager 7.0 时,通常会需要数据迁移。通常,自动化迁移工具会附带新的 Red Hat Process Automation Manager 主版本来方便迁移,但某些数据和配置可能需要进行一些手动工作。支持的迁移路径在产品公告和文档中指定。

有关迁移说明,请参阅从 Red Hat JBoss BPM Suite 6.4 迁移到 Red Hat Process Automation Manager 7.0

次发行版本升级

Red Hat Process Automation Manager 的次发行版本包括功能增强、安全更新和程序错误修复。当应用程序从一个次版本移到另一个次发行版本时,如从 Red Hat Process Automation Manager 7.10.x 移到 7.11 时,可能需要数据迁移。自动更新工具通常随补丁更新和 Red Hat Process Automation Manager 的新次要版本一起提供,以便于更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。其他 Red Hat Process Automation Manager 工件(如决策引擎和独立 Business Central)作为每个次发行版本的新工件发布,您必须重新安装它们以应用更新。

在升级到新的次版本前,将最新的补丁更新应用到您当前的 Red Hat Process Automation Manager 版本,以确保次版本升级成功。

补丁更新

Red Hat Process Automation Manager 的补丁更新包括最新的安全更新和程序错误修复。调度补丁更新包含该产品的次版本的所有之前发布的补丁更新,因此您不需要逐步应用每个补丁更新以应用最新的更新。例如,您可以将 Red Hat Process Automation Manager 7.10.0 或 7.10.1 更新至 Red Hat Process Automation Manager 7.10.2。但是,为了获得最佳的 Red Hat Process Automation Manager 性能,请在产品可用时应用产品更新。有时,红帽可能会在现有产品的常规更新周期外发布未计划补丁更新。它们可能包括由红帽全球支持服务(GSS)提供的安全或其他更新来修复特定的问题,且可能无法累积更新。

自动更新工具通常随补丁更新和 Red Hat Process Automation Manager 的新次要版本一起提供,以便于更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。其他 Red Hat Process Automation Manager 工件(如决策引擎和独立 Business Central)作为每个次发行版本的新工件发布,您必须重新安装它们以应用更新。

为确保在发行版本之间最佳过渡,并将 Red Hat Process Automation Manager 与最新的改进和修复保持最新发行,在红帽客户门户网站中提供新的产品版本和更新。考虑在红帽客户门户网站中启用产品通知。

有关启用产品通知的详情,请参考 第 63 章 在红帽客户门户网站中启用 Red Hat Process Automation Manager 通知

第 63 章 在红帽客户门户网站中启用 Red Hat Process Automation Manager 通知

您可以在红帽客户门户网站中启用通知来接收 Red Hat Process Automation Manager 更新和公告。这些通知会告知您更新或添加与 Red Hat Process Automation Manager 相关的文档、产品版本和补丁更新。启用通知后,您可以在红帽客户门户网站中提供产品更新时,将产品更新应用到 Red Hat Process Automation Manager,以使用最新的功能增强和修复保持您的 Red Hat Process Automation Manager 发行版本。

先决条件

  • 您有一个红帽客户门户网站帐户并已登录。

流程

  1. 在红帽客户门户窗口右上角,点击您的配置集名称并点击 Notifications
  2. 选择 Notifications 选项卡,再单击 Manage Notifications
  3. Follow 旁边,从下拉菜单中选择 Products,然后从出现的下一个下拉菜单中选择 Red Hat Process Automation Manager
  4. 单击 Save Notification 来完成。

您可以根据需要为任何其他产品添加通知,其方式相同。

第 64 章 将补丁更新和次版本升级到 Red Hat Process Automation Manager

自动更新工具通常随补丁更新和 Red Hat Process Automation Manager 的新次要版本一起提供,以便于更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。其他 Red Hat Process Automation Manager 工件(如决策引擎和独立 Business Central)作为每个次发行版本的新工件发布,您必须重新安装它们以应用更新。

您可以使用相同的自动更新工具,将补丁更新和次版本升级到 Red Hat Process Automation Manager 7.11。Red Hat Process Automation Manager 的补丁更新(如从 7.11 升级到 7.11.1)包括最新的安全更新和程序错误修复。Red Hat Process Automation Manager 的次发行版本(如从版本 7.10.x 升级到 7.11),包括功能增强、安全更新和程序错误修复。

注意

Red Hat Process Automation Manager 更新工具中仅包含对 Red Hat Process Automation Manager 的更新。Red Hat JBoss EAP 的更新必须使用 Red Hat JBoss EAP 补丁分发来应用。有关红帽 JBoss EAP 补丁的更多信息,请参阅 Red Hat JBoss EAP 补丁和升级指南

先决条件

  • 您的 Red Hat Process Automation Manager 和 KIE 服务器实例没有运行。在运行 Red Hat Process Automation Manager 或 KIE Server 实例时,不要应用更新。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本。

    如果您要升级到 Red Hat Process Automation Manager 的新次要版本,如从版本 7.10.x 升级到 7.11,首先将最新的补丁更新应用到您当前的 Red Hat Process Automation Manager 版本,然后按照此流程升级到新的次版本。

  2. 单击 Patches,下载 Red Hat Process Automation Manager [VERSION] Update Tool,并将下载的 rhpam-$VERSION-update.zip 文件提取到临时目录中。

    这个版本工具会自动更新 Red Hat Process Automation Manager 的某些组件,如 Business Central、KIE Server 和无头进程自动化管理器控制器。首先使用此次更新工具来应用更新,然后安装与 Red Hat Process Automation Manager 发行版本相关的任何其他更新或新发行工件。

  3. 如果要保留更新工具更新的任何文件,进入提取的 rhpam-$VERSION-update 文件夹,打开 blacklist.txt 文件,并将相对路径添加到您不想更新的文件中。

    当文件列在 blacklist.txt 文件中时,更新脚本不会将文件替换为新版本,而是将文件保留原位,而在同一位置将添加新版本并带有 .new 后缀。如果您阻止不再分发的文件,则更新工具会创建一个带有 .removed 后缀的空标记文件。然后,您可以选择手动保留、合并或删除这些新文件。

    blacklist.txt 文件中要排除的文件示例:

    WEB-INF/web.xml  // Custom file
    styles/base.css  // Obsolete custom file kept for record

    更新后阻止的文件目录的内容:

    $ ls WEB-INF
    web.xml web.xml.new
    $ ls styles
    base.css base.css.removed
  4. 在命令终端中,导航到提取 rhpam-$VERSION-update.zip 文件的临时目录,并以以下格式运行 apply-updates 脚本:

    重要

    在应用更新前,请确保您的 Red Hat Process Automation Manager 和 KIE 服务器实例没有运行。在运行 Red Hat Process Automation Manager 或 KIE Server 实例时,不要应用更新。

    在 Linux 或基于 Unix 的系统上:

    $ ./apply-updates.sh $DISTRO_PATH $DISTRO_TYPE

    对于 Windows:

    $ .\apply-updates.bat $DISTRO_PATH $DISTRO_TYPE

    $DISTRO_PATH 部分是相关分发目录的路径,$DISTRO_TYPE 部分是您使用这个更新更新的发行版类型。

    Red Hat Process Automation Manager 更新工具支持以下发行版类型:

    • rhpam-business-central-eap7-deployable: Updates Business Central (business-central.war)
    • rhpam-kie-server-ee8: Updates KIE Server (kie-server.war)
    • rhpam-kie-server-jws: Updates KIE Server on Red Hat JBoss Web Server (kie-server.war)
    • rhpam-controller-ee7 :更新无头流程自动化管理器控制器(controller.war)
    • rhpam-controller-jws :在 Red Hat JBoss Web Server (controller.war)上更新无头流程自动化管理器控制器

      在 Red Hat JBoss EAP 上为完整的 Red Hat Process Automation Manager 发行版更新到 Business Central 和 KIE 服务器示例:

      ./apply-updates.sh ~EAP_HOME/standalone/deployments/business-central.war rhpam-business-central-eap7-deployable
      
      ./apply-updates.sh ~EAP_HOME/standalone/deployments/kie-server.war rhpam-kie-server-ee8

      使用无头进程自动化管理器控制器的示例:

      ./apply-updates.sh ~EAP_HOME/standalone/deployments/controller.war rhpam-controller-ee7

      更新脚本会在提取的 rhpam-$VERSION-update 文件夹中创建一个 备份 文件夹,其中包含指定发行版的副本,然后继续进行更新。

  5. 更新工具完成后,返回到红帽客户门户网站的 Software Downloads 页面,在其中下载更新工具并安装与您的 Red Hat Process Automation Manager 发行版本相关的任何其他更新或新发行工件。

    对于 Red Hat Process Automation Manager 发行版本中已存在的文件,如决策引擎或其他附加组件的 .jar 文件,请将文件的现有版本替换为红帽客户门户网站中的新版本。

  6. 如果您使用独立的 Red Hat Process Automation Manager 7.11.0 Maven Repository 工件(rhpam-7.11.0-maven-repository.zip),如在 air-gap 环境中,下载 Red Hat Process Automation Manager 7.11.x Maven Repository,并将下载的 rhpam-7.11.x-maven-repository.zip 文件提取到现有的 ~/maven-repository 目录中,以更新相关的内容。

    Maven 存储库更新示例:

    $ unzip -o rhpam-7.11.x-maven-repository.zip 'rhba-7.11.1.GA-maven-repository/maven-repository/*' -d /tmp/rhbaMavenRepoUpdate
    
    $ mv /tmp/rhbaMavenRepoUpdate/rhba-7.11.0.GA-maven-repository/maven-repository/ $REPO_PATH/
    注意

    在完成更新后,您可以删除 /tmp/rhbaMavenRepoUpdate 文件夹。

  7. 完成应用所有相关更新后,启动 Red Hat Process Automation Manager 和 KIE Server 并登录到 Business Central。
  8. 验证在 Business Central 中存在和准确的所有项目数据,并在 Business Central 窗口右上角点击您的配置集名称,然后点击 About 以验证更新的产品版本号。

    如果您遇到错误或注意到 Business Central 中缺少的数据,您可以恢复 rhpam-$VERSION-update 文件夹中 备份 文件夹中的内容,以恢复更新工具更改。您还可以在红帽客户门户网站中重新安装以前版本的 Red Hat Process Automation Manager 中的相关发行工件。恢复之前发行版本后,您可以重试来运行更新。

第 65 章 其他资源

附录 C. 版本信息

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

附录 D. 联系信息

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.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.