Introduction

Jmix BPM add-on turns Jmix into a platform for automating business processes. The add-on combines the power of the open-source Flowable BPM engine with intuitive design, monitoring, and management tools, providing a robust solution for process optimization.

Add-on Components

Jmix BPM features both web application tools and Jmix Studio tools.

bpm components

Flowable BPM Engine

Jmix BPM is built on the Flowable open-source BPM Engine. Flowable is a Java-based engine that has evolved from of Activiti. It supports BPMN 2.0, CMMN, and DMN standards, enabling users to create flexible and efficient business processes with ease.

Jmix BPM currently does not include functionality for case management with CMMN.

BPMN 2.0

Jmix BPM adheres to BPMN 2.0 that is a widely accepted and supported standard for modeling and executing automated business processes.

The official BPMN specification can be accessed on the Object Management Group website at https://www.omg.org/bpmn/.

Extensions

Jmix BPM offers several unique tasks and enhances the capabilities of standard tasks:

  • Entity Data Task – Allows users to create, modify, and load Jmix Entities directly from the data model.

  • Email Sending Task – Enables users to send emails from within the process.

  • User Providers – Interfaces that allow users to define task performers and candidates programmatically.

  • Jmix BPM Spring Events – Simplifies the implementation of listeners for process events.

Database Configuration

During the installation process, Jmix creates required database tables in the Main Data Store.

Database Table Names

The database names of Flowable all start with ACT_ (this refers to Activiti product name). The second part is a two-character code for the use case.

ACT_RE_: RE stands for repository. Tables with this prefix hold 'static' information such as process definitions and process resources (images, rules, etc.).

ACT_RU_: RU stands for runtime. These tables store runtime data for process instances, user tasks, variables, jobs, and more. Flowable keeps the runtime data during process instance execution and removes it when a process instance ends. This keeps the runtime tables small and fast.

ACT_HI_: HI stands for history. These tables contain historic data, such as past process instances, variables, and tasks.

ACT_GE_: GE means general data, which is used for various use cases.

BPM Roles

During the installation process, the system creates two distinct roles:

  • BPM: administrator – for administrative tasks.

  • BPM: process actor – for participation in processes.

To grant users access to all BPM administrative views, assign them the BPM: administrator role. If users only need to participate in processes, assign them the BPM: process actor role.

Additionally

Alongside the BPM features, incorporating other add-ons can further enhance your application’s capabilities:

  • Quartz – enables scheduled tasks execution, configurable at runtime.

  • Business calendar – enables accounting for working hours, which is especially useful in business processes.

  • Notifications – enables sending notifications to process participants and supervisory personnel. See Sending Notifications section for details.

  • Email Sending — enables sending email messages, it is required when using Email Sending task.

  • Reports – enables building reports based on operational data and process execution statistics.