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