Activiti入門

目錄

一、Activiti介紹

工作流 

BPM(Business Process Management) 

BPMN(Business Process Model And Notation)

二、Activiti使用 

1、部署 Activiti

2、流程定義 (ProcessDefinition)

3、流程定義部署 (ProcessDeployment)

4、啓動一個流程實例(ProcessInstance) 

三、Activiti 7表結構 (共25張)


一、Activiti介紹

Activiti是一個工作流引擎,activiti 可以將業務系統中複雜的業務流程抽取出來,使用專門的建模語言(BPMN2.0)進行定義,業務系統按照預先定義的流程進行執行,實現了業務系統的業務流程由 activiti進行管理,減少業務系統由於流程變更進行系統升級改造的工作量,從而提高系統的健壯性,同時也減少了系統開發維護成本。


工作流 

工作流(Workflow),就是通過計算機對業務流程自動化執行管理。它主要解決的是“使在多個參與者之間按照某種預定義的規則自動進行傳遞文檔、信息或任務的過程,從而實現某個預期的業務目標,或者促使此目標的實現”。 

具體應用:

  1.  關鍵業務流程:訂單、報價處理、合同審覈、客戶電話處理、供應鏈管理等
  2. 行政管理類:出差申請、加班申請、請假申請、用車申請、各種辦公用品申請、購買申請、日報、週報等凡是原來手工流轉處理的行政表單。
  3. 人事管理類:員工培訓安排、績效考評、職位變動處理、員工檔案信息管理等。
  4. 財務相關類:付款請求、應收款處理、日常報銷處理、出差報銷、預算和計劃申請等。
  5. 客戶服務類:客戶信息管理、客戶投訴、請求處理、售後服務管理等。
  6. 特殊服務類:ISO系列對應流程、質量管理對應流程、產品數據信息管理、貿易公司報關處理、 物流公司貨物跟蹤處理等各種通過表單逐步手工流轉完成的任務均可應用工作流軟件自動規範地實施。

BPM(Business Process Management) 

即業務流程管理,是一種以規範化的構造端到端的卓越業務流程爲中心,以持續的提高組織業務績效爲目的系統化方法,常見商業管理教育如EMBA、MBA 等均將BPM包含在內。

BPMN(Business Process Model And Notation)

業務流程模型和標註。是由 BPMI(Business Process Management Initiative)開發的一套標準的業務流程建模符號,使用 BPMN 提供的符號可以創建業務流程。BPMN是BPM及workflow的建模語言標準之一。

主要是用來描述業務流程的基本的符號,利用各個組件能夠組成一個業務流程圖,整個業務也是根據這個圖來走的,其實用xml格式打開,就是一個xml文件。

bpmn組件的示意圖

二、Activiti使用 

1、部署 Activiti

activiti是一個工作流引擎(其實就是一堆 jar 包 API),業務系統使用activiti來對系統的業務流程進行自動化管理,爲了方便業務系統訪問(操作)activiti的接口或功能,通常將 activiti 環境與業務系統的環境集成在一起。  

2、流程定義 (ProcessDefinition)

使用activiti流程建模工具(activity-designer)定義業務流程(.bpmn文件) 。.bpmn 文件就是業務流程定義文件,通過xml定義業務流程。

3、流程定義部署 (ProcessDeployment)

 使用activiti提供的 api 向 activiti 中部署.bpmn 文件(一般情況還需要一塊兒部署業務流程的圖片.png)

4、啓動一個流程實例(ProcessInstance) 

啓動一個流程實例表示開始一次業務流程的運行,比如員工請假流程部署完成,如果小明要請假就可以啓動一個流程實例,如果小王要請假也啓動一個流程實例,兩個流程的執行互相不影響。好比定義一個 java類,實例化兩個對象一樣,部署的流程就好比 java 類,啓動一個流程實例就好比 new 一個 java 對象。

三、Activiti 7表結構 (共25張)

Activiti 7表結構

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

   (1)act_re_deployment:部署信息表,存儲流程定義、模板部署信息

   (2)act_re_procdef:已部署的流程定義數據表,存儲流程定義相關描述信息

   (3)act_re_model:流程模板信息表,存儲流程模板相關描述信息

2、ACT_RU_*:RU表示 runtime。表示運行時的表,包含流程實例,任務,變量,異步任務等運行中的數據。Activiti只在流程實例執行過程中保存這些數據,在流程結束時就會刪除這些記錄。 

   (1)act_ru_execution:運行時流程執行實例表,記錄運行中流程運行的各個分支信息

   (2)act_ru_identitylink:運行時流程人員表,主要存儲任務節點與參與者的相關信息

   (3)act_ru_task:運行時任務節點表,存儲運行中流程的任務節點信息,常用於查詢人員或部門的待辦任務時使用

   (4)act_ru_variable 運行時流程變量數據表,存儲運行中的流程各節點的變量信息

   (5)act_ru_suspended_job:運行時暫停任務

   (6)act_ru_timer_job:運行時定時任務

   (7)act_ru_job:運行時定時任務數據表,存儲流程的定時任務信息

   (8)act_ru_deadletter_job:執行失敗任務表

   (9)act_ru_event_subscr:監聽信息表,不常用

   (10)act_ru_integration:未知

3、ACT_HI_*:HI表示 history。這些表包含歷史數據,比如歷史流程實例, 變量,任務等。 

   (1)act_hi_actinst:歷史節點表,存放流程實例運轉的各個節點信息(包含開始、結束等非任務節點)

   (2)act_hi_identitylink:歷史流程人員表,存儲流程各節點候選、辦理人員信息,常用於查詢某人或部門的已辦任務

   (3)act_hi_procinst:歷史流程實例表,存儲流程實例歷史數據(包含正在運行的流程實例)

   (4)act_hi_taskinst: 歷史任務實例表,存儲歷史任務節點

   (5)act_hi_attachment:歷史附件表,存放歷史節點上傳的附件信息(不常用)

   (6)act_hi_comment:歷史意見表,可改造用於保存節點審批意見、備註

   (7)act_hi_varinst:歷史變量表,存儲流程歷史節點的變量信息

   (8)act_hi_detail:歷史的流程運行中的細節信息,存儲節點運轉的一些信息(不常用)

4、ACT_GE_*:GE表示 general。通用數據,用於不同場景下。 

   (1)act_ge_bytearray:二進制數據表,流程定義的bpmn文件及png文件的字節流文件

   (2)act_ge_property:屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄(不常用)

5、其他

   (1)act_evt_log:事件處理日誌表(不常用)

   (2)act_procdef_info:流程定義擴展表(不常用)

 

發佈了25 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章