轉載本文需註明出處:微信公衆號EAWorld,違者必究。微信
常常會發現,不少流程很是相似,但都又有一些差異,用一條流程來實現,沒法支持全部業務。若是用多個流程來實現,流程會不少,工做很重複,有調整的時候,維護起來很麻煩,這種狀況就能夠考慮使用虛擬流程的方式,下降流程開發複雜度。
看下面兩個流程,咱們會發現,流程的模式確實很是像,都是經辦人錄入 -> 複覈人複覈 -> 相關人員審覈 -> 系統處理 -> 通知經辦人查看結果 :
針對這個狀況,徹底能夠有上述這樣一個虛擬流程,在新的流程開發時,再也不畫這個流程,而是提供一個配置的方式,配置每一個實際和虛擬流程不同的地方,例如配置錄入信息的界面、配置複覈角色、配置審覈角色、配置系統處理的實現、配置結果查看界面,用這些配置自動生成一個流程定義模板,這樣運行的時候,仍是不一樣的流程定義產生不一樣的流程實例。若是把這些配置設計成一個 Excel ,就能夠用 Excel 來寫需求、評審,用 Excel 生成運行流程了。
前面我講的業務流程,大多數狀況能夠總結爲虛擬流程,這樣作的好處是:
肯定了通用的業務處理模式,用這種模式和需求方討論特別容易溝通,由於虛擬流程是能夠用業務語言描述的,再也不摻雜技術語言
開發、測試很方便,不須要每一個重畫,也容易檢查
一旦相似業務作出調整,只要改變從虛擬流程生成實際流程的代碼便可,容易維護
須要指出的是:
總結虛擬流程必定要根據業務特徵進行抽象,不要簡單的從技術上可重用進行抽象
虛擬流程不能解決全部問題,實在解決不了,就用傳統開發方式,不必求全責備
關於做者:焦烈焱,普元信息CTO,致力於技術創新和金融創新解決方案研究。專一於企業技術架構領域,對分佈式環境的企業計算、 企業信息架構的規劃與實踐有着豐厚經驗,帶領普元技術團隊相繼在雲計算、大數據及移動開發領域取得多項突破,並主持中國工商銀行、中國建設銀行等多家大型企業技術平臺的規劃與研發。
關於EAWorld:微服務,DevOps,數據治理,移動架構原創技術分享。架構