網絡課程MIS的Java實現
【摘 要】Java高級語言作為最有前途的編程工具,具有面向對象、以網絡為中心等特點。網絡課程資源管理系統采用Java高級語言作為開發工具,結合網頁技術HTML、Java Bean、JavaServlet、JSP設計完成,在與網絡的融合中顯示出極大優勢,使網絡課程系統的應用成為現實。
【關鍵詞】JavaEE B/S 三層模式 資源積累
現代電子技術與通訊技術的結合,把學校教育推進了一個全新的信息環境——網絡環境。網絡也被稱為“信息高速公路”,它從根本上改變了傳統信息交流方式,給傳統教與學帶來了挑戰與機遇,給新一輪課程改革提供了課程資源優化組合的嶄新平臺。一方面,目前各高校紛紛加強自身網絡課程資源建設,如精品課程建設、優秀教學課件建設、FTP課程資源建設等等。但是在資源數據的存放、檢索、提高利用率等方面還存在許多問題,加上缺乏統一有效的資源管理平臺,各高校網絡課程資源的建設受到了很大制約。另一方面,對自建網絡課程資源的管理、整合方面也是近幾年研究的熱點,而開發一個良好的網絡課程資源管理系統(以下簡稱系統),將有利于高校自身網絡課程資源的建設與發展。
一 系統技術優勢
隨著軟件開發結構的不斷發展,出現比較流行的B/S結構,同時軟件框架結構方面也在不斷發展,目前在多層應用結構方面采用JavaEE技術和.net技術的不同解決方案,二者各有優缺點,分別適用于不同規模系統的要求。在諸多解決方案中,本系統選擇了基于JavaEE技術的三層B/S結構解決方案,如圖1所示。
這種模式在邏輯上將應用功能分為三層:表示層、業務邏輯層、數據持久層。 水利論文發表
1.系統三層介紹
表示層:表示層是為用戶提供應用服務的圖形界面,有助于用戶理解和高效的定位應用服務。主要是uI元素,如HTML、JavaScrip、呈現數據和收集數據。這一層就是把從數據庫中提取出來的數據用jsp、html、shtml頁面的形式顯示出來。業務邏輯層:該層從數據操作層中獲取并組織表示層要呈現的數據,處理表示層收集過來的數據并傳遞給數據持久層持久化。如輸入的數據的驗證、數據的輸出、頁面流程管理,安全和訪問控制管理等問題的解決都在業務邏輯層。在javaEE中用Java bean進行業務邏輯和事務的處理。數據持久層:該層是三層模式中最底層,它用來定義、維護、訪問和更新數據并管理和滿足應用服務對數據的請求。它把業務層處理后的數據保存到一個持久的數據庫中,同時可從數據庫中取出數據給業務層,即把數據永久儲存在數據庫中。
2.JavaEE技術
目前,JavaEE技術主要包括Java Server Faces(JSF)、EJB3.0、Web服務、SOA及其他一些內容。
(1)JSF。它是一種用于構建Web應用程序的新標準Java框架。它提供了一種以組件為中心來開發Java Web用戶界面的方法,從而簡化了開發。強健的JSF API為開發人員提供了無與倫比的功能和編程靈活性,JSF技術在本系統中的應用還確保了應用程序具有更高的可維護性。
(2)EJB3.0。在本系統中,嘗試使用最新的EJB3.0來實現業務邏輯與數據持久層的開發。由于EJB的復雜性,使其在J2EE架構中的表現一直不是很好。EJB大概是J2EE架構中唯一一個沒有兌現其能夠簡單開發并提高生產力的組件。而EJB3.0規范在這方面做出努力以減輕其開發的復雜性。EJB3.0取消或最小化了很多回調方法的實現,并且降低了實體Bean及O/R映射模型的復雜性,從而大大減輕了開發人員進行底層開發的工作量。
(3)Web服務。Web服務是基于XML和HTTPS的一種服務,其通信協議主要基于SOAP,服務的描述通過WSDL,通過UDDI來發現和獲得服務的元數據。它是處理異構的應用相互通信的一種協議。
(4)SOA(service—oriented architecture)是一種企業信息管理應用框架,它著眼于日常的業務應用,并將它們劃分為單獨的業務功能和流程,即所謂的“服務”。形象地說,這些“服務”就像大小不一的玩具中的積木,它們間的靈活組合可適應不同的業務敏捷管理需要。
二 系統工作原理
為了實現系統的功能,在三層模式設計的基礎上,設計時考慮到各種用戶的需求,同時也注意到實用性、安全性、交互性、操作簡易性以及個性化與界面友好性,在參考其他相關平臺的基礎上,結合高校實際情況,確定了系統的體系結構,主要模塊的功能見圖2。
第一,教師自建課程模塊。該模塊的功能是管理各專業教師在經過審核后自建的各種網上課程,學生在此模塊中能夠進行相應的專業學習,能夠與其他學習者及相應的教師進行探討并進行相關的學習活動。
第二,精品課程模塊。此模塊用列表形式展示了國家級、市級、院級等精品課程,訪問者可以點擊進入,查看課程基本信息及相應的課程網站。
第三,FTP資源模塊。管理海量網絡課程資源部從網絡收集、下載及整理過的課程、音頻、視頻等教學資料,用戶可以方便快捷地從此模塊中獲取大量的學習資料。 水利論文發表
第四,其他教學資源模塊。在此模塊中,匯集了學院相關的大量教學課件、教案、案例及試卷等資料。目的是為廣大教師提供相應的教學參考,拓寬學生的知識面。
第五,優秀教師模塊。該模塊全方位介紹學校優秀教師的風采,包括教師信息、獲獎情況、教學成果、教學音頻、視頻及圖片等等。教師可隨時更新個人各種相關資料,可以申請開辦網絡課程,同時有專門的能與學生進行資源共享與交流的空間。除以上幾個主要模塊外,還要及時向用戶提供動態信息的新聞與公告模塊,以及用戶與網絡資源部進行咨詢與交流的模塊。
三 系統設計
1.系統開發環境與性能控制
根據實際需求,在采用三層模式的基礎上,系統后臺采用SQL Server2000數據庫,開發環境為:Windows2003 Server+java+Apache Tomcat6.0。系統秉承開放性、共享性、兼容性等特點,在校園網內,可以使用戶享受到更加方便、簡單、快捷的服務。在系統性能控制方面,用到了Oscache與unSession等性能提高機制。其中,(1)Oscache:Oscache標記庫是一種開創性的JSP定制標記應用,其提供了在現有JSP頁面之內實現快速內存緩沖的功能。Oscache能夠在任何JSP 1.2兼容的服務器上運行,不僅能夠為所有用戶緩沖現有JSP代碼塊,而且能夠以用戶為單位進行緩沖。Oscache還包含一些提高可伸縮性的高級特性,如緩沖到磁盤、可編程的緩沖刷新、異常控制等等。Oscache是一種用于提高系統響應速度、改善系統運行性能的技術。在本系統中,通過緩存頁面的輸出結果,顯著地改善了系統運行性能。(2)unSession(偽會話管理機制):HTTP是一種無狀態的協議,它意味著Web應用并不了解有關同一用戶以前請求的信息。維持會話狀態信息的方法之一是使用java Serverlet或者JSP容器提供的會話跟蹤功能,將用戶的會話保存在服務器的內存中,這樣比較容易實現也比較容易管理,但是對于大量的Session駐留在服務器的內存中無疑占用服務器的大量資源,使其降低響應速度。而對于偽會話管理機制,對象或者值不存儲在內存中,而是在文本文件中;每個文本文件和一個用戶相關聯,文件名是會話標識符,因此文件名是唯一的;這些文件存儲在一個所有的Web服務器都可以訪問的目錄中,所以偽會話可以在一個Web群中使用;會話標識符不以Cookie形式發送,而是對URL進行編碼,需要重寫所有的連接,包括HTML表單中的ACTION屬性。
2.資源積累及使用流程
整個系統設計的過程中,重點在于系統資源積累與使用流程的設計,整個資源積累及使用流程如圖3所示。
此外系統還在開放與共享方面進行了設計,在系統運行過程中能與其他資源系統共享彼此之間的各種資源數據。結合網絡課程資源管理工作的實際情況,在整個系統中,設計了4種用戶: 水利論文發表
(1)系統管理員。系統具有最高權限的用戶,能對系統進行初始化設置、管理與分配其他類型用戶權限、統計各種系統信息、進行安全管理等等工作。
(2)資源管理員。網絡課程資源管理系統的重點在于資源積累及保證資源可用性,因此,系統中引入了一類特殊用戶——資源管理員,這是一類特殊用戶,由系統管理員分配指定。資源管理員日常及時調查統計學院各種現有資源使用情況,及時收集學生用戶對網絡教學資源的需求情況,在登陸系統后對系統資源進行管理,對由教師上傳到臨時資源庫中的資源進行審核,審核臨時資源的合法性、合理性及有用性,只有審核通過的資源才對學生用戶開放。在做審核工作的同時,資源管理員還積極收集、整理、制作各種資源,并錄入管理系統。
(3)教師用戶。擁有訪問資源的權限,同時能對自身信息進行維護編輯,可以向系統申請建立網上課程并上傳相關教學資源,解答學生用戶的各種問題。
(4)學生用戶。注冊登陸后使用系統全部開放資源,可以在教師設立的網上課程中與教師、同學進行交流。
3.系統應用程序安全性設計
用Java開發的系統應用程序基于JavaEE技術、Web技術,采用HTTP協議,通過JDBC訪問數據庫,訪問數據庫及整個系統功能都體現在每個頁面上,系統功能實現靠所有頁面的相互調用。但是,由于頁面的無記憶性和獨立性,頁面訪問實際是通過URL實現,如果程序不對每個頁面進行合法性檢查,非法用戶即使不知道用戶名和口令,同樣可以通過鍵入URL跳過登錄檢查直接訪問和數據處理相關的頁面,進而入侵系統的核心數據庫。因此,在嚴格進行用戶權限控制的同時,為保障數據庫應用程序的安全性,有必要采用某種訪問控制策略,對訪問者身份施以一定限制,以防止非法用戶的欺騙行為。由于用戶訪問數據庫必須經過Web服務器,這就使應用程序可以通過一定的方法控制頁面訪問,保證用戶只能在總控程序引導下訪問數據庫及系統信息。首先考慮的問題是:雖然在登錄頁面設置了訪問數據庫應用系統的用戶名、口令,但當非法用戶企圖直接在瀏覽器鍵入系統中某個頁面的URL而直接進入頁面時,尚不知如何將其重新定位到登錄界面。為解決這個問題,在系統中設計了當一個客戶首次訪問服務器上的JSP頁面時,JSP引擎產生一個Session對象。Session代表用戶的會話過程,用戶登錄時,向Session中傳入一個對象,即可跟蹤用戶的會話;用Session對象來保存特定用戶的會話信息,即便該用戶從連接該服務器的一個頁面跳到另一個頁面,或從該服務器連接到其他服務器再回到該服務器,該會話信息仍然存在。Session對象在客戶端首次發出請求時建立,直到客戶關閉瀏覽器后,服務器才將該Session對象撤銷。并且每個用戶的Session都是獨一無二的。
四 結束語
本文提出了一個基于JavaEE技術三層模式的網絡課程資源管理系統的設計方案,該方案實現了表示層和業務邏輯層的分離,使得系統具有很好的擴展性,提高了系統的可維護性、可復用性及安全性;同時,也給高校資源建設及相應MIS的開發提供了一個可行的思路和方法。隨著Web2.0時代到來,信息的膨脹,優秀的網絡課程資源管理系統將成為高校在數字化建設過程中提高自身資源建設的有效手段。
參考文獻
[1]孫曉龍、趙莉.JSP動態網站技術入門與提高[M].北京:人民郵電出版社,2001
[2]黃理、洪亮、曹林有、張勇等.JSP高級編程[M].北京:北京希望電子出版社,2001 水利論文發表
[3]BRUCE ECKEL.Java編程思想[M].北京:機械工業出版社,2007
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.vortexsignal.com)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!