背景
- 什麼是工作流?
- 工作流引擎是哪個?
- Activiti的核心工作機制是什麼?
- Activit的核心工作機制實現的過程是什麼?
過程
-
工作流
工作的一個流程。事務發展的一個變更過程。關鍵點:我們需要想辦法把流程狀態信息持有化。
舉例:請假流程
員工申請 -> 部門經理 -> 總經理 -> 人事存檔
如何來解決這個請假流程變更的問題?
傳統方式。請假條的傳遞實現。人要移動 + 紙質 + 動筆簽字。員工寫一個請假條,找部門經理,一層層往上找。
無紙化辦公方式。線上申請 -> 線上審批 -> 有一條請假記錄。
-
工作流引擎
爲了實現自動化控制,Activiti工作流引擎產生了。
-
工作流系統
一個系統具備流程的自動化管理功能,這個系統就可以稱爲工作流系統。
工作流系統,有哪些實現方式?或者是自動化流程怎麼做?
傳統方式,用狀態標識,一層層流轉。業務邏輯代碼無法應對流程變更。
Activiti工作流引擎方式,流程變更,但是業務邏輯代碼無需修改。
-
適用行業
消費品行業,製造業,電信服務業,物流服務業,物業管理,大中型出口貿易公司,政府事業機構,教育行業,跨國大企業,集團公司。
-
使用場景
關鍵業務流程:訂單、報價處理、合同審覈、客戶電話處理、供應鏈管理。
行政管理類:出差申請、加班申請、用車申請、各種辦公用品申請、購買申請、日報、週報。原來手工流轉處理的行政表單,都可以線上完成。
人事管理類:員工培訓安排、績效考評、職位變動處理、員工檔案信息管理.
財務相關類: 付款請求、應收款處理、日常報銷處理、出差報銷、預算和計劃申請等。
客戶服務類: 客戶信息管理、客戶投訴、請求處理、售後服務管理等。
-
Activiti的內部核心工作機制
先將流程圖畫好
將流程圖中每個節點的數據讀取並放入表中
讀取表中的第一條記錄,處理並刪除。
-
Activiti工作機制實現過程
-
業務流程圖要規範化,要遵守一套標準。
-
這個業務流程圖本質上是一個xml文件,這樣就可以存入所有數據。
-
讀取業務流程圖的過程就是解析xml文件的過程。
-
讀取一個業務流程圖中的節點就相當於是解析一個xml結構,進一步將數據插入到MySQL的表中,形成一條記錄。
-
將所有的節點都讀取並存入MySQL表中。
-
後面只要讀取MySQL表中的記錄就可以了,讀一條記錄就相當於讀一個節點。
-
業務流程的推進,後面就轉化爲讀取標準數據,並且處理數據,結束時這一行數據就可以刪除
-
小結
- 理解了工作流以及工作流引擎和工作流系統概念後,然後再理解Activiti是怎麼做的,它的大致核心工作過程,大致實現過程。