Activity 初識

一 、Activity 簡介

1、工作流(Work Flow)是什麼?

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

常見的工作流框架有Activity、JBPM、OSWorkFlow、WorkFlow。本系列使用activiti5.13版本。

工作流框架底層需要有數據庫提供支持,activiti5.13版本,有23張表。JBPM4.4框架有18張表。JBPM底層使用hibernate操作數據庫。Activiti框架底層使用的mybatis操作數據庫

2、工作流技術的優點

工作流系統,實現了工作流程的自動化,提高了企業運營效率、改善企業資源利用、提高企業運作的靈活性和適應性、提高量化考覈業務處理的效率、減少浪費(時間就是金錢)。

3、Activity

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

二 、Activity工作流學習要點


1 、一個插件

在Eclipse中安裝Activity插件,讓你可以在Eclipse中繪製Activity工作流圖。IDEA 安裝Activiti Designer插件actiBPM。

2、一個引擎

ProcessEngine對象,Activity工作流引擎。這是Activiti工作的核心。負責生成流程運行時的各種實例及數據、監控和管理流程的運行。所有的操作都是從獲取引擎開始的,所以一般會把引擎作爲全局變量。

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();

3、一個配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎創建工具的基本參數和數據庫連接池參數。

4、五種數據庫表

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

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

5. 23張表

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

序號 表名 描述
1 ACT_GE_BYTEARRAY 二進制數據表
2 ACT_GE_PROPERTY 屬性數據表,用來存儲整個流程圖引擎級別的數據,初始化表結構時會默認插入三條記錄。
3 ACT_HI_ACTINST 歷史節點表
4 ACT_HI_ATTACHMENT 歷史附件表
5 ACT_HI_COMMENT 歷史意見表
6 ACT_HI_IDENTITYLINK 歷史流程人員表
7 ACT_HI_DETAIL 歷史詳情表,提供歷史變量的查詢
8 ACT_HI_PROCINST 歷史流程實例表
9 ACT_HI_TASKINST 歷史任務實例表
10 ACT_HI_VARINST 歷史變量表
11 ACT_ID_GROUP 用戶組信息表
12 ACT_ID_INFO 用戶擴展信息表
13 ACT_ID_MEBERSHIP 用戶與用戶組對應信息表
14 ACT_ID_USER 用戶信息表
15 ACT_RE_DEPLOYMENT 部署信息表
16 ACT_RE_MODEL 流程設計模型部署表
17 ACT_RE_PROCDEF 流程定義數據表
18 ACT_RU_EVENT_SUBSCR throwEvent、catchEvent時間監聽信息表
19 ACT_RU_EXECUTION 運行時流程執行實例表
20 ACT_RU_IDENTITYLINK 運行時流程人員表
21 ACT_RU_JOB 運行時定時任務數據表
22 ACT_RU_TASK 運行時任務節點表
23 ACT_RU_VARIABLE 運行時流程運行變量表

 

6. 5項Service

不同的Service類對應不同的功能。比如TaskService,是activiti的任務服務類。可以從這個類中獲取任務的信息。而HistoryService,則是activiti的查詢歷史信息的類。在一個流程執行完成後,這個對象爲我們提供查詢歷史信息。

7. 7項基本操作

  • 設計流程圖(各種組件,如連線、用戶任務、網關)
  • 流程定義增刪改查
  • 流程變量增刪改查
  • 啓動流程定義
  • 任務增刪改查
  • 完成任務
  • 歷史信息查詢

陳Sir的個人博客網站:https://chensir.yoga

個人公衆號:陳Sir很皮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章