flowable 五个引擎和组成引擎的服务

一、flowable的五个引擎

flowable包含五个引擎,分别是:

  • 1、内容引擎 ContentEngine
  • 2、身份识别引擎 IdmEngine
  • 3、表单引擎 FormEngine
  • 4、决策引擎 DmnEngine
  • 5、流程引擎 ProcessEngine

二、引擎包含的服务

每个引擎由相对应的 EngineConfiguration进行创建,在创建过程中对每个引擎使用的服务进行初始化。

1、内容引擎 ContentEngine

内容引擎包含的服务有:

  1. ContentManagementService

    ContentManagementService提供对数据库表的管理操作,包括:

    • Map getTableCount() 获取每个表的记录数量;
    • String getTableName(Class flowableEntityClass); 根据实体类获得对应的数据库表名;
    • TableMetaData getTableMetaData(String tableName); 根据数据库表名获得表的列名和列类型;
    • TablePageQuery createTablePageQuery(); 创建一个可以进行排序、根据条件分页的查询类。
  2. ContentService

    实现对内容的创建、删除、保存和获取的基本操作。

     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();
  3. ContentEngineConfiguration

    ContentEngineConfiguration最主要的作用是提供Mybatis的封装,实现数据库相关配置的获取。

    同时,内容引擎配置还提供了操作系统级的文件操作的路径设置、文件读取、文件保存的功能。

2、身份识别引擎 IdmEngine

身份识别引擎包含的服务有:

  1. IdmIdentityService

    提供用户的创建、修改、删除、密码修改、登录、用户头像设置等;
    提供组Group的创建、删除、用户与组关系的关联、删除关联;
    提供权限的创建、删除、关联等。

  2. IdmManagementService

    对身份识别相关的数据库表进行统计、获取表的列信息。

  3. IdmEngineConfiguration

    提供数据库配置信息。

3、表单引擎 FormEngine

表单引擎包含的服务有:

  1. FormManagementService
  2. FormRepositoryService
  3. FormService
  4. FormEngineConfiguration

4、决策引擎 DmnEngine

决策引擎包含的服务有:

  1. DmnManagementService
  2. DmnRepositoryService
  3. DmnRuleService
  4. DmnHistoryService
  5. DmnEngineConfiguration

5、流程引擎 ProcessEngine

流程引擎包含的服务有:

  1. RepositoryService
  2. RuntimeService
  3. HistoryService
  4. IdentityService
  5. TaskService
  6. FormService
  7. ManagementService
  8. DynamicBpmnService

你可能感兴趣的:(工作流,flowable)