Software--WorkFlow_BPM 工做流引擎

2017-12-22  09:56:06數據庫

Wikipediaapi

"A workflow consists of an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes 異步

that transform matrials, provide services, or process information. "ide

 

工做流 workflow 就是工做流程的計算模型,即將工做流程中的工做如何先後組織在一塊兒的邏輯和規則在計算機中以恰當的模型進行表示並對其實施計算。工具

 工做流引擎workflow做爲應用系統的一部分,爲之提供對各應用系統有決定做用的根據角色、設計

分工和條件的不一樣決定信息傳遞路由、內容等級等核心解決方案。3d

BPMN  (Business Process Model and Notataion) 業務流程模型與符號。orm

BPMN 是一套流程建模的標準, 流程模型的規範。 流程模型包括: 流程圖、協做圖、編排圖、會話圖。xml

Activiti 是一個開源的工做流引擎,實現了 BPMN 2.0 規範,能夠發佈設計好的流程定義,並經過 api 進行流程調度。對象

Activiti 核心是基於 Java 的超快速、超穩定的 BPMN 2.0 流程引擎, 強調流程服務的可嵌入性和可擴展性, 更增強調面向業務人員。

該引擎的中點關注在系統開發的易用性和輕量性上。 每一項 BPM 業務功能 Activiti 流程引擎都以服務的形式提供給開發人員。經過使用這些服務,開發人員構建出功能豐富、輕便且搞笑的BPM應用程序。

 

以當下主流的開源 Java  BPM  Activiti , Intellij Idea 爲例

1 Intellij Idea   File =》 Setting => Plugins => Browser => ( Searching activiti ) Install

 

 2. 新建一個 BPMN file 文件

 

3. 展現界面:

 

核心類: ProcessEngine

1)ProcessEngin 是在 Activiti 中的核心類,其餘類的父類

2)獲取:

  ProcessEngine  processEngine = ProcessEngines.getDefaultProcessEngine();

3)管理流程定義,能夠產生 RepositoryService

  RepositoryService  repositoryService = ProcessEngine.getRepositoryService(0;

4)執行管理,包括啓動,推動,刪除流程實例, 產生 RuntimeService

  RuntimeService  runtimeService = processEngine.getRuntimeService();

5)管理任務, 產生TaskService

  TaskService  taskService = processEngine.getTaskService();

 

一個配置文件

activiti.cfg.xml 

配置流程引擎建立工具的基本參數和數據庫鏈接池參數

 

五種數據庫表

Activiti 的後臺數據庫相關, 全部的表以 ACT_ 開頭。第二部分表示表的用途的兩個字母標識。

用途和服務的 API 對應。

  1. ACT_RE_* : ' RE ' 表示 repository。 該前綴的表包含了流程定義和流程靜態資源(圖片,規則,等等)
  2. ACT_RU_* : ' RU ' 表示 runtime。這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數據。Activiti 只在流程實例執行過程當中保存這些數據,在流程結束時就會刪除這些記錄。這樣運行時表能夠一直很小速度很快。
  3. ACT_ID_* : ' ID ' 表示 Identity 。包含身份信息,例如用戶, 組。
  4. ACT_HI_* : ' HI ' 表示 History 。包含歷史數據。好比歷史流程實例,變量,任務。
  5. ACT_GE_* : ' GE ' 表示 Genory 。 通用數據, 用於不一樣場景下,如存放資源文件。

 

二十三 表

不一樣的表存放不一樣方面的數據,如流程定義表、任務結點表、流程變量表、任務歷史表。

 

五項 Service

TaskService, 是 activiti 的任務服務類。 能夠從這個類中獲取任務的信息。

HistoryService,是 activiti 的查詢歷史信息的類。在一個流程執行完成後,這個對象

爲咱們提供查詢歷史信息。

 

七項基本操做

  • 設計流程圖(UI )
  • 流程定義增刪改查
  • 流程變量增刪改查
  • 啓動流程定義
  • 任務增刪改查
  • 完成任務
  • 歷史信息查詢
相關文章
相關標籤/搜索