国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

基于JBPM的電子政務(wù)系統(tǒng)的設(shè)計(jì)

發(fā)布時(shí)間:2010-8-17 13:20    發(fā)布者:lavida
關(guān)鍵詞: JBPM , 電子政務(wù)
1 引言  

所謂電子政務(wù),是指各級(jí)政務(wù)部門(mén)利用現(xiàn)代信息技術(shù),開(kāi)展辦公決策、業(yè)務(wù)處理和公 共服務(wù)等政務(wù)活動(dòng),提高工作效率、管理能力和服務(wù)水平的過(guò)程。近幾年,隨著國(guó)內(nèi)信息化 建設(shè)速度的不斷加快以及國(guó)家對(duì)電子政務(wù)工作重視程度的日漸加深,電子政務(wù)呈現(xiàn)出強(qiáng)勁的 發(fā)展勢(shì)頭。  

同時(shí),工作流技術(shù)也發(fā)展迅速,商業(yè)和開(kāi)源工作流產(chǎn)品相繼推出。由于電子政務(wù)工程中 軟件費(fèi)用支出巨大,在不影響系統(tǒng)功能和性能的前提下,采用開(kāi)源軟件成為電子政務(wù)工程降 低成本的一個(gè)重要途徑。而且,開(kāi)源軟件具有開(kāi)放的特性,開(kāi)源社區(qū)都在不斷的努力提高開(kāi) 源代碼的可靠性,逐漸完善開(kāi)源系統(tǒng)的質(zhì)量。  

本文在對(duì)比分析當(dāng)今三大開(kāi)源的工作流引擎的基礎(chǔ)上,重點(diǎn)分析并研究了基于JBPM 構(gòu) 建電子政務(wù)系統(tǒng);贘BPM 所設(shè)計(jì)的電子政務(wù)系統(tǒng),既提高了政府的辦公效率又降低了系 統(tǒng)開(kāi)發(fā)的費(fèi)用。  

2 開(kāi)源工作流引擎之間的比較  

目前,在工作流領(lǐng)域,具有代表性的開(kāi)源工作流產(chǎn)品有Shark、OSWorkflow 和JBPM。 在此對(duì)這三大工作流引擎進(jìn)行分析比較,如表1。  


  
通過(guò)對(duì)上表的分析可以得出:如果開(kāi)發(fā)電子政務(wù)系統(tǒng),JBPM 是最適用的開(kāi)源工作流引 擎。因?yàn)橄鄬?duì)于Shark,JBPM 更加靈活,而且以當(dāng)前流行的Hibernate 作為它的持久層,這使它能在不同的數(shù)據(jù)庫(kù)服務(wù)器上輕松部署并方便地進(jìn)行管理,另外還有全面的文檔;相對(duì)于 OSWorkflow,JBPM 更加簡(jiǎn)單,可以作為嵌入工作流,給了開(kāi)發(fā)者更大的靈活性。同時(shí),JBPM 系統(tǒng)最大的特色是使用自己的流程定義語(yǔ)言JPDL 來(lái)精確描述業(yè)務(wù)流程,過(guò)程建模結(jié)合了UML 活動(dòng)圖和狀態(tài)圖的知識(shí),為用戶(hù)提供了可視化的面向圖形的編輯流程定義的方法,業(yè)務(wù)人員 能很直觀的與軟件進(jìn)行交互,更好的發(fā)揮了電子政務(wù)系統(tǒng)的作用。  

3 JBPM 剖析  

JBPM,全稱(chēng)是Java Business Process Management,是基于J2EE 的輕量級(jí)工作流管理系 統(tǒng)。JBPM 是公開(kāi)源代碼項(xiàng)目,它使用要遵循Apache License,可以免費(fèi)應(yīng)用于商業(yè)開(kāi)發(fā)。 JBPM 在2004 年10 月18 日,發(fā)布了2.0 版本,并在同一天加入了JBoss,成為JBoss 企業(yè) 中間件平臺(tái)的一個(gè)組成部分,它的名稱(chēng)也改成JBoss JBPM。JBPM 的系統(tǒng)結(jié)構(gòu)如圖2 所示。  


  
由于JBPM 的圖形化流程設(shè)計(jì)工具jbpm-designer 目前只是一個(gè)eclipse 插件,只能在 eclipse IDE 環(huán)境下使用,故在JBPM 開(kāi)發(fā)中通常使用的是eclipse 開(kāi)發(fā)環(huán)境。安裝JBPM 很 簡(jiǎn)單,只需將文件jbpm-starters-kit-3.1.1\jbpm-designer\jbpm-gpd-feature\eclipse 拷貝到eclipse 安裝目錄的pulgins 目錄下即可。如果安裝成功,重啟eclipse,就可在 Eclipse 的首選項(xiàng)里發(fā)現(xiàn)多了一個(gè)JBoss jBPM 。  

JBPM 具體的開(kāi)發(fā)流程如下: 1) 初始化數(shù)據(jù)庫(kù)。 任何系統(tǒng)都需要數(shù)據(jù)庫(kù)支持,jBPM 會(huì)把自己的一個(gè)初始化數(shù)據(jù)存 儲(chǔ)到數(shù)據(jù)庫(kù),同時(shí)工作流的數(shù)據(jù)也是存儲(chǔ)到數(shù)據(jù)庫(kù)中的。jBPM 使用了Hibernate 做為自己 的存儲(chǔ)層,因此只要是 Hibernate 支持的數(shù)據(jù)庫(kù),JBPM 也就支持。  

本文所設(shè)計(jì)系統(tǒng)使用的 數(shù)據(jù)庫(kù)是MySQL,故以MySQL 為例,簡(jiǎn)單介紹JBPM 數(shù)據(jù)庫(kù)的初始化操作: 首先安裝MySQL 和MySQL 客戶(hù)端,安裝MySQL 客戶(hù)端是為了方便查看數(shù)據(jù)庫(kù)中的數(shù)據(jù); 接著在MySQL 中創(chuàng)建一個(gè)庫(kù)并將下載的文件 jbpm-starters-kit-3.1.1 下的子目錄 jbpm 改名為 jbpm.3;最后在DOS 窗口下進(jìn)入jbpm-starters-kit-3.1.1\jbpm-db 子目錄,執(zhí)行 命令“ant mysql. scripts ”。若執(zhí)行成功,會(huì)在bpm-starters-kit-3.1.1\jbpm-db\build\ mysql\ scripts 子目錄中生成四個(gè)sql 文件。再在MySQL 客戶(hù)端中的腳本界面執(zhí)行 “mysql.create.sql”腳本,這樣就在JBPM 庫(kù)中創(chuàng)建了一個(gè)數(shù)據(jù)表。  

2) 在Eclipse 中配置JBPM。進(jìn)入Eclipse 的首選項(xiàng)中找到JBoss JBPM,指定 JBPM 的安裝路徑,目的是為了在Eclipse 找到JBPM 下的各種 jar 包,設(shè)置項(xiàng)目的JBPM 庫(kù)引用。  

3)新建JBPM 項(xiàng)目。進(jìn)入Eclipse 的主菜單,依次點(diǎn)擊文件、新建、項(xiàng)目、JBoss JBPM、 Process Project,取個(gè)項(xiàng)目名,點(diǎn)擊完成即可。  

4)設(shè)置Hibernate 的配置文件,主要是設(shè)定相關(guān)的數(shù)據(jù)庫(kù)連接信息。以MySQL 為例,在 JBPM 項(xiàng)目中點(diǎn)擊進(jìn)入hibernate.cfg.xml 文件,其中做如下修改:  

org.hibernate.dialect.MySQLDialect  

com.mysql.jdbc.Driver  

jdbc:mysql://localhost:3306/jbpm  

root  

******  

5) 添加庫(kù)引用。為了連接JBPM 工作流引擎與Hibernate 持久層的通信,要將Hibernate 的Hibernate3.jar 包添加進(jìn)JBPM 項(xiàng)目的庫(kù)引用。而本系統(tǒng)使用了MySQL 數(shù)據(jù)庫(kù),故也要將 其JDBC 庫(kù)添加進(jìn)庫(kù)引用,使用其他數(shù)據(jù)庫(kù)與此類(lèi)似。  

6) 具體工作流的開(kāi)發(fā)。使用JPDL 定義工作流,保存在processdefinition.xml 文件中。 流程定義法則參考JBPM 工作流開(kāi)發(fā)指南。  

4 電子政務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)  

本文采用工作流引擎JBPM作為政務(wù)系統(tǒng)的核心,利用Struts +Spring +Hibernate架構(gòu) 作為政務(wù)系統(tǒng)的框架,構(gòu)建一個(gè)結(jié)構(gòu)清晰、實(shí)用價(jià)廉的電子政務(wù)系統(tǒng)。系統(tǒng)架構(gòu)如圖3所示。  


  
圖中用戶(hù)(User)負(fù)責(zé)以下工作:  

(1)登錄電子政務(wù)系統(tǒng)界面,使用流程定義工具(Modeling Tool)將要進(jìn)行流程運(yùn)行的 業(yè)務(wù)流程定義完整后發(fā)送業(yè)務(wù)請(qǐng)求到中央控制器(ActionServlet);  

(2)在系統(tǒng)界面(System Interface)上查看本人所發(fā)起的業(yè)務(wù)流程的詳細(xì)信息,包括到 達(dá)流程路線中各節(jié)點(diǎn)的時(shí)間以及各節(jié)點(diǎn)負(fù)責(zé)人的意見(jiàn);  

(3)通過(guò)系統(tǒng)界面(System Interface)讀取由視圖模塊(JSP)傳遞出來(lái)的業(yè)務(wù)流程的 最終結(jié)果。  

接著再分析電子政務(wù)系統(tǒng)架構(gòu)圖中其他組件的具體實(shí)現(xiàn):  

(1)表示層。在該系統(tǒng)架構(gòu)中,表示層實(shí)際包含了Struts框架中的兩個(gè)層次結(jié)構(gòu):控制層 和視圖層?刂茖邮鞘褂弥醒肟刂破鳎ˋctionServlet)和處理器(Action)實(shí)現(xiàn),視圖層 則是使用JSP實(shí)現(xiàn)。表示層中的處理器表單(ActionForm)本質(zhì)上是一種JavaBean,是專(zhuān)門(mén)用 來(lái)傳遞表單數(shù)據(jù)的DTO(Data Transfer Object),它包括用于表單數(shù)據(jù)驗(yàn)證的validate() 方法和用于數(shù)據(jù)復(fù)位的reset()方法。在表示層的設(shè)計(jì)中,嚴(yán)格遵照MVC模式設(shè)計(jì)系統(tǒng),頁(yè)面中需要的數(shù)據(jù)均由控制層傳遞,用戶(hù)提交的業(yè)務(wù)請(qǐng)求和數(shù)據(jù)都是通過(guò)控制層處理,訪問(wèn)合法 性判斷、頁(yè)面跳轉(zhuǎn)、響應(yīng)用戶(hù)請(qǐng)求等工作也是由控制層完成;視圖層負(fù)責(zé)顯示模型的數(shù)據(jù)、 接受模型的數(shù)據(jù)更新通知更新視圖、接受用戶(hù)輸入的數(shù)據(jù)傳送給中央控制器和接受處理器處 理后的結(jié)果傳送給系統(tǒng)界面,將控制層和視圖層代碼分離。表示層具體實(shí)現(xiàn)的流程如圖4。  


  
(2)業(yè)務(wù)層。業(yè)務(wù)層是電子政務(wù)系統(tǒng)的核心,負(fù)責(zé)處理繁瑣復(fù)雜的日常事務(wù)和工作流 事務(wù),并根據(jù)業(yè)務(wù)需求進(jìn)行動(dòng)態(tài)擴(kuò)展,同時(shí)業(yè)務(wù)層還為表示層組件提供必要的接口服務(wù),本 系統(tǒng)使用Spring管理bean的機(jī)制。具體的實(shí)現(xiàn)流程是:當(dāng)業(yè)務(wù)請(qǐng)求流轉(zhuǎn)到業(yè)務(wù)層時(shí),模型層 (JavaBean、EJB)負(fù)責(zé)與工作流引擎(JBPM)連接,把業(yè)務(wù)請(qǐng)求傳送到JBPM進(jìn)行業(yè)務(wù)流轉(zhuǎn), 流程定義文件通過(guò)JBPM流程解析器解析進(jìn)入工作流引擎的核心完成業(yè)務(wù)流轉(zhuǎn)的具體實(shí)現(xiàn)。業(yè) 務(wù)流程實(shí)現(xiàn)后將結(jié)果返回模型層,模型層再返回給表示層中的Action。在JBPM流程運(yùn)轉(zhuǎn)中, 模型層還負(fù)責(zé)與持久層通信,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的調(diào)用。  

(3)持久層。本文所描述的系統(tǒng)采用了輕量級(jí)O/R Mapping工具-Hibernate,進(jìn)行數(shù)據(jù) 持久化的工作。實(shí)例中只要把對(duì)象的屬性抽象出來(lái),Hibernate就會(huì)根據(jù)映射文件自動(dòng)將對(duì) 象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去,則在使用JBPM的時(shí)候可以不用考慮數(shù)據(jù)持久化 操作的具體實(shí)現(xiàn)細(xì)節(jié),而只專(zhuān)注于流程的設(shè)計(jì),并且業(yè)務(wù)中需要保存和修改的信息都將會(huì)實(shí) 時(shí)的在數(shù)據(jù)庫(kù)中更新,保證了整個(gè)數(shù)據(jù)系統(tǒng)數(shù)據(jù)一致。這些特性使Hibernate 為電子政務(wù)系 統(tǒng)提供良好的持久層支持環(huán)境。  

5 結(jié)束語(yǔ)  

本文創(chuàng)新點(diǎn):JBPM系統(tǒng)的過(guò)程建模技術(shù)結(jié)合了UML活動(dòng)圖和狀態(tài)圖的技術(shù),能實(shí)現(xiàn)并提 高電子政務(wù)系統(tǒng)的可視化設(shè)計(jì),并且,作為當(dāng)今市場(chǎng)上擴(kuò)展性能最好的開(kāi)源工作流引擎,為 電子政務(wù)系統(tǒng)的升級(jí)奠定了堅(jiān)實(shí)的基礎(chǔ)。故基于開(kāi)源工作流引擎JBPM構(gòu)建電子政務(wù)系統(tǒng),既 節(jié)省了軟件開(kāi)發(fā)費(fèi)用又提高了政務(wù)系統(tǒng)的性能。
本文地址:http://m.4huy16.com/thread-21819-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專(zhuān)區(qū)
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國(guó)技術(shù)精英年會(huì)深圳站回顧
  • 技術(shù)熱潮席卷三城,2025 Microchip中國(guó)技術(shù)精英年會(huì)圓滿(mǎn)收官!
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)上海首站開(kāi)幕
  • 常見(jiàn)深度學(xué)習(xí)模型介紹及應(yīng)用培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表