開源工作流HYAppFrame來了

說到工作流,大家很容易想到JBPM,筆者也是。筆者是通過SharePoint工作流開始的,因爲SharePoint過於龐大,後來選擇了JBPM。由於JBPM的Demo系統很簡陋,後續開發也比較繁瑣,在瞭解到其數據庫僅有數張表後,筆者就有了自己寫工作流的想法。當年,公司正在考慮上OA系統,前後調研和測試了約20多家知名OA,對OA的工作流功能有了深入理解。爲了造福更多人,筆者發起了MiniOA項目,本來只是打算介紹OA應用程序框架,誰知大家對工作流表現出濃厚興趣。

以前的OA產品爲適應市場對工作流的需求,幾乎一夜之間全部更名成BPM。的確,一套應用系統有了工作流引擎,幾乎可以做任何事。筆者在實際項目中需要處理N多業務表單,涉及多個業務部門和崗位,一個業務流程順暢走下來,如果沒有工作流支持,單靠修改表單狀態幾乎不可能。在定製開發過程中,需求的多樣性要求工作流引擎有較高的靈活性。在過去工作中,筆者工作上獲得的成功有一半可歸功於長期積累的應用程序框架和工作流引擎,如果不是它們,筆者很難在短時間內滿足老闆和業務部門的需求。


筆者總結,管理系統工作流引擎通常需具備以下功能:

  • 可定義流程審批節點,可設置節點過期時間,並設置節點事件, 
  • 過期節點任務即時提醒,實現任務推送
  • 節點完成或創建時可提醒,包括郵件、站內短信或手機短信,可以同時抄送審 批流程外的人。
  • 支持節點分支和合並,例如條件分支下的審批金額的判斷 
  • 可隱藏審批意見 
  • 支持自由流程和固定流程 
  • 支持流程掛起、終止 
  • 支持流程版本管理 
  • 可在手機上進行審批 
  • 支持子流程 
  • 流程統計和報表
  • 流程圖動態顯示流程執行情況 
  • 流程設計器
  • 審批權限授權,例如出差代理 
  • 支持競爭執行
  • 支持 M<=N 的節點處理。例如,同時啓動了 N 個任務,只要其中的 M 個任

HYAppFrame工作流截圖,流程定義


HYAppFrame工作流截圖,節點定義


HYAppFrame工作流截圖,審批


HYAppFrame工作流開發指南:http://wenku.baidu.com/view/443f8ca6312b3169a551a4e6.html

開源項目HYAppFrame雖然是WinForm, C/S架構,但其後臺數據庫可完全適用於Web程序,也就是說,如果將HYAppFrame工作流改造成Web工作流,只需要在前臺開發ProcessEntity.aspx頁面用於審批,後臺Workflow.cs適當修改,數據庫表結構和腳本不需要任何修改。HYAppFrame的工作流引擎最早是基於JSF + Javabean+ MySQL的,所以掌握其設計思想,它也一定能改造成Oracle數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章