工作流軟件產品集成struts2框架
工作流軟件產品只負責業務流程的流轉,流程節點上業務模塊的辦理,以及監控業務流程的執行。通常一套工作流管理系統,會包含流程引擎,流程設計器,流程管理中心,表單設計器,自定義表單系統,表單引擎等等。表單模塊可以是可選的。一套自定義表單系統也會包含一個mvc的框架,能實現前后臺的數據提交和展現,并實現了分層的管理。
當客戶的應用系統集成工作流軟件時,客戶的應用系統本身也包含一個mvc的框架,能實現代碼級別的前后臺數據提交和頁面功能展現。利用此mvc框架,應用系統應該完成登錄,菜單,用戶管理,權限管理,組織機構管理等等模塊。在此基礎上,再集成工作流軟件產品來實現業務流。
利用工作流軟件產品中的電子表單系統,也能完成登錄,菜單,用戶管理,權限管理,組織機構等模塊。因為電子表單系統如eform自定義表單系統,本身也是一個mvc的框架,能實現前后臺通訊和定制界面展現,比傳統的mvc框架更方便的是,eform有可視化編輯界面功能,無需編碼,通過設置屬性就能快速的完成業務模塊的功能。
工作流軟件產品集成到struts2框架中的時候,分幾個步驟來做,先將工作流軟件產品的后臺jar包,xml配置文件,前臺的ebsys目錄一起copy到struts2框架的相應目錄中,先做到目錄結構的集成。
如下面的struts2的一個示例工程。加上eworkflow工作流軟件產品后的,目錄結構:
集成后,在登錄模塊,登錄成功后,給工作流的session變量賦值。
fcuser.xml文件映射到應用系統的用戶,角色等表:
做完上面的準備工作后,登錄到eworkflow工作流管理中心,這些可視化的功能,可以直接將url鏈接掛接到應用系統中做功能模塊的集成。
如果這些可視化的模塊不能滿足用戶的需要,如我的待辦任務列表,客戶需要任務列表中加入更多的業務信息的顯示(在流程管理中心不能先關聯出應用系統的業務表),則只能應用eworkflow流程引擎對外提供的api來實現。
在struts2的dao層建立eworkflow工作流對象,得到當前登錄用的待辦任務列表:
- Environment env = new Environment("eworkflow");
- Workflow wf = new BasicWorkflow(userid,env);
- List tasks = wf.getCurrentTasks("2",condition);//2待辦任務;3已辦
- ......
然后對tasks列表循環,根據wfid和業務表的關聯,插入業務表的列。
最后,將最后得到的tasks走struts2的框架返回到頁面上,顯示給最終用戶。
也可以利用工作流引擎中的任務表和業務表的關聯,直接得到我的待辦任務表。
在struts2的dao層執行sql:得到任務列表返回到頁面顯示給最終用戶。
待辦任務列表的sql:
原文鏈接:http://www.cnblogs.com/webreport/archive/2011/10/25/2223969.html
【編輯推薦】