探索工作流(一)--概述

工作流我們經常提到,並且也一直在使用,有很多成熟的使用案例,但是對於工作流的具體定義,我們還是比較模糊的,它是標準?引擎?技術?解決思想?還是架構?工作流到底是什麼呢?

對於從事計算機軟件設計人員來說,它是一項技術,架構師可以通過這項技術來解決一些流程化的問題;對於從事軟件信息管理(CIO首席信息官)人員來說,它就是一種思想,一種降低企業運維的指導思想;對於軟件開發人員來說(咱們),那它就是一個框架,一套通過提供接口和服務來創建適應用戶流程變化的技術架構。總而言之,工作流就是讓軟件開發人員從人、事、物、流程、時間、條件等多維的角度來分析和設計軟件,從而幫助客戶實現管理流程化的目標。


1 爲什麼要使用工作流
對於這個問題,我們可以從企業的發展、IT運維成本和企業信息管理的角度來分析這個問題。
首先從企業發展角度來說,企業的CTO總是面臨着一個困境,就是我們爲用戶開發的軟件不能跟隨用戶的需求的靈活變化。企業的發展總是根據社會環境來隨時變化的,企業的發展策略也是隨着市場和競爭對手而不斷變化的,但是我們的軟件交付用戶以後,卻不能隨時根據用戶需求而改變,這樣就會給用戶帶來很多結構性的問題。工作流可以對這些問題提供解決方案,同時,工作流也爲這種解決方案提供了相應的實現平臺。
其次,從企業的IT運維成本來分析,企業的IT運維成本總體來說,處於緩慢提高的狀態,由於企業的信息越來越多,數據也越來越複雜,企業的信息運維成本也越來越高,也就意味着我們的利益空間越來越小,如何降低IT運維成本,提升軟件開發的利益空間越來越成爲一個難題。工作流的出現,爲解決這一難題提供了可能,我們將工作流和具體的公司業務隔離開,從而讓企業的業務程序和流程隔離開,從而降低企業的IT運維成本。
從企業的信息管理角度來說,經典的企業級ERP系統、進銷存系統、DRP系統都是事物處理系統,他們都是“管事”的系統,系統主要記錄以事情爲主的數據,這樣我們在以這些數據爲依託進行數據分析時就會遇到瓶頸,因爲我們不能從多維的角度來分析,那麼數據分析結果可能就不準確,這是很嚴重的問題。工作流的出現,可以幫助客戶從人、事、物、時間等維度進行數據分析,爲企業的發展提供更加嚴謹和準確的結果。
2 工作流有哪些類型

工作流分爲業務流和審批流。業務流提供一系列有組織的步驟,步驟是依次執行的,每個步驟都需要事件觸發來執行;審批流提供了一系列的狀態,工作流從初始狀態開始,到終止狀態結束,兩個狀態之間定義行爲進行過度,通常狀態下,審批流對事件作出反應,從而改變自身狀態。總結:業務流強調“人”與計算機之間的工作交互,審批流強調“人”與“人”之間的交互。

業務流模型圖:


審批流模型圖:


3 工作流用在哪裏
工作流是一種軟件開發技術,用在軟件設計領域。凡是通過各種表單逐級手工流轉可以完成的任務都可以通過工作流軟件實現,典型的應用場景:
行政類:出差申請、加班申請、請假申請、購買申請等;
人事類:員工培訓、績效考評、職位變動、檔案管理等;
財務類:付款請求、應收款處理等;
計劃類:制定計劃、計劃調整、任務驗收等;
4 那些人使用工作流及如何使用
工作流是個很模糊的概念,它不是一個具體的軟件,也不是一個特定的框架,但是它存在於我們軟件中的方方面面,我們從如何使用及那些人使用兩方面來說明。
工作流引擎、工作流底層服務:是我們開發的軟件本身來使用的;
工作流架構包括工作流引擎、接口、業務系統框架:是設計和開發人員使用的,設計和開發人員通過工作流引擎和服務接口開發出相應的工作流系統;
工作流平臺包含流程設計器,可以理解爲工作流系統後臺程序:企業後臺管理用戶使用;

普通的工作流軟件:普通的用戶使用工作流系統來處理日常業務。

5 工作流系統開發

工作流系統的開發是一個很複雜的問題,包括技術選型、框架搭建、系統開發等必要環節。開發之前,我們必須要進行技術選型,目前比較常用的工作流技術有微軟的Workflow和Java語言的BPM;搭建框架考慮的問題也比較多,常用並且必須要考慮的底層服務應該包括RepositoryService、RuntimeService、TaskService、IdentityService、ManagementService、HistoryService、FormService等;


6 總結
工作流可以改進和優化業務流程,提高業務工作效率;
工作流可以實現更好的業務過程控制,提高服務質量;
工作流可以提高業務流程的柔性;
發佈了124 篇原創文章 · 獲贊 168 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章