呂太之
(1.江蘇海事職業(yè)技術(shù)學(xué)院 信息工程系,南京 211170;2.南京理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 210094)
在教育領(lǐng)域,普遍存在著教師資源和教學(xué)資源分配不平衡的現(xiàn)象。作為高校,有著提高全民素質(zhì)的責(zé)任和義務(wù),通過建設(shè)開放式教學(xué)資源庫,可以使優(yōu)質(zhì)教學(xué)資源得到更加高效、廣泛的運(yùn)用,在一定程度上緩解教育資源分配不均的現(xiàn)象,為提高全民素質(zhì)發(fā)揮更大作用。
我國高職高專院校目前正處于高速發(fā)展期,創(chuàng)建高職院校教學(xué)資源庫平臺是國家示范性高等職業(yè)院校建設(shè)的主要內(nèi)容之一。高職院校教學(xué)資源庫平臺是將各個(gè)專業(yè)作為教學(xué)資源庫的基本單元,建設(shè)內(nèi)容包括專業(yè)教學(xué)目標(biāo)與標(biāo)準(zhǔn)、精品課程體系、教學(xué)內(nèi)容、實(shí)驗(yàn)實(shí)訓(xùn)、教學(xué)指導(dǎo)、學(xué)習(xí)評價(jià)等要素,以滿足學(xué)生自主學(xué)習(xí)需要,為高端技能型專門人才培養(yǎng)和構(gòu)建終身學(xué)習(xí)體系搭建公共平臺。
該系統(tǒng)使用了B/S的體系結(jié)構(gòu),采用當(dāng)前主流的J2EE框架。在實(shí)現(xiàn)中,按照MVC的模式將系統(tǒng)分成了數(shù)據(jù)層(Model)、視圖層(View)和業(yè)務(wù)邏輯層(Controller),極大地提高了系統(tǒng)的開發(fā)效率,降低了后期的維護(hù)成本。本系統(tǒng)以MySql作為后臺數(shù)據(jù)庫,MyEclipse為開發(fā)工具,Tomcat作為Web服務(wù)器,Linux作為服務(wù)器操作系統(tǒng),開發(fā)者可以方便靈活地使用這些工具集,滿足其特定需求。
本系統(tǒng)的主要目標(biāo)是一方面要整合、開發(fā)校內(nèi)各專業(yè)的優(yōu)質(zhì)教學(xué)資源,另一方面還要引進(jìn)吸收國內(nèi)外相關(guān)專業(yè)、相關(guān)行業(yè)成型的資源。各院校應(yīng)該特別強(qiáng)調(diào)具有自主知識產(chǎn)權(quán)的原創(chuàng)性資源開發(fā),強(qiáng)調(diào)對國內(nèi)外先進(jìn)成熟的教學(xué)資源的引進(jìn)。在建設(shè)方案上應(yīng)該充分考慮系統(tǒng)的開放性、共享性、可擴(kuò)展性和高可靠性原則,重點(diǎn)做好技術(shù)架構(gòu)設(shè)計(jì)、功能模塊設(shè)計(jì)、資源開發(fā)接口設(shè)計(jì)、網(wǎng)絡(luò)教學(xué)應(yīng)用模塊設(shè)計(jì)、資源校際共享模塊設(shè)計(jì)、資源管理模塊設(shè)計(jì)。在界面要求上要具有優(yōu)良的人機(jī)交互特性。
在系統(tǒng)處理功能的設(shè)計(jì)上,力求使每個(gè)模塊具有較強(qiáng)的內(nèi)聚度,而且模塊之間耦合度低。整個(gè)系統(tǒng)包含兩個(gè)子系統(tǒng):前臺瀏覽、后臺管理。前臺瀏覽主要是課程體系的查看,課程信息包括教學(xué)大綱、授課計(jì)劃、課件、實(shí)驗(yàn)、視頻資源、電子書、課程論壇等。后臺管理包括系統(tǒng)維護(hù)和相關(guān)資源的管理。
本系統(tǒng)采用MySql作為底層關(guān)系數(shù)據(jù)庫,該數(shù)據(jù)庫由一系列產(chǎn)品組成,功能強(qiáng)大,不僅能夠滿足最大的數(shù)據(jù)處理系統(tǒng)和商業(yè)Web站點(diǎn)存儲數(shù)據(jù)的需要,還能為個(gè)人或小企業(yè)提供易于使用的數(shù)據(jù)存儲服務(wù)。
數(shù)據(jù)庫主要包含以下幾部分:(1)基本信息,包括系部表,專業(yè)表,教師表,學(xué)生表,字典表等基礎(chǔ)數(shù)據(jù);(2)資源庫表,包括課程計(jì)劃表,課程大綱表,視頻資源表,課件表,電子書表,樣卷表,實(shí)驗(yàn)實(shí)訓(xùn)表等資源數(shù)據(jù);(3)交互表,包括課程論壇表,教師博客表,學(xué)生作業(yè)表等交互數(shù)據(jù)。
數(shù)據(jù)庫連接池技術(shù)是指:在系統(tǒng)初期或者是初次使用時(shí),完成數(shù)據(jù)庫的連接,以后不再釋放此連接而是在處理后面的請求時(shí),反復(fù)使用這些已經(jīng)建立的連接。這種方式既可以大大減少數(shù)據(jù)庫的處理時(shí)間,又利于系統(tǒng)整體性能的發(fā)揮。連接池一般比直接連接更有優(yōu)越性,因?yàn)樗谔岣吡诵阅艿耐瑫r(shí)還保存了寶貴的資源。打開數(shù)據(jù)庫連接是CPU和網(wǎng)絡(luò)的重要任務(wù),在整個(gè)應(yīng)用程序的使用過程當(dāng)中重復(fù)打開直接連接將導(dǎo)致性能下降,而池連接只在服務(wù)器啟動時(shí)打開一次,從而消除了這種性能問題。有關(guān)連接參數(shù)的特有信息,只對池驅(qū)動程序有效,如數(shù)據(jù)庫用戶名稱和密碼,從而增強(qiáng)了系統(tǒng)的安全性和可管理性。
Ajax(Asynchronous JavaScript and XML)技術(shù)是目前深受Web用戶歡迎的一項(xiàng)技術(shù),它利用JavaScript、DOM、XMLHttpRequest實(shí)現(xiàn)客戶端與服務(wù)器的異步交互。本系統(tǒng)中多處用到Ajax技術(shù)。
為了能在Web瀏覽器上顯示,要求用戶界面使用HTML以及圖片的方式來展現(xiàn)數(shù)據(jù),傳統(tǒng)的一些利用操作系統(tǒng)本身的控件來開發(fā)的用戶界面無法適應(yīng)琳瑯滿目的客戶端。為了創(chuàng)建一個(gè)可以在Web瀏覽器上查看的圖表,可以直接在Web服務(wù)器端生成圖表圖片文件后發(fā)送給瀏覽器。在本系統(tǒng)中我們采用JAVA的圖表引擎JFreeChart來產(chǎn)生基于Web的圖表。它主要用來生成各種各樣的圖表,包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區(qū)域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。這些不同式樣的圖表基本上可以滿足目前的客戶需求。我們使用JFreeChart來顯示各資源的使用情況,讓用戶可以對資源的使用情況一目了然。
文件上傳是Web應(yīng)用程序的基本功能之一。系統(tǒng)利用jakarta apache公司提供的commonsfileupload組件實(shí)現(xiàn)文件上傳,我們運(yùn)用文件上傳功能將用戶各類資源上傳到服務(wù)器的文件夾中。
由于學(xué)校原有系統(tǒng)采用了各自獨(dú)立的用戶庫和用戶認(rèn)證體系,致使每個(gè)應(yīng)用系統(tǒng)中都有獨(dú)立的賬號,沒有一個(gè)統(tǒng)一的用戶賬號,進(jìn)入每一個(gè)應(yīng)用系統(tǒng)前都需要以該應(yīng)用系統(tǒng)的賬號來登錄。這給用戶使用帶來了不便,如果能在登錄任一應(yīng)用系統(tǒng)之后不必再經(jīng)過其他應(yīng)用系統(tǒng)的認(rèn)證直接進(jìn)入其他應(yīng)用系統(tǒng)將為用戶提供極大的方便。本系統(tǒng)采用了單點(diǎn)登錄簡稱SSO,是指在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可訪問所有相互信任的應(yīng)用系統(tǒng),無須記憶多個(gè)用戶名、密碼,也無須進(jìn)行多次登錄訪問。這一特點(diǎn)不僅給用戶使用帶來了方便,也為應(yīng)用系統(tǒng)的安全性提供了新的解決方案。
本系統(tǒng)的實(shí)現(xiàn)大部分采用開源軟件,極大地降低了開發(fā)成本。操作系統(tǒng)上我們選擇了Linux,Linux不僅在安全性等性能方面比Windows高,更重要的是它是開源的。數(shù)據(jù)庫管理系統(tǒng)采用開源數(shù)據(jù)庫中最優(yōu)秀的MySQL,MySQL數(shù)據(jù)庫完全能夠滿足系統(tǒng)的正常使用。Web服務(wù)器采用Apache,安全性等性能方面都是非常優(yōu)秀的。
如何將學(xué)院原有教務(wù)系統(tǒng)和其他系統(tǒng)有效整合成為系統(tǒng)成功的關(guān)鍵。本系統(tǒng)采用了SOA架構(gòu),有利于與原有系統(tǒng)的整合。面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。SOA與平臺無關(guān),減少了業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的限制。其具有低耦合性特點(diǎn),所以增加或減少業(yè)務(wù)伙伴對整個(gè)業(yè)務(wù)系統(tǒng)的影響較低。
安全方面該系統(tǒng)采用了訪問控制技術(shù)和加密技術(shù)。訪問控制技術(shù)主要用于確定合法用戶對計(jì)算機(jī)網(wǎng)絡(luò)中信息資源所享有的權(quán)限,以防止非法用戶的入侵和合法用戶使用非權(quán)限內(nèi)的信息資源。采用加密技術(shù)可以預(yù)防網(wǎng)絡(luò)監(jiān)聽等行為,最大限度地保障信息的安全性。
在很多實(shí)際的軟件開發(fā)項(xiàng)目中,安全測試已經(jīng)成為軟件開發(fā)生命周期一個(gè)不可或缺的組成部分,并成為整個(gè)項(xiàng)目過程中的長期任務(wù)。在測試中開發(fā)者經(jīng)常通過單元測試和集成測試來檢驗(yàn)代碼設(shè)計(jì),發(fā)現(xiàn)bug后及時(shí)修改。一個(gè)系統(tǒng)即使投入使用后,也需要進(jìn)行長期的維護(hù)。
Apache JMeter是一個(gè)專門為運(yùn)行和服務(wù)器裝載測試而設(shè)計(jì)的、100%的純Java性能測試工具。使用JMeter模擬50個(gè)用戶并發(fā)操作系統(tǒng),運(yùn)行結(jié)果良好。
以上介紹了如何運(yùn)用MVC模式來進(jìn)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。隨著Web應(yīng)用程序的不斷發(fā)展,使用MVC模式可以很好地將Web系統(tǒng)分為三層,使得程序開發(fā)人員更清楚地掌握項(xiàng)目的進(jìn)度,從而對系統(tǒng)進(jìn)行更好的管理,在這種規(guī)范下設(shè)計(jì)出的Web應(yīng)用程序大大提高了軟件的可擴(kuò)展性和重用性,保證了系統(tǒng)的穩(wěn)定性、靈活性、易維護(hù)性。
[1]Ryan Asleson.Foundations of Ajax[M].北京:人民郵電出版社,2006:247-250.
[2]趙曉峰.利用AJAX構(gòu)建動態(tài)WEB應(yīng)用[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2006(4):47-50.
[3]袁嘉.基于Struts+Spring+Hibernate的 Web開發(fā)框架[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008(4):210-214.
[4]潘峰,宋揚(yáng).基于Struts框架的商務(wù)網(wǎng)站平臺設(shè)計(jì)[J].商場現(xiàn)代化,2008(9):172-176.
[5]李歆.基于J2EE的網(wǎng)上交易系統(tǒng)的開發(fā)[J].咸寧學(xué)院學(xué)報(bào),2007(6):54-58.
[6]田小波.陳蜀宇MVC設(shè)計(jì)模式在J2EE架構(gòu)下的研究與應(yīng)用[J].西華大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(2):27-31.