Activiti工作流-簡介篇

一、前言

工作流(Workflow),就是“業務過程的部分或整體在計算機應用環境下的自動化”。在工作中慢慢接觸的業務流程,就向流程控制語言一樣,一步一步都對應的不同的業務,但整體串聯起來就是一個完整的業務。而且實際工作中尤其是在企業內部系統的研發中,確實需要對應許多審批流程的管理。而工作流就是能夠在程序中,將這些支離破碎的流程,通過配置的方式管理起來,整體作爲一個流程,方便修改,也方便維護。

demo:

我們在學生時代,肯定會遇到請假寫請假條的情況,如果學校的請假抓得非常嚴,就需要經過多層的同意才能確定能不能請假…
在這裏插入圖片描述

班主任->任課老師->教學總監->校長這麼一個流程,首先我們先明確一點:我們作爲一個學生,不可能直接跳過老師,去找校長申請請假的.因此我們請假的流程是一步一步的,並不能做跳躍。對上面的請假流程進行分析**,如果我們沒有使用框架,而把這麼一個請假流程寫到我們的網站中,我們會怎麼做呢???


二、什麼是Activiti工作流框架?

Activiti是一個比較出名的框架,或者說就是一個工作流引擎,通俗的說,就是Activiti引擎我們只要按照它已有的配置,來進行現有業務的對應,它就能夠自動幫助我們完成以前不好控制的流程問題。

官網通用打包下載:http://www.activiti.org/
源代碼github:https://github.com/Activiti/Activiti

在這裏插入圖片描述

三、採用工作流框架優點

1、提高系統的柔性,適應業務流程的變化
2、實現更好的業務過程控制,提高顧客服務質量
3、降低系統開發和維護成本


四、快速入門Activiti

1.Activiti的開發步驟:

1.首先就要把這個工作流定義出來(Activiti支持以“圖”的方式來定義)
2.定義完工作流,就要部署到起來
3.隨後我們就執行該工作流!

但是在實際開發中,讓用戶來畫Activiti定義圖,是要學習的成本的。所以我們會以一個更簡單的方式來定義流程,比如選好流程審批節點對應的用戶,這樣就定義好了一個流程。
在這裏插入圖片描述

在這裏插入圖片描述


2.數據庫相關(23張表)

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_*: 通用數據, 用於不同場景下,如存放資源文件。
    在這裏插入圖片描述
資源庫流程規則表
  1. act_re_deployment 部署信息表
  2. act_re_model 流程設計模型部署表
  3. act_re_procdef 流程定義數據表
運行時數據庫表
  1. act_ru_execution運行時流程執行實例表
  2. act_ru_identitylink運行時流程人員表,主要存儲任務節點與參與者的相關信息
  3. act_ru_task運行時任務節點表
  4. act_ru_variable運行時流程變量數據表
歷史數據庫表
  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歷史變量表
組織機構表
  1. act_id_group用戶組信息表
  2. act_id_info用戶擴展信息表
  3. act_id_membership用戶與用戶組對應信息表
  4. act_id_user用戶信息表
通用數據表
  1. act_ge_bytearray二進制數據表
  2. act_ge_property屬性數據表存儲整個流程引擎級別的數據,初始化表結構時,會默認插入三條記錄。

把這些東西瞭解清楚了,那接下我們開始怎麼在Activiti框架上實現我們的工作流呢???

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