仇云龍
(南京中醫(yī)藥大學,江蘇 南京 210023)
中醫(yī)學屬于一級學科,根據(jù)教育部最新公布的學科專業(yè)目錄,中醫(yī)學學科有13 個二級學科,這13 個二級學科在中醫(yī)院校學院設置中一般分布在不同的學院和研究所中,以筆者所在單位——南京中醫(yī)藥大學為例,這些二級學科分散在第一臨床醫(yī)學院、第二臨床醫(yī)學院、基礎醫(yī)學院、護理學院、中醫(yī)文獻研究所中,從中醫(yī)學一級學科建設和管理的層面出發(fā),需要及時了解學科的現(xiàn)狀,不斷收集中醫(yī)學各學科、各專業(yè)的建設成果信息。本文針對此現(xiàn)狀,設計并開發(fā)了基于J2EE 和MVC 的中醫(yī)學學科信息瀏覽登記系統(tǒng),基于學科信息的梳理,本系統(tǒng)在設計時充分考慮系統(tǒng)的易用性、可移植性和擴展性。
B/S 是Brower/Server 的英文首字母的縮寫,在這種結構下,用戶界面完全通過瀏覽器由Web 頁面呈現(xiàn),不需要C/S(Client/Server)結構在用戶端安裝客戶端的要求,通過瀏覽器可以很好地支持系統(tǒng)在多終端(PC,Phone,Pad 等)下的應用,實現(xiàn)跨平臺的運行(見圖1)。B/S 結構的系統(tǒng)軟件只部署在服務器端,系統(tǒng)的維護和升級更為方便,系統(tǒng)也只要開發(fā)服務器端軟件,因此具有開發(fā)效率高、開發(fā)時間短、開發(fā)成本低的特點。
圖1 B/S 系統(tǒng)運行
1.2.1 Web 頁面的設計
為了適應目前多終端普及的狀況,提高系統(tǒng)的易用性,支持多終端下的用戶端界面自動適應顯示,系統(tǒng)開發(fā)時采用CSS+DIV 布局方式,力求避免絕對寬度的使用,采用流動布局,系統(tǒng)開發(fā)在主要考慮PC 端應用的同時兼顧其他終端下的使用,并為以后針對移動端的定制打下了基礎。
1.2.2 Ajax 技術的使用
本系統(tǒng)中核心功能之一就是學科信息的收集,信息數(shù)據(jù)在收集時都有其具體要求,為了讓用戶在填寫數(shù)據(jù)時及時提醒其數(shù)據(jù)要求,避免用戶在數(shù)據(jù)提交后才驗證數(shù)據(jù)是否符合要求帶來的不良使用體驗感,系統(tǒng)應用Ajax 技術,采用jQuery 框架,運用jQuery validate 插件完成大量數(shù)據(jù)的前端驗證,提高了系統(tǒng)的易用性,保證了數(shù)據(jù)收集的準確性。
1.3.1 J2EE 平臺
J2EE 是旨在為支持Java 語言服務器端部署而提供平臺無關的、可移植的、多用戶的、安全的、標準的企業(yè)級平臺[1],J2EE 平臺由一整套服務(Services)、應用程序接口(APIs)和協(xié)議構成,它對開發(fā)基于Web 的多層應用提供了功能支持,本系統(tǒng)主要涉及JDBC,EJB,JSP,Java Servlet 技術。
1.3.2 MVC 模式
MVC 模式包括3 個部分:模型(Model)、視圖(View)和控制器(Controller),分別對應于內部數(shù)據(jù)、數(shù)據(jù)表示和輸入輸出控制部分[2]。MVC 設計模式分離了程序的表現(xiàn)、控制和數(shù)據(jù),具有設計清晰、易于擴展、運用可分布的特點,因此在構建Web 應用中具有顯著的優(yōu)勢,可適用于多用戶的、可擴展的、可維護的、具有很高交互性的系統(tǒng)[3]。本系統(tǒng)中的視圖即呈現(xiàn)給用戶的Web 頁面,核心業(yè)務模型即學科信息的提交、瀏覽、修改、刪除,控制器接受用戶Web 頁面中輸入的數(shù)據(jù),通過調用相應的模型組件去處理請求并通過相對應的視圖來顯示模型返回的數(shù)據(jù)。
本系統(tǒng)采用IntelliJ IDEA 開發(fā)集成環(huán)境,基于Struts 框架實現(xiàn)MVC 模式下的系統(tǒng)開發(fā),Struts 采用EJB 作為模型,JSP和Struts Tag Library 配合作為View,使用Servlet 作為控制器,提供了對開發(fā)MVC 系統(tǒng)的底層支持[4-6]。
中醫(yī)學學科信息主要包含個人學科信息和團隊學科信息,經過對學科信息的梳理,學科信息主要包括相關人員的個人信息以及團隊信息。其中,個人信息包括學術兼職、榮譽稱號、科研項目、教學研究項目、學術論文、論著、教材、科研及教學獲獎(精品課程)、專利、指導研究生、優(yōu)碩優(yōu)博畢業(yè)論文、學術交流,團隊信息包括重點學科(重點???、重點專?。?、重點實驗室、重點研究室(工作室)、教學團隊、科技創(chuàng)新團隊、示范教學中心、研究基地。
系統(tǒng)結構根據(jù)用戶角色區(qū)分為管理員和普通用戶2 大部分,系統(tǒng)的功能模塊主要有用戶信息管理模塊、學科信息的添加、修改及刪除模塊、學科信息的查詢管理模塊、學科信息的批量操作模塊。其中,學科信息添加和修改中實現(xiàn)對上傳文件類型、大小的限制,學科信息的查詢管理模塊要實現(xiàn)多重檢索,以方便學科信息管理者能獲得所需要的學科信息。
系統(tǒng)最主要的功能——學科信息登記的流程為:用戶登錄后,系統(tǒng)判斷用戶角色,進入普通用戶界面或管理員界面,普通用戶首次登陸時需要完善個人相關材料,然后完成學科信息的提交,管理員用戶對普通用戶提交的學科信息進行審查,審查通過后學科信息入庫,普通用戶提交的學科信息如有問題則打回給用戶修改或者直接刪除。
在中醫(yī)學學科瀏覽登記系統(tǒng)中面向的用戶是中醫(yī)學學科的師生以及學校附屬醫(yī)院中承擔教學和科研任務的醫(yī)生,這些用戶在提交科研項目、教學研究項目、論著、教材等信息時存在著提交數(shù)據(jù)重復的問題,如教師甲在某科研項目中排名第1,教師乙在該科研項目中排名第2,兩位教師都提交了數(shù)據(jù),系統(tǒng)要能識別出重復提交的信息并進行有效的管理。針對該信息重復提交的問題,在系統(tǒng)開發(fā)過程中采取了在管理員端對重復信息進行管理的策略,降低普通用戶在學科信息登記過程中的難度,提高了該系統(tǒng)的易用性。
系統(tǒng)需要收集的一些學科信息只是名稱不同,但基礎數(shù)據(jù)字段都一致,如何降低系統(tǒng)開發(fā)過程中的開發(fā)量,提升系統(tǒng)的易維護性也是本系統(tǒng)在開發(fā)過程中重視的一個環(huán)節(jié)。如科研項目和教學研究項目、重點實驗室和重點研究室(工作室)等,這些需要登記的信息字段基本一致,在系統(tǒng)開發(fā)過程中,通過增加JAVA 類中方法參數(shù)的方式實現(xiàn)對具有重復字段的不同類別的學科信息的收集。另外,在學科信息瀏覽和管理過程中需要實現(xiàn)學科不同類別信息的批量導出,也需要實現(xiàn)帶參數(shù)性的適用于各類別學科信息批量導出的實現(xiàn)類和方法,本系統(tǒng)在實現(xiàn)批量導出數(shù)據(jù)過程中通過直接傳入數(shù)據(jù)庫名稱參數(shù)的形式將學科類別信息導出,減少了批量導出數(shù)據(jù)過程中需要設置較多參數(shù)的情況,讓用戶在導出的excel 表中在再進行其他操作。
中醫(yī)學學科瀏覽登記系統(tǒng)基于J2EE 和MVC 實現(xiàn)系統(tǒng)的開發(fā),系統(tǒng)采用了B/S 結構,系統(tǒng)構建基于在J2EE 平臺上,因此系統(tǒng)具有跨平臺性和很好的可移植性,系統(tǒng)在開發(fā)過程中采取的網頁前端技術路線以及編寫的服務端程序都有較好的可維護性、可擴展性和可復用性。其次,由于采用MVC 設計模式,使業(yè)務邏輯和界面顯示界限清晰,降低了后期維護的難度。
基于J2EE 平臺和MVC 模式開發(fā)的中醫(yī)學科瀏覽登記系統(tǒng)采用J2EE 平臺帶來的跨平臺性、可移植性和MVC 模式帶來的系統(tǒng)易維護在當前被越來越多的開發(fā)者所推崇,筆者在系統(tǒng)維護中深刻體驗到這種架構帶來的益處,通過對系統(tǒng)的不斷完善,發(fā)揮著中學學科瀏覽登記系統(tǒng)在學科建設中的作用。
[1]劉洋,高連生,王斌.基于J2EE 和MVC 設計模式分銷系統(tǒng)的研究與實現(xiàn)[J].計算機工程與設計,2007(7):1655-1658.
[2]任中方,張華,閆明松,等.MVC 模式研究的綜述[J].計算機應用研究,2004(10):1-3.
[3]董占球,范新弼.按模式記憶[J].計算機學報,1991(4):316-318.
[4]陳苒,董占球.按模式記憶理論的記憶結構刻畫[J].計算機研究與發(fā)展,2000(5):634-640.
[5]陸舟.Struts2 技術內幕:深入解析Struts 架構設計與實現(xiàn)原理[M].北京:機械工業(yè)出版社,2012.
[6]張桂元.Struts 開發(fā)入門與項目實踐[M].北京:人民郵電出版社,2005.