Introduction to flowable workflow

Official website address: https://www.flowable.org/

Flowable6.3 Chinese tutorial: https://tkjohn.github.io/flowable-userguide/#_introduction

Flowable Modeler: Process definition management

Flowable Task: User task management

Flowable IDM: User group authority management

Flowable REST API: API interface provided by the process engine

Flowable Admin: background management

The five engines of flowable
1, content engine ContentEngine
2, identity recognition engine IdmEngine
3, form engine FormEngine
4, decision engine DmnEngine
5, process engine ProcessEngine

Each engine is created by the corresponding EngineConfiguration, and the services used by each engine are initialized during the creation process.
1. The content engine ContentEngine
ContentManagementService provides management operations on database tables, including:
Map<String, Long> getTableCount() Get the number of records in each table;
String getTableName(Class<?> flowableEntityClass); Get the corresponding database according to the entity class Table name;
TableMetaData getTableMetaData(String tableName); Obtain the column name and column type of the table according to the database table name;
TablePageQuery createTablePageQuery(); Create a querier that can sort and page according to conditions.

ContentService

Realize the basic operations of creating, deleting, saving and obtaining content.

 ContentItem newContentItem ();

void saveContentItem(ContentItem contentItem);

void saveContentItem(ContentItem contentItem, InputStream inputStream);

InputStream getContentItemData(String contentItemId);

void deleteContentItem(String contentItemId);

void deleteContentItemsByProcessInstanceId(String processInstanceId);

void deleteContentItemsByTaskId(String taskId);

ContentItemQuery createContentItemQuery();

ContentEngineConfiguration

The main function of ContentEngineConfiguration is to provide the encapsulation of Mybatis to realize the acquisition of database-related configuration.

At the same time, the content engine configuration also provides the functions of operating system-level file operation path setting, file reading, and file saving.


2. Identity recognition engine IdmEngine
Identity recognition engine includes services:

IdmIdentityService

Provide user creation, modification, deletion, password modification, login, user avatar settings, etc.; 
provide group creation, deletion, user-group relationship association, delete association; 
provide permission creation, deletion, association, etc.

IdmManagementService

Perform statistics on database tables related to identity recognition and obtain table column information.

IdmEngineConfiguration

Provide database configuration information.

3.
The services included in the form engine FormEngine are:

FormManagementService
FormRepositoryService
FormService
FormEngineConfiguration
4. Decision engine DmnEngine
Decision engine includes services:

DmnManagementService
DmnRepositoryService
DmnRuleService
DmnHistoryService
DmnEngineConfiguration
5. Process engine ProcessEngine
Process engine includes services:

RepositoryService
RuntimeService
HistoryService
IdentityService
TaskService
FormService
ManagementService
DynamicBpmnService


Flowable is a popular lightweight business process engine developed in Java. Through the Flowable process engine, we can deploy BPMN2.0 process definitions (usually XML files), create process instances through process definitions, query and access process-related instances and data, and so on.
     


Flowable can be flexibly added to our services, applications, and architecture. It can be used to operate the business process engine by introducing the Flowable jar package or directly using Flowable's Rest API.
Flowable is developed based on a branch of Activity5.0, so many internal concepts are similar.


The Flowable engine requires the process definition to be in the BPMN 2.0 format.
This is called a process definition (process definition).
A process definition can start multiple process instances.
BPMN 2.0 is stored as XML and contains a visual part that
defines how each step type (human task, automatic service call, etc.) is presented and how to connect to each other.


 

Guess you like

Origin blog.csdn.net/pshdhx/article/details/108888517