1. 程式人生 > >flowable 五個引擎和組成引擎的服務

flowable 五個引擎和組成引擎的服務

一、flowable的五個引擎

flowable包含五個引擎,分別是:

  • 1、內容引擎 ContentEngine
  • 2、身份識別引擎 IdmEngine
  • 3、表單引擎 FormEngine
  • 4、決策引擎 DmnEngine
  • 5、流程引擎 ProcessEngine

二、引擎包含的服務

每個引擎由相對應的 EngineConfiguration進行建立,在建立過程中對每個引擎使用的服務進行初始化。

1、內容引擎 ContentEngine

內容引擎包含的服務有:

  1. ContentManagementService

    ContentManagementService提供對資料庫表的管理操作,包括:

    • Map<String, Long> 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