国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ExtJS+SSH架構(gòu)的民政服務信息系統(tǒng)設計與實現(xiàn)

2014-04-29 19:38:50王權(quán)吳玫王海暉
計算機時代 2014年12期
關(guān)鍵詞:信息系統(tǒng)

王權(quán) 吳玫 王海暉

摘 ?;要: 針對傳統(tǒng)民政辦公系統(tǒng)結(jié)構(gòu)復雜,不易維護和不易擴展的情況,提出了一種基于ExtJS+SSH(Struts2、Spring和Hibernate)架構(gòu)的民政服務信息系統(tǒng)。按照JavaEE的分層思想,通過Struts2框架實現(xiàn)了MVC模式,將用戶界面、業(yè)務處理和數(shù)據(jù)訪問三者分離,利用Spring框架統(tǒng)一管理系統(tǒng)對象以降低系統(tǒng)的耦合性,采用Hibernate框架實現(xiàn)業(yè)務數(shù)據(jù)的持久化以降低開發(fā)難度。實驗結(jié)果表明,基于ExtJS和SSH架構(gòu)的系統(tǒng)具有易維護、可擴展和運行穩(wěn)定的特性。

關(guān)鍵詞: 民政服務; 信息系統(tǒng); ExtJS; SSH

中圖分類號:TP317.1 ?; ?; ?; ?; ?;文獻標志碼:A 文章編號:1006-8228(2014)12-38-04

Design of civil service information system and its implementation based on

ExtJS and SSH frameworks

Wang Quan1, Wu Mei1,2, Wang Haihui1,2

(1. School of computer science and engineering, Wuhan Institute of Technology, Wuhan, Hubei 430200, China;

2. Hubei Provincial Key Laboratory of Intelligent of Intelligent Robot, Wuhan Institute of Technology)

Abstract: The traditional home service information system is a complex system which is difficult to maintain and expand. A system for this situation is proposed in this paper, which is based on ExtJS and SSH frameworks. According to hierarchical thinking of Java EE, the MVC model is implemented by Struts2, which has separated the user interface, business process and data storage. The system's object is unified by Spring to reduce the coupling of the system. Hibernate is utilized to realize the data persistence, which reduces the difficulty of software development. The experimental results show that the system has easy-maintainability, easy-expandability and stability.

Key words: the civil service; information system; ExtJS; SSH

0 引言

2001年全國民政信息化建設工作會議首次提出加強民政信息化建設,并對具體實施提出了“便民工程”和“數(shù)字民政工程”[1]。為了滿足民政業(yè)務工作決策科學化、管理規(guī)范化、服務網(wǎng)絡化、手段現(xiàn)代化和民政信息資源的共建共享的需求,各地民政部門都迫切需要構(gòu)建現(xiàn)代化的民政服務信息系統(tǒng)。民政服務信息系統(tǒng)的開發(fā)符合了民政信息化建設的要求,能提升民政工作的效率,提高民政工作的質(zhì)量,加強民政工作的規(guī)范性,清晰業(yè)務辦理的責任,便利人民群眾。目前已有地區(qū)開發(fā)了民政信息系統(tǒng),如文獻[8]采用B/S結(jié)構(gòu)和XML數(shù)據(jù)交換技術(shù)來實現(xiàn)民政辦公系統(tǒng),文獻[9]使用iBatis框架構(gòu)建民政信息系統(tǒng)的數(shù)據(jù)庫技術(shù)。在實現(xiàn)數(shù)據(jù)持久層時,Hibernate和iBatis最大的不同就是Hibernate不用手動編寫sql語句,在整個系統(tǒng)開發(fā)過程中都是面向?qū)ο蟮?,而iBatis則需要開發(fā)者手動編寫sql語句,這增加了軟件開發(fā)難度。

1 引入ExtJS+SSH框架的意義

1.1 ExtJS的優(yōu)點

ExtJS框架特點是能夠美化界面以提高用戶體驗。ExtJS是一個基于YUI技術(shù),由JavaScript編寫的與后臺技術(shù)無關(guān)的AJAX框架,主要用于顯示層,即構(gòu)建用戶界面,且能夠輕易構(gòu)建出界面美觀、功能豐富和靈活多變的前臺頁面[2-4]。ExtJS的虛擬桌面技術(shù)提高了用戶的使用體驗。ExtJS還有以下幾個優(yōu)點[5-7]。

⑴ 跨瀏覽器支持。ExtJS對底層的JavaScript代碼進行了跨瀏覽器支持,這種支持可以幫助開發(fā)者在構(gòu)建Web程序時不用考慮用戶所使用的瀏覽器類型。

⑵ 面向?qū)ο?。ExtJS采用面向?qū)ο蠛徒M件化的思想,使用ExtJS開發(fā)的應用具有很好的系統(tǒng)擴展性和可維護性。

⑶ 性能好,速度快。相對于其他的UI,ExtJS的性能非常好,速度快。在加載時支持動態(tài)加載機制,可以很大程度地提高JavaScript文件的加載效率。

1.2 SSH架構(gòu)的優(yōu)勢

Struts2框架實現(xiàn)MVC(Model, View, Controller)模式[10],MVC模式能夠提高程序組件的重用性和清晰程序結(jié)構(gòu)[11-12]。Spring框架通過IoC(控制反轉(zhuǎn))和AOP(面向方面編程)兩種技術(shù),來實現(xiàn)對程序中的對象關(guān)系、事務、權(quán)限和日志的統(tǒng)一管理[13]。Hibernate框架完成系統(tǒng)數(shù)據(jù)持久化的工作,通過Hibernate可以提高民政服務信息系統(tǒng)對底層數(shù)據(jù)庫兼容性,能在不修改后臺代碼的情況下實現(xiàn)數(shù)據(jù)庫系統(tǒng)的更換[14]。

2 系統(tǒng)設計

2.1 系統(tǒng)總體設計

民政服務信息系統(tǒng)包括三個子系統(tǒng),分別是民政內(nèi)部辦公系統(tǒng)、社會服務平臺和社會家園網(wǎng)。三個子系統(tǒng)協(xié)作示意圖如圖1所示。圖1中實線表示業(yè)務申報,虛線表示審核結(jié)果回復,數(shù)字表示民政業(yè)務類型(1表示社區(qū)申報的業(yè)務,2表示社區(qū)家園網(wǎng)直接申報的業(yè)務,3表示通過社區(qū)家園網(wǎng)向社區(qū)申報并且最終由社區(qū)提交到民政局的業(yè)務)。智慧社區(qū)服務平臺是由社區(qū)的辦公人員使用,主要完成社區(qū)基本情況登記與查詢,民政業(yè)務上傳與下達。民政內(nèi)部辦公系統(tǒng)是提供給民政局辦公人員使用的,民政局辦公人員通過該系統(tǒng)能夠?qū)徟鐓^(qū)上報的申請和管理的民政業(yè)務信息。社區(qū)家園網(wǎng)是一個論壇,為群眾提供一個咨詢、辦事和交流的平臺,不需要進行證件真實性審核的業(yè)務都通過社區(qū)家園網(wǎng)申報。

[民政內(nèi)部

辦公系統(tǒng)] [社區(qū)服務平臺] [社區(qū)家

園網(wǎng)] [1或3][1或3] [2][2] [3][3]

圖1 ?;三個子系統(tǒng)協(xié)作示意圖

2.2 架構(gòu)設計

民政服務信息系統(tǒng)采用ExtJS和JSP實現(xiàn)前臺頁面,通過Struts2、Spring和Hibernate實現(xiàn)后臺業(yè)務處理,并通過ExtJS和SSH整合搭建一個實現(xiàn)了MVC設計模式的系統(tǒng)架構(gòu)。

ExtJS+SSH架構(gòu)中ExtJS實現(xiàn)了從用戶界面向后臺提交請求??刂茖邮褂肧truts2來實現(xiàn)MVC模式。業(yè)務邏輯層細化為Service層和DAO層,通過Spring來管理Service和DAO之間的耦合關(guān)系。數(shù)據(jù)持久層使用Hibernate框架。實現(xiàn)時為了提高系統(tǒng)的擴展性,Service層和DAO層使用抽象接口,將具體的實現(xiàn)類和接口分離,并通過Spring指定Service接口和DAO接口的具體實現(xiàn)類,在需求變化后,只需更改Spring的配置文件就可以適應新的需求,符合“開閉原則”。系統(tǒng)架構(gòu)圖如圖2所示??刂茖油ㄟ^Struts2的servlet來完成,Action層由Struts2中的自定義action類實現(xiàn)。Action層中的對象使用Struts-Spring插件管理,而Service層和Dao層及相應實現(xiàn)層的對象統(tǒng)一由Spring管理。表現(xiàn)層通過JSP和ExtJS實現(xiàn)。

[控制層][Action層][Struts2框架] [客戶端

(瀏覽器)][表現(xiàn)層][Ext JS框架] [Service層][Service

實現(xiàn)層][Dao層] [Dao實現(xiàn)層\&;][Domain層\&;][Hibernate框架] [Spring框架相關(guān)] [業(yè)務數(shù)據(jù)]

圖2 ?;民政服務信息系統(tǒng)的系統(tǒng)架構(gòu)

2.3 功能設計

2.3.1 民政內(nèi)部辦公系統(tǒng)的設計

民政內(nèi)部辦公系統(tǒng)按組織機構(gòu)來劃分功能模塊,主要包括區(qū)劃地名科、社會福利與社會事務科、最低生活保障局、民間組織管理科、救災救濟科、局辦公室和人事科。根據(jù)通用信息系統(tǒng)的需求,添加了權(quán)限管理和登錄管理。由于每個模塊都有相應的政策法規(guī),將政策法規(guī)提取出來作為一個模塊,局長監(jiān)督模塊體現(xiàn)了民政服務信息系統(tǒng)比手動辦公的優(yōu)勢,局長通過該系統(tǒng)就可以了解下屬的工作情況而不會打擾到下屬辦公。民政內(nèi)部辦公系統(tǒng)的功能結(jié)構(gòu)圖如圖3所示。由于篇幅所限,圖3中的第三級模塊只列出具有代表性的功能模塊,并對部分有代表性的第二級模塊功能作了說明。

[民政內(nèi)部辦公系統(tǒng)][社會福利與社會事務科][最低生活保障局][區(qū)劃地名科][老齡工作委員會][民間組織管理科][救災救濟科][優(yōu)撫安置科][局辦公室][人事科][局長監(jiān)督][權(quán)限管理][政策法規(guī)][登錄管理][兒童收養(yǎng)管理][社會福利機構(gòu)管理][地名普查基本信息管理][老齡證審批][百歲老人審核][災害數(shù)據(jù)統(tǒng)計][日常災害預防管理][用戶管理][角色管理][政策法規(guī)管理][注銷]

圖3 ?;民政內(nèi)部辦公系統(tǒng)的功能結(jié)構(gòu)圖

區(qū)劃地名科的功能是對地名普查等基本信息進行管理,主要包括:地名更改審批和行政區(qū)劃,自然村和建筑物等地名信息的查詢/添加/刪除/修改和歷史信息查詢。

社會福利與社會事務科是對兒童收養(yǎng)、社會福利機構(gòu)、婚姻登記、殯葬及墓地和社會救助的管理。審批類業(yè)務主要包括兒童收養(yǎng)審批和社會福利機構(gòu)審批,管理類業(yè)務主要是對兒童收養(yǎng)信息、婚姻登記信息、社會救助信息和殯葬及墓地信息的添加/刪除/修改。

民間組織管理科的主要功能是民間組織的審核、民間組織信息管理和民間組織年檢。

民政內(nèi)部辦公系統(tǒng)具有權(quán)限驗證的功能,用戶登錄后只能處理本科室的業(yè)務。

2.3.2 社區(qū)服務平臺的設計

社區(qū)服務平臺是以業(yè)務功能來劃分模塊的,將社區(qū)的辦公作為辦公系統(tǒng)模塊,其他模塊都是對業(yè)務數(shù)據(jù)進行管理。社區(qū)服務平臺的功能模塊還有社區(qū)基本信息、社區(qū)組織、社會救助、社區(qū)服務、災害數(shù)據(jù)管理和社區(qū)居委會管理。社區(qū)服務平臺的功能結(jié)構(gòu)圖如圖4所示。圖4中的三級模塊都是二級模塊的核心功能,其他功能由于篇幅所限暫未列出。社區(qū)服務平臺的主要功能模塊分析如下。

社區(qū)基本信息、社區(qū)組織、社會救助、社區(qū)服務都屬于信息管理模塊,主要功能是對相應信息進行查詢。

災害數(shù)據(jù)管理的主要功能是提交災害數(shù)據(jù)到民政局和對該社區(qū)的災害數(shù)據(jù)進行管理。

[社區(qū)服務平臺][社區(qū)基本信息][社區(qū)居委會管理][社區(qū)組織][災害數(shù)據(jù)管理][社會救助][辦公系統(tǒng)][社區(qū)服務][登錄管理][居委會印章使用登記][社區(qū)居委會工作記錄][申報系統(tǒng)][公示][災害數(shù)據(jù)統(tǒng)計][日常災害預防管理][災害求助申請][社區(qū)民間組織]

圖4 ?;社區(qū)服務平臺的功能結(jié)構(gòu)圖

2.3.3 社區(qū)家園網(wǎng)的設計

社區(qū)家園網(wǎng)的實質(zhì)是論壇,社區(qū)家園網(wǎng)實現(xiàn)時使用一個開源的論壇框架,然后添加一個二級模塊民政業(yè)務來完成所有在社區(qū)家園網(wǎng)提交的民政業(yè)務。社區(qū)家園網(wǎng)的功能結(jié)構(gòu)圖如圖5所示。由于篇幅所限,圖5中的民政業(yè)務模塊的部分功能模塊未列出。

[社區(qū)家園網(wǎng)][用戶管理][論壇功能][民政業(yè)務][登錄][注冊][注銷][民間組織年檢]

圖5 ?;社區(qū)家園網(wǎng)的功能結(jié)構(gòu)圖

3 系統(tǒng)的關(guān)鍵技術(shù)

民政服務信息系統(tǒng)是以Struts2為實現(xiàn)架構(gòu)的基礎(chǔ),通過Spring來整合相應的框架。Struts2和Spring整合來完成對Action的管理,Spring和Hibernate整合來實現(xiàn)持久化的工作。ExtJS作為Struts2的視圖的實現(xiàn)。

3.1 系統(tǒng)核心配置文件的實現(xiàn)

民政服務信息系統(tǒng)在web.xml中定義Struts2和Spring的配置文件路徑。該系統(tǒng)中Struts2的Action對象由Struts-Spring插件來管理,該插件需要在web.xml中配置相應的監(jiān)聽器。web.xml文件核心內(nèi)容如下:

<;param-name>;contextConfigLocation<;/param-name>;

<;!-- Spring框架的配置文件列表-->;

<;param-value>;/WEB-INF/xml/daoContext.xml,

/WEB-INF/xml/applicationContext.xml,

/WEB-INF/xml/daoContext_wang.xml,

/WEB-INF/xml/applicationContext_wang.xml

<;/param-value>;……

<;!—Spring插件的監(jiān)聽器配置-->;

<;listener-class>;org.springframework.web.context.

ContextLoaderListener<;/listener-class>;……

<;!-- 整合Struts2框架的配置代碼,Struts2核心攔截器-->;

<;filter-class>;org.apache.struts2.dispatcher.ng.filter.

StrutsPrepareAndExecuteFilter<;/filter-class>;……

<;!-- 定義該web項目url映射關(guān)系-->;

<;filter-name>;struts2<;/filter-name>;

<;url-pattern>;/*<;/url-pattern>;……

3.2 Spring和Hibernate整合的實現(xiàn)

Hibernate完成系統(tǒng)業(yè)務數(shù)據(jù)持久化的操作,提供了save、delete、update等方法,在DAO層只需調(diào)用這些方法就可以存儲業(yè)務數(shù)據(jù)。Spring對Hibernate支持非常完善,在Spring的配置文件daoContext.xml中配置一個id為dataSource的bean和一個sessionFactory的bean, 在程序中使用注入的sessionFactory對象來實例化Spring框架提供的HibernateTemplate模板,DAO通過HibernateTemplate來調(diào)用持久化方法進行業(yè)務數(shù)據(jù)存儲。daoContext.xml的dataSource和sessionFactory的配置如下:

<;bean id="dataSource" class="com.mchange.v2.c3p0

.ComboPooledDataSource">;

<;property name="jdbcUrl" value="jdbc:mysql://

localhost:3306/test"/>;

……

<;/bean>;

<;bean id="sessionFactory" class="org.springframework

.orm.hibernate3.LocalSessionFactoryBean">;

<;property name="dataSource" ref="dataSource"/>;

<;property name="hibernateProperties">;

<;!--定義根據(jù)具體應用的數(shù)據(jù)庫定義數(shù)據(jù)庫方言-->;

<;value>;hibernate.dialect=org.hibernate.dialect

.MySQLInnoDBDialect

……

<;/value>;

<;/property>;

<;!--定義Hibernate實體類映射文件的位置-->;

<;!--可以通過掃描到一個路徑中的所有*.hbm.xml文件,多人協(xié)作開發(fā)-->;

<;property name="mappingLocations">;

<;list>;<;value>;classpath:/org/community/wangquan/domain/

*.hbm.xml<;/value>;<;/list>;

<;/property>;

<;/bean>;

3.3 整合ExtJS的實現(xiàn)

ExtJS框架只需要在JSP頁面導入ExtJS的核心JS文件和CSS樣式,就可以在自定義JS文件中使用ExtJS提供的頁面組件和表單組件,而不必使用HTML標簽來編寫Web界面。在主界面的JSP中整合ExtJS的代碼如下:

<;link rel="stylesheet" type="text/css"

<;!--導入ExtJS的CSS樣式文件-->;

href="js/extjs/resources/css/ext-all.css" />;

<;link rel="stylesheet" type="text/css" href="js/css/desktop.css"/>;

……

<;!--導入ExtJS核心JS文件-->;

ext-all-debug.js">;<;/script>;

ext-lang-zh_CN.js">;<;/script>;

4 結(jié)束語

該系統(tǒng)因采用ExtJS+SSH多框架技術(shù),提升了系統(tǒng)用戶的體驗,降低了業(yè)務邏輯層和其他各層的耦合關(guān)系,提高了系統(tǒng)的重用性,降低了后期維護成本,系統(tǒng)更加靈活和開放。在中小型企業(yè)和對軟件擴展性和可維護性要求高且低成本投入的部門,使用該框架技術(shù)開發(fā)的信息管理系統(tǒng)具有很好的應用前景。該系統(tǒng)在權(quán)限管理方面還沒有一個統(tǒng)一的標準,必須手動實現(xiàn)權(quán)限管理,我們將在以后項目中進行改進,設計出一種通用權(quán)限的管理框架。

參考文獻:

[1] 舒順林.建設數(shù)字民政--來自全國民政信息化建設工作會議的報告[J].

中國民政,2001.7:18

[2] 張鵬偉,陳景霞,張文平等.基于ExtJS和SSH的Web應用架構(gòu)的研

究與實現(xiàn)[J].陜西科技大學學報(自然科學版),2010.28(6):111-115

[3] 尼俊紅,張麗,張淼等.基于Ajax和MVC的電力通信告警系統(tǒng)的設計

實現(xiàn)[J].計算機應用與軟件,2013.30(8):226-227

[4] 羅金華.基于EXT的Java網(wǎng)絡管理系統(tǒng)研究與實現(xiàn)[J].微計算機應

用,2011.32(9):68-76

[5] 鞠鳳娟,吳志峰.EXT技術(shù)在Web界面設計與實現(xiàn)中的應用研究[J].

計算機與現(xiàn)代化,2008.3(11):102-105

[6] 盧冶,徐明,蘇勇.一個基于Ext-JS技術(shù)的污水管理信息平臺的設計

與實現(xiàn)[J].計算機應用與軟件,2013.30(9):241-244

[7] 鄧偉成,范軼翔,夏翔等.ExtJs框架下Grid組件的擴展及應用[J].計算

機應用,2012.32(Z1):80-82

[8] 江岷山,牛德雄.基于B/S結(jié)構(gòu)的民政辦公系統(tǒng)的設計與實現(xiàn)[J].網(wǎng)

絡安全技術(shù)與應用,2007.9:75-76

[9] 趙培樂,張維,李釗.基于民政信息化系統(tǒng)建設談信息系統(tǒng)[J].中國管

理信息化,2010.13(20):62-65

[10] 張瑞紅.基于多層架構(gòu)的個人信息空間管理系統(tǒng)的研究[J].科技通

報,2013.29(4):103-105

[11] 張原,張昭,劉蕊.基于MVC設計模式的虛擬實驗平臺模塊化設計[J].

計算機工程與科學,2013.35(8):125-129

[12] 張建軍,劉虎.基于ExtJS的J2EE輕量級框架的研究與應用[J].計算

機應用與軟件,2014.31(4):73-76

[13] 張宇,王映輝,張翔南.基于Spring的MVC框架設計與實現(xiàn)[J].計算

機工程,2010.36(4):59-62

[14] 張俐,張維璽.Facade模式在數(shù)據(jù)持久層中的應用[J].計算機工程與

科學,2011.33(10):105-110

猜你喜歡
信息系統(tǒng)
高速公路路況信息系統(tǒng)
企業(yè)信息系統(tǒng)安全防護
哈爾濱軸承(2022年1期)2022-05-23 13:13:18
現(xiàn)代管理型會計信息系統(tǒng)的內(nèi)部控制探究
現(xiàn)代管理型會計信息系統(tǒng)的內(nèi)部控制探究
基于區(qū)塊鏈的通航維護信息系統(tǒng)研究
電子制作(2018年11期)2018-08-04 03:25:54
信息系統(tǒng)審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
電磁計算單信息系統(tǒng)研究
企業(yè)綜合節(jié)能信息系統(tǒng)SciMES
高速公路信息系統(tǒng)維護知識庫的建立和應用
基于SG-I6000的信息系統(tǒng)運檢自動化診斷實踐
顺平县| 偃师市| 古蔺县| 浦县| 崇阳县| 漳浦县| 高安市| 贵阳市| 万安县| 卫辉市| 甘德县| 富阳市| 阳山县| 巴中市| 南澳县| 勐海县| 正宁县| 三原县| 砚山县| 申扎县| 福泉市| 罗田县| 白城市| 手机| 西林县| 炎陵县| 黑龙江省| 安吉县| 西藏| 碌曲县| 开阳县| 甘南县| 河源市| 昌平区| 沙洋县| 祁连县| 哈尔滨市| 巴青县| 山西省| 肇源县| 泗阳县|