介绍

BPM 扩展组件将开源的 Flowable BPM 引擎 集成进了 Jmix 框架中, 为其带来用于设计、管理复杂人机交互并自动化交互流程的新工具。

架构概览

BPM 扩展组件包含在 Studio 以及 web 应用 运行时可用的组件。 在 Studio 中,开发者可以用 建模器 创建 BPMN 流程模型, Jmix 工具窗口 还提供了 Process Form Wizard - 流程表单向导(在视图创建向导中)以及一个 BPM 的内容节点。

bpm components

在 Web 应用程序中,也可以访问 建模器 视图, 提供与 Studio 中建模器类似的功能。 包含一组管理视图和用户视图, 用户可以使用用户视图启动流程并管理任务。

流程建模扩展

在建模时,还可以使用一些扩展的增强功能:

  • 实体数据任务 - 用户可以直接创建、修改或加载数据模型中的 Jmix 实体。

  • 发送邮件任务 - 用户可以在流程中发送电子邮件。

  • User Providers - 一些接口,用户可以编程式定义任务的发起人和候选人。

  • Jmix BPM Spring 事件 - 简化了流程事件监听器的实现。

  • …​ 以及其他一些提升。

此外,BPM 扩展组件会在数据库自动创建所需的表格以支撑这些功能。

BPMN 2.0

Jmix BPM 使用的是 BPMN 2.0,这是被广泛接受和支持的标准,专门用于业务流程的建模和自动化执行。

Business Process Modeling Notation(BPMN)是一种图形表示法,用于描述业务流程中的步骤。 使用 BPMN 可以描述业务的端到端流程。 该表示法经过专门设计,用于协调流程步骤的顺序以及在相关流程活动的不同参与者之间的消息流。
— Object Management Group

官方版本的 BPMN 规范可以在 OMG 网站查阅: https://www.omg.org/bpmn/

Flowable BPM 引擎

Flowable 是一个开源的业务流程管理(BPM)引擎,为业务流程自动化提供了一个轻量级、高效且高度可定制的解决方案。它是用 Java 编写的,支持建模和执行流程的 BPMN 2.0、CMMN 和 DMN 标准。

Jmix BPM 不支持使用 CMMN 的案例管理。

Flowable 是 Activiti(Alfresco 的注册商标)的一个分支。在以下所有章节中,包的名称、配置文件等都使用的 flowable

数据库配置

在安装的过程中,Jmix 会在 主数据存储 中创建所需的数据库表。

数据库表名

Flowable 的数据库名称都以 ACT_ 开头(即 Activiti 产品名称)。 第二部分是用例的双字符标识。 用例也基本与服务 API 匹配。

ACT_RE_RE 代表存储库(repository)。带有此前缀的表包含“静态”信息,例如流程定义和流程资源(图像、规则等)

ACT_RU_RU 代表运行时(runtime)。这些是包含运行时的数据,例如,流程实例、用户任务、变量、作业等。Flowable 仅在流程实例执行期间存储运行时数据,并在流程实例结束时删除记录。保持运行时的表格小而快。

ACT_HI_HI 代表历史记录(history)。这些是包含历史数据的表,例如,之前的流程实例、变量、任务等。

ACT_GE_: GE 代表通用数据(general data),用于不同的用例中。

BPM 角色

在安装的过程中,系统会创建 2 个不同的角色:

  • BPM: administrator - 用于管理任务

  • BPM: process actor - 用于参与流程

要授予用户对所有 BPM 管理视图的访问权限,请分配 BPM: administrator 角色。如果用户只需要参与流程,请分配 BPM: process actor 角色。

协同组件

除了 BPM 功能之外,添加其他扩展组件可以进一步增强应用程序的功能: