1. 程式人生 > >Activiti工作流介紹

Activiti工作流介紹

工作流(Workflow),就是“業務過程的部分或整體在計算機應用環境下的自動化”,它主要解決的是“使在多個參與者之間按照某種預定義的規則傳遞文件、資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現”。

工作流管理系統(Workflow Management System, WfMS)是一個軟體系統,它完成工作量的定義和管理,並按照在系統中預先定義好的工作流規則進行工作流例項的執行。工作流管理系統不是企業的業務系統,而是為企業的業務系統的執行提供了一個軟體的支撐環境。

工作流管理聯盟(WfMC,Workflow Management Coalition)給出的關於工作流管理系統的定義是:工作流管理系統是一個軟體系統,它通過執行經過計算的流程定義去支援一批專門設定的業務流程。工作流管理系統被用來定義、管理、和執行工作流程。

工作流管理系統的目標:管理工作的流程以確保工作在正確的時間被期望的人員所執行——在自動化進行的業務過程中插入人工的執行和干預。

 

Activiti介紹

Activiti5是由Alfresco軟體在2010年5月17日釋出的業務流程管理(BPM)框架,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴充套件的可執行流程語言框架。Activiti基於Apache許可的開源BPM平臺,創始人Tom Baeyens是JBoss jBPM的專案架構師,它特色是提供了eclipse外掛,開發人員可以通過外掛直接繪畫出業務

1.工作流引擎

ProcessEngine物件,這是Activiti工作的核心。負責生成流程執行時的各種例項及資料、監控和管理流程的執行。

2. BPMN

業務流程建模與標註(Business Process Model and Notation,BPMN) ,描述流程的基本符號,包括這些圖元如何組合成一個業務流程圖(Business Process Diagram)

3.activiti5 軟體環境

1)   JDK1.6或者更高版本

2)   支援的資料庫有:h2, mysql, oracle, postgres, mssql, db2等。

3)   支援activiti5執行的jar包

4)   開發環境為Eclipse3.7或者以上版本,myeclipse為8.6版本

4. 資料庫

Activiti資料庫支援:

Activiti的後臺是有資料庫的支援,所有的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。 用途也和服務的API對應。

ACT_RE_*: 'RE'表示repository。 這個字首的表包含了流程定義和流程靜態資源 (圖片,規則,等等)。

ACT_RU_*: 'RU'表示runtime。 這些執行時的表,包含流程例項,任務,變數,非同步任務,等執行中的資料。 Activiti只在流程例項執行過程中儲存這些資料, 在流程結束時就會刪除這些記錄。 這樣執行時表可以一直很小速度很快。

ACT_ID_*: 'ID'表示identity。 這些表包含身份資訊,比如使用者,組等等。

ACT_HI_*: 'HI'表示history。 這些表包含歷史資料,比如歷史流程例項, 變數,任務等等。

ACT_GE_*: 通用資料, 用於不同場景下,如存放資原始檔。

表結構操作:

4.1:資源庫流程規則表

1)        act_re_deployment        部署資訊表

2)        act_re_model               流程設計模型部署表

3)        act_re_procdef             流程定義資料表

4.2:執行時資料庫表

1)        act_ru_execution           執行時流程執行例項表

2)        act_ru_identitylink        執行時流程人員表,主要儲存任務節點與參與者的相關資訊

3)        act_ru_task                   執行時任務節點表

4)        act_ru_variable             執行時流程變數資料表

4.3:歷史資料庫表

1)        act_hi_actinst               歷史節點表

2)        act_hi_attachment          歷史附件表

3)        act_hi_comment            歷史意見表

4)        act_hi_identitylink         歷史流程人員表

5)        act_hi_detail                 歷史詳情表,提供歷史變數的查詢

6)        act_hi_procinst              歷史流程例項表

7)        act_hi_taskinst              歷史任務例項表

8)        act_hi_varinst               歷史變量表

4.4:組織機構表

1)     act_id_group           使用者組資訊表

2)     act_id_info              使用者擴充套件資訊表

3)     act_id_membership  使用者與使用者組對應資訊表

4)     act_id_user             使用者資訊表

這四張表很常見,基本的組織機構管理,關於使用者認證方面建議還是自己開發一套,元件自帶的功能太簡單,使用中有很多需求難以滿足

4.5:通用資料表

act_ge_bytearray          二進位制資料表

act_ge_property            屬性資料表儲存整個流程引擎級別的資料,初始化表結構時,會預設插入三條記錄,

5.核心API

1,查詢部署資訊列表和流程定義列表: RepositoryService getRepositoryService();

2,查詢執行的例項的表: RuntimeService getRuntimeService();

3,查詢任務表:TaskService getTaskService();

4,查詢歷史的表:HistoryService getHistoryService();

6.開始使用

1、啟動流程

2、檢視任務( 私有任務/公共任務)

3、認領任務

4、辦理任務   

5、檢視流程狀態