《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于J2EE技術(shù)的遠(yuǎn)程教學(xué)系統(tǒng)設(shè)計

基于J2EE技術(shù)的遠(yuǎn)程教學(xué)系統(tǒng)設(shè)計

2009-01-14
作者:張玉強

引言?

隨著科技的不斷發(fā)展,傳統(tǒng)的面授教學(xué)已遠(yuǎn)遠(yuǎn)不能滿足當(dāng)今社會教育的需要。Internet的不斷發(fā)展與普及,為改革教育模式提供了契機。傳統(tǒng)的面授教育模式受到地理空間,優(yōu)秀教員人數(shù)與其他資源短缺等的限制。遠(yuǎn)程教育作為教學(xué)的一種輔助手段,是教學(xué)形式的一場革命。它利用現(xiàn)代網(wǎng)絡(luò)技術(shù),實現(xiàn)了教與學(xué)的交互性,遠(yuǎn)距離授課及有效的利用各種有限資源的能力。在遠(yuǎn)程教學(xué)過程中,教員與學(xué)員在空間上是分離的,因此需要通過Internet來實現(xiàn)這種交流。在傳統(tǒng)教學(xué)中,一位優(yōu)秀教員一次只能對幾十個學(xué)員進行授課,而通過遠(yuǎn)程教學(xué),全國各地成百上千個個學(xué)員都能有幸聽到他精彩的講課。要是實現(xiàn)以上目的,必須開發(fā)一個遠(yuǎn)程教學(xué)平臺,以提供各種遠(yuǎn)程教學(xué)支持。?

1? 系統(tǒng)設(shè)計原則?

系統(tǒng)設(shè)計首先應(yīng)當(dāng)符合實用性和通用性原則。也就是說開發(fā)出的系統(tǒng)應(yīng)當(dāng)符合用戶實際需求,操作界面簡單易用。而且應(yīng)當(dāng)采用最流行的開發(fā)平臺和軟件,和最通用的文件格式,使之具有通用性和實用性。?

系統(tǒng)設(shè)計應(yīng)當(dāng)符合的第二條原則是可擴展性和易維護性。由于用戶需求有可能隨時間而發(fā)生變化,可能需要增加新的功能,需要將新的更先進的技術(shù)融入其中,或某些地方需要予以完善和修正。具備可擴展性和易維護性的系統(tǒng)才是一個具有較長生命周期的系統(tǒng)。?

此外,系統(tǒng)設(shè)計還應(yīng)符合安全性原則。對于運行于網(wǎng)絡(luò)的系統(tǒng),安全性是絕不可少的。一個缺少安全性的系統(tǒng)很難保證用戶資源不受到破壞,用戶機密信息不被竊取,有時甚至連系統(tǒng)正常運行都有困難。安全性是企業(yè)和用戶利益的保障。?

2? 為什么選用J2EE技術(shù)開發(fā)遠(yuǎn)程教學(xué)系統(tǒng)?

目前用于開發(fā)網(wǎng)絡(luò)平臺的技術(shù)有多種。比較著名的有微軟的.NET技術(shù)和Sun的SUN ONE。J2EE技術(shù)是SUN ONE的核心。.NET技術(shù)理論上可支持多種語言,但它只能在Windows上運行。對于遠(yuǎn)程教學(xué)平臺需要很高的穩(wěn)定性與安全性,需要支持大量客戶并行訪問,此時客戶可能選擇Unix或Linux操作系統(tǒng)而非WindowsNT。而且雖然.NET中的有些技術(shù)(比如SOAP)是公開的機制,但它的核心技術(shù)都不公開。J2EE則可運行于任何有JVM的平臺。J2EE的所有標(biāo)準(zhǔn)都是公開的,許多廠商都可提供兼容的產(chǎn)品和開發(fā)工具。在WEB應(yīng)用程序的開發(fā)中,人有選用JSP與JavaBean相結(jié)合來開發(fā),采用這種方法開發(fā)WEB應(yīng)用程序比較簡單,但它只適合用于開發(fā)中小型的應(yīng)用程序。對于大型WEB應(yīng)用系統(tǒng),需要考慮處理大量對數(shù)據(jù)庫并發(fā)訪問的高效性以及很高的安全性,穩(wěn)定性和可擴展性。這些都是采用JSP與Jav-aBean技術(shù)無法很好的實現(xiàn)的。?

使用J2EE平臺開發(fā)具有以下優(yōu)勢:?

* 簡化的結(jié)構(gòu)和開發(fā)過程。?

* 適應(yīng)各種變化要求的可伸縮性?

* 與先有信息系統(tǒng)的集成。?

* 對服務(wù)器、工具和組件的選擇。?

* 靈活的安全模型。?

采用J2EE技術(shù)來開發(fā)遠(yuǎn)程教學(xué)平臺,能更好地實現(xiàn)安全性與可擴展性,而且,所有EJB容器都提供對事務(wù)和EJB組件的生命周期管理的自動化支持。所以,采用J2EE技術(shù)開發(fā)遠(yuǎn)程教學(xué)平臺是一個很好的選擇。?

3? J2EE程序設(shè)計簡介?

3.1J2EE平臺簡介?

J2EE的設(shè)計目的是提供對服務(wù)端和客戶端的支持從而推動企業(yè)及企業(yè)眾多層應(yīng)用程序的發(fā)展。一般來說,這些應(yīng)用程序都有一個客戶層以提供用戶界面,一個或多個中間層模塊用來提供客戶服務(wù)以及應(yīng)用程序所要用到的商務(wù)邏輯,另外還有一個后端的企業(yè)信息系統(tǒng)用來提供數(shù)據(jù)管理。圖1描述了組成一個典型的J2EE環(huán)境的各種組件和服務(wù)。?

3.2 EJB的設(shè)計?

J2EE平臺的EJB層提供了一種標(biāo)準(zhǔn)服務(wù)器端分布式組件模型,它可以大大簡化編寫商務(wù)邏輯的任務(wù)。要使用J2EE平臺提供的服務(wù),商務(wù)對象必須由企業(yè)bean來實現(xiàn)。有兩種主要的企業(yè)bean:實體bean和會話bean。?

實體bean的特性:表示持續(xù)數(shù)據(jù)、提供多個客戶的并行訪問、表示一個數(shù)據(jù)的邏輯性紀(jì)錄、提供健壯的、可以長時間存在的持續(xù)性數(shù)據(jù)管理。?

??????

有狀態(tài)會話bean的特性:保存特定客戶的狀態(tài)、表示非持續(xù)性對象、表示商務(wù)對象間的工作流程。?

無狀態(tài)會話bean的特性:模型化可重用的服務(wù)對象、提供高性能、同時對多行進行操作、提供數(shù)據(jù)的過程視圖。例如,課程目錄可設(shè)計為無狀態(tài)會話bean。它可以查找數(shù)據(jù)庫中有關(guān)課程目錄的表,得到相應(yīng)的課程目錄,并將其顯示給客戶。?

4? 使用MVC設(shè)計應(yīng)用程序?

4.1MVC結(jié)構(gòu)簡介?

開發(fā)遠(yuǎn)程教學(xué)系統(tǒng)時,可采用MVC(Model-View-Controller)應(yīng)用體系結(jié)構(gòu)來分析分布式應(yīng)用程序的特性。該抽象有助于將一個應(yīng)用程序分割為更易于重構(gòu)的邏輯組件。這種設(shè)計體系結(jié)構(gòu)允許商務(wù)邏輯、數(shù)據(jù)和表示邏輯清晰地分離開來,也使內(nèi)容提供者和應(yīng)用程序開發(fā)者只需關(guān)注那些他們擅長的領(lǐng)域。?

* 模型是應(yīng)用程序數(shù)據(jù)和用來改變這些數(shù)據(jù)的商務(wù)規(guī)則的一種軟件抽象。一個模型可被所有的應(yīng)用程序客戶端共享。?

* 視圖用來顯示模型的內(nèi)容。它訪問來自模型的數(shù)據(jù),并指定如何顯示數(shù)據(jù)。?

* 控制器定義應(yīng)用程序的行為,它解釋用戶的行為并把他們應(yīng)射程可以由模型完成的動作。每個呈現(xiàn)不同功能的客戶都需要單獨的控制器。控制器維護模型中的數(shù)據(jù),并確保視圖所表示的數(shù)據(jù)于相應(yīng)的模型一致。?

4.2使用MVC設(shè)計應(yīng)用程序功能模塊?

根據(jù)MVC設(shè)計思想,可設(shè)計跟學(xué)員有關(guān)的應(yīng)用程序功能模塊如圖2。?

?????

圖2當(dāng)中的Model部分包括了幾個企業(yè)javaBean。根據(jù)EJB的設(shè)計原則,可將課程目錄模塊設(shè)計為Entity bean。每個課程目錄實例對應(yīng)數(shù)據(jù)庫中課程表的一條記錄。在線學(xué)習(xí)以及網(wǎng)上考試都應(yīng)設(shè)計為有狀態(tài)Session bean。因為每個學(xué)員都是根據(jù)自己的需要選擇不同的內(nèi)容學(xué)習(xí),特定的用戶有自己特定的狀態(tài),而且該狀態(tài)只在用戶進行該門課程學(xué)習(xí)時保持,當(dāng)用戶離開,也就是這一Session過程結(jié)束時,該狀態(tài)不再有效,不需要將剛才的狀態(tài)保存到數(shù)據(jù)庫中,因此設(shè)計為Bession bean。網(wǎng)上考試同理。每個學(xué)員可根據(jù)自己的學(xué)習(xí)情況,選擇適合自己深度的不同測試試卷進行測試。在線答疑模塊可設(shè)計為無狀態(tài)Session bean。不需要單獨對每個學(xué)員設(shè)計自己的答疑狀態(tài),每個學(xué)員登陸該界面后,應(yīng)該既可看到自己的答疑內(nèi)容,也可看到別的學(xué)員的的疑問及解答,也許別人的問題也正是自己的問題。用戶賬號應(yīng)當(dāng)保存到數(shù)據(jù)庫中,所以應(yīng)為Entity bean。?

View部分包含了呈現(xiàn)于客戶端的多個界面。用戶選擇不同的功能就會有不同的界面。這些界面可稱之為視圖。用戶視圖可用JSP來設(shè)計。在涉及時,可將界面的共同部分設(shè)計為一個或多個單獨的模版,并使用JSP的include語句將其加入到界面相應(yīng)的位置。如:<%include file='beader.JSP'%> 究竟當(dāng)前應(yīng)該選擇顯示哪個界面,則是由Controller控制的。Controller部分有一個專門用于控制視圖的模塊View Controller,它接收來自客戶端的HTTP請求,將該請求的參數(shù)傳遞給另一個Controller模塊EJBController。該模塊根據(jù)參數(shù)調(diào)用Model中相應(yīng)的模塊,執(zhí)行相應(yīng)的動作,再將結(jié)果參數(shù)傳遞給View Controller,由它調(diào)用相應(yīng)的JSP文件生成相應(yīng)的視圖。View Controller可由Servlet來實現(xiàn),因此它應(yīng)屬于Web tier中。Servlet可以通過HTTPSession和Servelet Context對象保存應(yīng)用程序狀態(tài),可以很方便的接收和傳遞來自客戶端的HTTP請求。?

由于Model中有多個模塊,使用Session Fa?ade可為客戶端的調(diào)用提供一個統(tǒng)一的接口,它使得Model中的各模塊的細(xì)節(jié)問題對于客戶端被隱藏,增加了安全性,并使EJBController操作更容易。?

當(dāng)跨層訪問數(shù)據(jù)時,由于數(shù)據(jù)很多,會造成網(wǎng)絡(luò)交通繁忙。為了減輕大量數(shù)據(jù)對網(wǎng)絡(luò)線路造成的壓力,可采用粗粒度訪問數(shù)據(jù)的方法。即采用Value Object將相應(yīng)的多個數(shù)據(jù)封裝到一個值對象當(dāng)中。設(shè)計Value Object時,應(yīng)使其實現(xiàn)Seriliable,并將它設(shè)計得相對小一些,以減少額外的類帶來的程序復(fù)雜度。?

目前數(shù)據(jù)庫有多種,訪問不同的數(shù)據(jù)庫有不同的策略,對數(shù)據(jù)庫的操作也有多種,比較復(fù)雜,尤其是當(dāng)采用BMP設(shè)計數(shù)據(jù)庫時更為復(fù)雜,應(yīng)此有必要設(shè)計一個單獨的類作為一個專門操縱數(shù)據(jù)庫的工具。DAO的作用就在于此。?

結(jié)束語?

遠(yuǎn)程教學(xué)系統(tǒng)有著非常廣闊的前景,必將對傳統(tǒng)教學(xué)模式產(chǎn)生深遠(yuǎn)影響?;贘2EE技術(shù)的遠(yuǎn)程教學(xué)系統(tǒng)在穩(wěn)定性,完全性和可擴展性方面都有著使用其他技術(shù)不可比擬的優(yōu)勢。遠(yuǎn)程教學(xué)系統(tǒng)是一個系統(tǒng)工程,本文針對開發(fā)系統(tǒng)應(yīng)使用何種技術(shù)以及開發(fā)該系統(tǒng)的設(shè)計模式作了一些論述。本文僅在我們工作的基礎(chǔ)上對這一問題作了初步的探討,怎樣更好地利用網(wǎng)絡(luò)資源,怎樣使教員與學(xué)員、學(xué)員與學(xué)員、教員與教員間的交流更為方便、快捷,怎樣在遠(yuǎn)程教學(xué)中引入人工智能技術(shù)等等,這些問題還有待進一步研究。對于如何更好地利用網(wǎng)絡(luò)資源,如何使遠(yuǎn)程教學(xué)實現(xiàn)智能化,使教員與學(xué)員、學(xué)員與學(xué)員、教員與教員間的交流更為方便,這些問題還有待進一步研究。?

參考文獻?

1.Mark Johson J2EE Platform Design Patterns for Enterprise Applications JWEE BluePrints Sun Microsystems,Inc?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。