為什麼我們需要工作流

2021-07-23 14:50:49 字數 1668 閱讀 2285

每乙個資訊化開發人員,在接觸到工作流的時候,都會有這麼乙個疑問——我用一般的方法可以實現,為什麼還要用工作流?

我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。

這是乙個簡單的業務——訂貨流程:

1、客戶提交採購訂單

2、業務員執行訂單處理

3、如果缺貨,轉工廠生產 

4、倉庫出貨

5、物流發貨

如果不使用工作流技術,從頭開始開發這個訂購流程的業務邏輯,我們需要:

每個活動點都需要開發互動頁面和後台處理程式

每個活動的流轉都需要硬性判斷下一步活動節點及其操作人

每次操作都需要維護業務資料和流程的相關資料

最終結果就是這樣:

這還不包括監視、控制、分析流程的部分。

但是,如果我們使用了工作流

這樣看起來就簡單多了。右側的工作流管理系統,接管了所有訂貨業務在流程方面的定義和執行。這樣做的好處很多:

使用專門的流程資料系統,維護所有涉及流程流轉的資料。

提供「流程設計」工具,幫助使用者定義訂貨流程的模型,而且一般都提供了視覺化的介面。

所有的流程都依靠流程引擎來處理,避免了需求更改與硬編碼之間矛盾的產生。

工作流引擎還提供了眾多的api,可以很方便的將工作流的管理和業務操作完美結合。

所以在合適的專案中引入工作流技術,對於基礎開發來說,是非常有益處的:

降低開發風險

通過使用諸如活動、流轉、狀態、行為這樣的術語,使得業務分析師和開發人員使用同一種語言交談成為可能。優秀的流程設計建模工具,甚至能使開發人員不必將使用者需求轉化成詳細設計文件。

流程實現的集中統一

應對業務流程經常變化的情況,使用工作流技術的最大好處是使業務流程的實現**,不再散落在各式各樣的業務系統中。

加速開發

開發者不用再關注流程的參與者、活動節點的銜接、流轉控制……因為這些工作很多被工作流框架接管了。因而開發者開發起來更快、**出錯更少、系統更加容易維護。

提公升對迭代開發的支援

如果系統中業務流程部分被硬編碼,就不容易更改,需求分析師就會花費很大的精力在開發前的業務分析中,並且希望一次成功。但可悲的是,在任何軟體專案開發中,這都很少能實現。工作流管理系統使得業務流程很容易部署和重新編排,業務流程相關的應用開發可以以一種「迭代/漸進」的方式推進,也就是說工作流技術在某種程度上支援「需求分析不必一次完全成功」。

我們為什麼需要工作流

這是我的 基於wf設計業務流程平台 的題外篇 以下是這系列的文章列表,寫的很痛苦,但我會繼續寫下去 基於wf設計業務流程平台 架構 基於wf設計業務流程平台 許可權體系 基於wf設計業務流程平台 特定群體與特定人 基於wf設計業務流程平台 參與者與任務列表 基於wf設計業務流程平台 功能列表 基於w...

我們為什麼需要工作流

這是我的 基於wf設計業務流程平台 的題外篇 以下是這系列的文章列表,寫的很痛苦,但我會繼續寫下去 基於wf 設計業務流程平台 架構 基於wf 設計業務流程平台 許可權體系 基於wf 設計業務流程平台 特定群體與特定人 基於wf 設計業務流程平台 參與者與任務列表 基於wf 設計業務流程平台 功能列...

我們為什麼選擇工作流

一直感覺很難對那些從未接觸過工作流的同學們解釋清楚。還記得有乙個活動中,有人提問 工作流到底是做什麼的?回答的同志希望根據具體的例項解釋一下,就反問他 你們公司的報銷流程是怎麼走的?結果提問的同志直接說 直接找財務啊。引得下面一陣喧嘩 不用領導簽字就可以隨便報銷啊。那個提供的同志心裡一定感覺很無辜 ...