AgileFlow的業務persistence設計

2021-04-18 06:17:27 字數 1136 閱讀 5530

經過總結以前的開發教訓和經驗,在實際環境中測試後,準備把agileflow的持久層設計如下:

《流程定義號1>

《流程例項號》

《欄位1>

""《欄位2>

""《欄位3>

""《欄位4>

""《流程例項號》

《欄位1>

""《欄位2>

""《欄位3>

""《欄位4>

""《流程定義號1>

《流程定義號2>

《流程例項號》

《欄位1>

""《欄位2>

""《欄位3>

""《欄位4>

""《流程例項號》

《欄位1>

""《欄位2>

""《欄位3>

""《欄位4>

""《流程定義號2>

說明如下:

1)這樣的設計可以保證業務流程的熱公升級特性,伴隨工作流引擎的熱公升級,使用者的應用系統也

就可以熱公升級了

2)這樣的設計可以保證快速開發應用系統

3)結合agileflow 0.9版的common元件集中的selectionhelper元件,使用者不用考慮應用系統的

流程運轉部分的資料庫設計問題;當然,查詢和報表部分還是建議採用資料庫作為持久層

4)我考慮過把字段的element改為attribute,但發現那樣更加佔記憶體空間

5)這裡是考慮乙個流程乙個表的模式,當然,乙個活動乙個表也是可以的,但在權衡後,發現沒有

乙個流程乙個表的模式好

6)乙個字段乙個表的模式可以考慮在採用資料庫方式時使用,但用檔案方式肯定不會採用它

7)為了方便處理,在定義欄位時,還是應該按活動分開,可以考慮在流程定義的node定義中定義

業務資料,這樣在完成活動時方便處理

8)這樣的設計,可以使得agileflow轉變為乙個bpm系統

9)agileflow的未來,不僅僅是個工作流引擎,它還是個工作流應用系統和bpm系統的開發框架,它

的目標是方便使用者的快速開發,並且保證架構的靈活,可擴充套件,易測試

10)工作流引擎在agileflow中將是可插拔的,agile是可選的乙個工作流引擎,還可以選擇shark,

osworkflow,jbpm等其它的工作流引擎,使用者不需要修改任何的**就可以切換工作流引擎

AgileFlow的流程定義語言

一般的工作流流程定義語言都是相當複雜的,比如乙個程式設計師學習xpdl大概需要一周才能基本 掌握它的一般用法 其實,對於使用者來說,這個複雜性是不應該的,使用者需要乙個簡單並且容易 理解的流程定義語言.agileflow使用的流程定義語言hpdl就非常簡單,它的目標是讓您在1個小時內掌握它的全部.h...

AgileFlow的流程定義語言

一般的工作流流程定義語言都是相當複雜的,比如乙個程式設計師學習xpdl大概需要一周才能基本 掌握它的一般用法 其實,對於使用者來說,這個複雜性是不應該的,使用者需要乙個簡單並且容易 理解的流程定義語言.agileflow使用的流程定義語言hpdl就非常簡單,它的目標是讓您在1個小時內掌握它的全部.h...

AgileFlow的參與者實現

agileflow包括乙個預設的系統管理模組,實現了包括使用者管理,部門管理,角色管理,許可權管理的 功能,能夠滿足一般的資訊系統的系統管理需求.當然,使用agileflow時,可以使用它的系統管理模組,也可以不使用.agileflow的使用者可以同時是多個角色,可以直接有某個許可權 乙個角色包括了...