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