工做流引擎你所不知道的事--開源軟件誕生16

淵遠流長的工做流--第16篇git

用日誌記錄「開源軟件」的誕生github

【點亮星標】----祈盼着一個鼓勵數據庫

博主開源地址:框架

碼雲:https://gitee.com/redragon/redragon-erp工具

GitHub:https://github.com/redragon1985/redragon-erp設計

工做流引擎你所不知道的事

 

工做流定義

工做流誕生於企業管理和辦公自動化的須要,它是針對平常工做中的業務流程管控而產生的一個概念。目的是將工做步驟分解成的任務,根據必定的原則和邏輯來完成這些任務並加以監控,從而實現更加有效的業務流程管理、更加規範的業務制度執行。日誌

工做流不是審批流

看了工做流的定義,可能你認爲已經懂了或者你認爲還很抽象,不要緊,咱們先來探討一個常見的理解誤區:工做流就是審批流。既然說了是誤區,那這個理解確定就是錯誤的。只是不少人在接觸工做流時每每都是經過OA裏面的審批流,因此纔有了這個誤區。固然審批流確定是屬於工做流,但它只是工做流的一個應用。xml

下面咱們再次回到工做流上,其實這是兩個詞的組合,一個是工做、一個是流程,因此從特色上已經表露無遺。首先它得是要完成的一個工做,必定是企業對人的一個管理要求,喝水它不是工做。其次這個工做必需要經歷一個流程才能作完,而且在過程當中要發生數據的變化,也就是說流程中必需要作點什麼影響它。好比說上班打卡,它就不是流程,不需使用工做流。blog

到此,我想你們應該已經比較清晰爲何工做流不是審批流,由於審批只是咱們平常工做中的一項工做而已,其餘的工做只要涉及流程,它也是工做流,可使用工做流系統實現管控。接口

工做流的應用

  (1)主業務流程:訂單、採購、合同審覈、供應鏈管理、倉儲管理等

  (2)行政管理類:出差申請、加班申請、請假申請、用車申請、各類辦公用品申請、日報週報等

  (3)人事管理類:員工培訓、績效考覈、工資發放流程、職員招聘等

  (4)財務相關類:收付款、發票管理、費用報銷、計劃預算等

  (5)客戶服務類:客戶信息管理、客戶投訴、售後服務等

  (6)特殊服務類:ISO管理流程、質量管理流程、進出口報關流程、物流跟蹤處理流程等

舉個栗子

上面說了不少工做流可應用的場景,下面咱們就來找一個典型的案例來分析一下整個處理過程。以計劃預算的制定爲例來說解。正常每一個公司都會在年末制定一套計劃預算來管控第二年的收入和支出,以保證按計劃完成一年的目標。通常流程以下:

(1)公司通常會制定一個頂層的規則,包括預算上限、預算事項和科目、預算制定的顆粒度等,而後下發。

(2)公司的全部部門會根據公司制定的規則以及部門內部本身的規劃制定一個部門預算,包括:人力、行政、財務、信息、業務等各個部門。

(3)制定完成後,上報上級領導審批,並經過幾輪商議並敲定。

(4)各部門的預算肯定後,會有專人彙總預算並覈對公司的規則,接着交給董事會審批。

(5)審覈後,會有專人負責從新下發給各部門以及內部發文通知。

計劃預算這個例子,比較典型,由於它包含了審批、包含了業務處理、甚至包含了不一樣系統的協做。因而可知,涉及到使用工做流的場景每每是業務或邏輯複雜場景,工做流適合幫助企業把複雜的事情變得簡單,把邏輯梳理的清晰有序。

工做流系統如何實現

工做流引擎你所不知道的事

 

因爲篇幅緣由,下一篇文章我會具體介紹工做流的框架,以及如何整合部署。本篇我就先用本身的語言總結一下,要實現一個工做流引擎都須要哪些功能。

(1)流程圖,不論是使用通用的工做流引擎仍是本身開發,咱們必定首先須要指定流程,指定流程的方式多種多樣,能夠採用配置的形式,也能夠直接經過畫流程圖的方式(最終也會造成一個可數據化的流程xml)。無論用什麼方式這一步是核心,告訴系統你的流轉過程。

(2)數據庫,全部的流程信息、節點信息、任務信息、歷史信息、用戶信息都必須存儲於數據表中,每個操做也會直接反饋給表中的數據。

(3)任務的使用,任務是一個重要的概念,流程流轉的是任務,咱們無需記錄任務的具體內容,這是業務系統須要考慮的事情,咱們只須要記錄任務的流轉過程便可。能夠給任務作個分類,分爲人工執行的和系統自動執行的。

(4)流程變量,這個概念也一樣的重要,由於沒有一個流程是絕對固定的,它的流轉分支以及邏輯斷定必須是動態的纔有意義。而動態也就意味着必須在流程啓動時才能肯定某些數據的值,這個值的傳入就必需要經過流程變量實現。

(5)歷史記錄,每個已經流轉完成的流程都須要詳細的歷史記錄,這是必須的,能夠排除風險並肯定責任。

(6)可調用的工具類或接口,流程中執行的每個操做:啓動、終止、經過、退回,都須要用戶手工或系統自動觸發,因此要提供全部可執行的API。

在不少開源的流程引擎框架裏,並無考慮太多的國內的使用須要,因此咱們在設計或客戶化咱們的工做流系統時,要考慮到各類特殊狀況。好比:撤回、終止、回調等。

後記

若是您對咱們正在作的開源軟件感興趣,歡迎各類形式的合做,做爲貢獻者或直接加入咱們!讓咱們一塊兒打造一套開源的企業級信息化解決方案。

 

【碼雲】或【GitHub】搜索「赤龍ERP」點擊星標,亦可加入咱們! 讓咱們從小開始作點偉大的事!與開發者交流 kzca2000

相關文章
相關標籤/搜索