楊保成華麗靳宗信苗作云
(1.黃河科技學(xué)院納米材料研究所,河南鄭州 450063;2.河南工業(yè)大學(xué)文獻(xiàn)信息研究所,河南鄭州 450001)
·能源與化學(xué)工程·
J2E技術(shù)在納米新材料共享數(shù)據(jù)平臺(tái)中的應(yīng)用
楊保成1華麗2靳宗信1苗作云1
(1.黃河科技學(xué)院納米材料研究所,河南鄭州 450063;2.河南工業(yè)大學(xué)文獻(xiàn)信息研究所,河南鄭州 450001)
本研究設(shè)計(jì)并實(shí)現(xiàn)了基于J2EE技術(shù)的納米材料科學(xué)數(shù)據(jù)共享平臺(tái),介紹了系統(tǒng)的總體層次結(jié)構(gòu)、各個(gè)功能模塊和后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì),并闡述了系統(tǒng)開發(fā)過程中的J2EE技術(shù)。實(shí)際運(yùn)行效果表明,本系統(tǒng)能夠適用于各種納米材料數(shù)據(jù)的管理,幫助研究納米材料的科研人員更好地分析和利用科學(xué)數(shù)據(jù)。
J2EE技術(shù);納米材料;科學(xué)數(shù)據(jù)共享平臺(tái)
21世紀(jì)已成為納米技術(shù)的時(shí)代,國(guó)家科委、中科院將納米技術(shù)定位為“21世紀(jì)最重要、最前沿的科學(xué)”。納米材料除了有傳統(tǒng)材料的優(yōu)異性能外,還具備許多傳統(tǒng)材料不具備的性能。隨著納米技術(shù)的飛速發(fā)展,納米材料的在機(jī)械、電子、光學(xué)、磁學(xué)、化學(xué)和生物學(xué)領(lǐng)域都有著廣泛的應(yīng)用前景。
河南鄭州是中國(guó)超硬材料的發(fā)源地,也是該行業(yè)科研開發(fā)、人才培養(yǎng)、生產(chǎn)經(jīng)營(yíng)的中心城市。2012年又建成了新材料產(chǎn)業(yè)集聚區(qū),即國(guó)家專利導(dǎo)航產(chǎn)業(yè)發(fā)展實(shí)驗(yàn)區(qū),規(guī)劃建設(shè)以超硬材料為主的新材料產(chǎn)業(yè)基地。該基地以鄭州市在中國(guó)超硬材料行業(yè)的中心地位為依托,充分發(fā)揮鄭州地區(qū)新材料行業(yè)的人力資源、科研研發(fā)和產(chǎn)業(yè)基礎(chǔ)優(yōu)勢(shì),大力發(fā)展新材料產(chǎn)業(yè)。因此,納米材料科學(xué)數(shù)據(jù)共享平臺(tái)的開發(fā)對(duì)助推行業(yè)的發(fā)展起著重要的信息資源保障作用。
1.1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)有三層結(jié)構(gòu),從上到下依次為表示層、應(yīng)用層和數(shù)據(jù)層,系統(tǒng)體系結(jié)構(gòu)如圖1所示。
1.1.1 表示層
系統(tǒng)的表示層是人機(jī)交互界面,主要由JSP頁(yè)面和HTML頁(yè)面構(gòu)成,負(fù)責(zé)接收用戶的輸入,并對(duì)表單中用戶輸入的信息進(jìn)行驗(yàn)證,最后將驗(yàn)證后的信息傳給應(yīng)用層。另外,表示層還負(fù)責(zé)使用友好、美觀的界面展示應(yīng)用層反饋的結(jié)果。
1.1.2 應(yīng)用層
應(yīng)用層是本系統(tǒng)的核心部分,具有數(shù)據(jù)通信、交互、訪問和調(diào)度的功能。負(fù)責(zé)接收上層(表示層)傳來的請(qǐng)求,并通過控制器將請(qǐng)求分派給相應(yīng)的業(yè)務(wù)邏輯控制器,業(yè)務(wù)邏輯控制器再通過JavaBean或ActionForm同數(shù)據(jù)層進(jìn)行通信,最后將請(qǐng)求的結(jié)果反饋給表示層。
圖1 系統(tǒng)體系結(jié)構(gòu)圖
1.1.3 數(shù)據(jù)層
數(shù)據(jù)層的作用主要是存儲(chǔ)各種數(shù)據(jù)。應(yīng)用層的JavaBean通過Hibernate與數(shù)據(jù)層進(jìn)行通信,數(shù)據(jù)接收到Hibernate傳來的SQL請(qǐng)求后,對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作(增、刪、改、查),并把結(jié)果反饋給應(yīng)用層。為了安全起見,在數(shù)據(jù)層為數(shù)據(jù)庫(kù)增加了一個(gè)備份數(shù)據(jù)庫(kù)。
1.2 功能模塊設(shè)計(jì)
根據(jù)需求分析,把本系統(tǒng)分為兩大功能子模塊,即前臺(tái)檢索子模塊和后臺(tái)管理子模塊。前臺(tái)檢索子模塊具有單庫(kù)檢索和跨庫(kù)檢索兩大檢索功能。而后臺(tái)管理子模塊具有數(shù)據(jù)管理、用戶管理、角色管理、權(quán)限管理和系統(tǒng)維護(hù)等功能。在數(shù)據(jù)管理中既可以對(duì)數(shù)據(jù)進(jìn)行增、刪、改、查、審核等操作,還可以生成報(bào)表以及對(duì)日志的查詢。系統(tǒng)維護(hù)主要是對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行備份、還原,對(duì)系統(tǒng)故障進(jìn)行診斷,以及生成日志等。系統(tǒng)的功能模塊結(jié)構(gòu)如圖2所示。
1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
圖2 系統(tǒng)功能模塊圖
根據(jù)需求分析,在系統(tǒng)中共創(chuàng)建了10個(gè)關(guān)系表以完成不同“庫(kù)”的存儲(chǔ)。另外,為了提高存儲(chǔ)效率和保持?jǐn)?shù)據(jù)的完整性,系統(tǒng)采用了存儲(chǔ)過程,表1為系統(tǒng)的部分?jǐn)?shù)據(jù)表。
表1 系統(tǒng)的部分?jǐn)?shù)據(jù)表
2.1 開發(fā)環(huán)境
系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),MVC(Model-View-Controller,是模型-視圖-控制器)模式,基于J2EE技術(shù)實(shí)現(xiàn)跨平臺(tái)運(yùn)行。后臺(tái)數(shù)據(jù)庫(kù)采用MySQL5.6,Web應(yīng)用服務(wù)器采用Tcomcat8.0,編程語(yǔ)言采用Java語(yǔ)言,編程工具采用Eclipse4.4。
2.2 關(guān)鍵技術(shù)
2.2.1 Hibernate。Hibernate不僅能夠?qū)DBC進(jìn)行非輕量級(jí)的對(duì)象封裝,而且還能夠?qū)崿F(xiàn)數(shù)據(jù)的持久化。
Hibernate通過其6個(gè)核心接口(Session、SessionFacto?ry、Transaction、Query、Criteria和Configuration)對(duì)持久化對(duì)象進(jìn)行存取操作和對(duì)事務(wù)進(jìn)行控制。
為了提高檢索速度,Hibernate提供了兩個(gè)級(jí)別的Cache(高速緩沖存儲(chǔ)器),第一級(jí)Cache存在于Session內(nèi)部,屬于事務(wù)范圍的緩存,由Hibernate管理,速度快,但生命周期短,命中率低。第二級(jí)Cache是SessionFactory級(jí)別的緩存,此種緩存可以配置和更改,還可以進(jìn)行動(dòng)態(tài)加載和卸載。Hibernate會(huì)自行維護(hù)二級(jí)緩存中的數(shù)據(jù),以保證緩存中的數(shù)據(jù)和數(shù)據(jù)庫(kù)中真實(shí)數(shù)據(jù)的一致性。Hibernate的運(yùn)行過程如圖3所示。
圖3 Hibernate運(yùn)行過程圖
2.2.2 Struts。系統(tǒng)采用MVC模式,經(jīng)典的MVC模型如圖4所示。
圖4 經(jīng)典的MVC模型
Struts是MVC的一種實(shí)現(xiàn),其體系結(jié)構(gòu)也包括模型、視圖和控制器三部分。其模型如圖5所示。
圖5 Struts模型
2.2.2.1 模型(Model)部分
Struts的Model部分由ActionFormBean和JavaBean組成。其中ActionForm用于封裝用戶請(qǐng)求參數(shù),所有的用戶請(qǐng)求參數(shù)由系統(tǒng)自動(dòng)封裝成ActionForm對(duì)象。該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,然后Action根據(jù)Action?Form里的請(qǐng)求參數(shù)處理用戶請(qǐng)求。
而JavaBean封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫(kù)訪問等。在更復(fù)雜的應(yīng)用中,JavaBean所代表的絕非一個(gè)簡(jiǎn)單的JavaBean,可能是EJB組件或者其他的業(yè)務(wù)邏輯組件。
2.2.2.2 視圖(View)部分
Struts的View部分采用lSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫(kù),通過這些標(biāo)簽庫(kù)可以最大限度地減少腳本的使用。這些自定義的標(biāo)簽庫(kù)可以實(shí)現(xiàn)與Model(Bean)的有效交互,并增加了顯示功能。如
整個(gè)應(yīng)用由客戶端請(qǐng)求(如提交Form表單)驅(qū)動(dòng),當(dāng)客戶端請(qǐng)求被ActionServlet類對(duì)象(程序根據(jù)web.xml中配置的ActionServlet初始化類對(duì)象)攔截時(shí),ActionServlet根據(jù)請(qǐng)求決定是否需要調(diào)用Model處理用戶請(qǐng)求,當(dāng)用戶請(qǐng)求處理完成后,其處理結(jié)果通過JSP呈現(xiàn)給用戶。
2.2.2.3 控制(Controller)部分
Struts的Controller由系統(tǒng)核心控制器和業(yè)務(wù)邏輯控制器兩個(gè)部分組成。其中,ActionServlet為系統(tǒng)核心控制器,該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成一個(gè)標(biāo)準(zhǔn)的Servlet。該控制器負(fù)責(zé)攔截所有Http請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器,如果需要調(diào)用業(yè)務(wù)邏輯控制器,則將請(qǐng)求轉(zhuǎn)發(fā)給Action處理,否則直接轉(zhuǎn)向請(qǐng)求的JSP頁(yè)面。
業(yè)務(wù)邏輯控制器負(fù)責(zé)處理用戶請(qǐng)求,但業(yè)務(wù)邏輯控制器本身并不具有處理能力,而是調(diào)用Model來完成處理。業(yè)務(wù)邏輯控制器對(duì)應(yīng)圖中的Action部分。
Action的業(yè)務(wù)邏輯實(shí)現(xiàn),是通過調(diào)用ActionServlet傳遞給自己的ActionMapping、ActionForward等組件對(duì)象協(xié)調(diào)完成的。其中,ActionMapping與ActionForward指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。
綜上所述,本文基于B/S架構(gòu)和MVC模式開發(fā)了基于J2EE技術(shù)的納米材料科學(xué)數(shù)據(jù)共享平臺(tái)。系統(tǒng)的開發(fā)過程中,采用Hibernate技術(shù)實(shí)現(xiàn)對(duì)象的持久層開發(fā),使用Struts實(shí)現(xiàn)了MVC模型。系統(tǒng)現(xiàn)已在通過測(cè)試并正常運(yùn)行,為從事納米材料研究和應(yīng)用的科研人員提供了豐富的科學(xué)數(shù)據(jù)。
[1]張瑾.科技信息資源共建共享平臺(tái)構(gòu)建研究[J].圖書館學(xué)研究,2012(13):41-46.
[2]卞咸杰.基于WCF技術(shù)的科技論文共享平臺(tái)架構(gòu)研究[J].情報(bào)科學(xué),2015(01):100-104.
[3]毋妙麗.基于云桌面技術(shù)的實(shí)驗(yàn)室資源共享平臺(tái)建設(shè)[J].實(shí)驗(yàn)室研究與探索,2014(12):290-294.
[4]司莉,李月婷,等.我國(guó)科學(xué)數(shù)據(jù)共享平臺(tái)績(jī)效評(píng)估實(shí)證研究[J].圖書館理論與實(shí)踐,2014(09):30-35.
[5]湯妙吉.基于云計(jì)算的高校與農(nóng)村文獻(xiàn)信息資源共享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代情報(bào),2014(09):87-91.
[6]李剛.輕量級(jí)JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn)Struts2+Spring3+ Hibernate整合開發(fā)[M].北京:電子工業(yè)出版社,2012.
Application of J2EE Technology in Data Sharing Platform of NewNanomaterials
Yang Baocheng Hua Li Jin Zongxin Miaozuoyun
(1. Nanomaterial Research Institute,Huanghe Science and Technology College,Zhengzhou Henan,450063; 2. Documentation and Information Institute,Henan University of Technology,Zhengzhou Henan 450001)
The study designed and established a nanomaterials scientific data sharing platform based on J2EEtechnology,the overall structure,function modules and database design of the system were introduced,and the J2EEtechnology in the system development process was described. The actual operation result shows,this system can beapplied to a variety of nanomaterials data management,to help nanomaterials researchers better analyze and usingthe scientific data.
J2EE technology,nanomaterial,scientific data sharing platform
TP311.52
:A
1003-5168(2015)03-0120-3
2015-2-26
河南省2013年科技發(fā)展計(jì)劃“納米與新材料科學(xué)數(shù)據(jù)共享平臺(tái)的開發(fā)”(132102210498)。
楊保成(1972.10-),男,博士,副教授,研究方向:納米功能材料研究;華麗(1956.6-),女,本科,教授,研究方向:科技信息資源開發(fā)與利用。