999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SSH框架的遠程教學平臺的實現

2010-12-07 06:57:50劉英哲
中國遠程教育 2010年17期
關鍵詞:程序數據庫系統

□ 劉英哲

基于SSH框架的遠程教學平臺的實現

□ 劉英哲

本文介紹了目前主流遠程教學平臺存在的缺陷,并提出了以SSH框架技術為支撐構架遠程教學平臺的設計方案。平臺系統在設計開發過程中使用了Maven進行項目管理,降低了系統各個模塊之間的耦合度,使得代碼的復用性大大提高,同時增強了系統的穩定性和可擴展性。

遠程教學平臺;Spring;Hibernate;Maven

一、引言

隨著信息技術特別是網絡技術和多媒體技術的發展,我國遠程教育發展已經進入了新的歷史時期。構建靈活開放的終身教育體系,大力發展現代遠程教育,建設以衛星、電視和互聯網等為載體的遠程開放繼續教育及公共服務平臺[1],已經成為未來十年遠程教育發展的奮斗目標。作為遠程教育主要載體的遠程教學平臺因其設計上的缺陷而暴露出越來越多的問題,主要體現在三個方面:首先是教學平臺系統響應速度較慢;其次是系統的界面較為單一,用戶缺乏學習興趣,導致訪問量降低;第三是系統在軟件設計上結構較為簡單,各個部分代碼耦合性較強。這些實際存在的問題制約了當前遠程教育的快速發展。

二、遠程教學平臺設計缺陷成因分析

目前,數以千萬計的用戶正借助網絡手段進行遠程學習。而隨著用戶數量的增加,教學平臺的并發訪問數也不斷攀升,這就導致單位時間內需要同時處理的業務數量大幅度增加,因此要求教學平臺有更快的處理速度。分析表明,網絡程序處理速度的快慢主要依賴于數據庫訪問層部分,因為數據庫的訪問是一個較為復雜的流程,首先需要建立到數據庫的連接,然后提供用戶名密碼等待數據庫認證,認證成功后,要發送SQL語句等待數據庫語法校驗,成功后數據庫將符合要求的數據返回給網絡程序,最后還需要關閉數據庫的連接。因此,如何降低數據庫訪問次數成為網絡程序需要解決的關鍵問題。目前的主要解決方案有兩種:第一種就是建立集群,提高數據庫服務器的處理性能。這種方案的優點是實行簡單,程序不需要修改大段的代碼,只要設置好數據庫的負載均衡就能夠完成。然而這種方案的缺點就是造價較高,需要耗費大量的資金。第二種方案就是在網絡程序的數據訪問層加上數據庫訪問緩存,將對數據庫訪問的結果緩存在內存中,程序在需要數據的時候首先訪問緩存,如果有相應的數據就不再連接數據庫,避免不必要的開銷。這個方案從根本上減少了數據庫訪問的次數,不需耗費額外資金,同樣可以達到提升系統處理速度的目的。

作為教學平臺組成部分的界面設計也是評估系統性能重要指標之一。近年來各個網頁瀏覽器之間的標準逐漸統一,綜合使用CSS+HTML+JavaScript的XHTML技術逐漸流行,瀏覽器標準中對文檔對象模型的支持還有異步加載XML的XMLHttpRequest對象使得異步加載網頁成為了可能,同時減少了服務器和瀏覽器之間的通訊量,使程序依舊能維持原來的功能。

目前教學平臺的后臺代碼設計中經常摻雜著各種邏輯業務的控制邏輯甚至是直接訪問數據庫的語句,這也是系統整體性能下降的因素之一。復雜的邏輯設計使功能固化嚴重,結構難以修改,如果想要添加或者修改功能,就必須要讀懂頁面層、業務邏輯層和數據訪問層的代碼。隨著項目規模變大,修改的難度也會大大增加。

通過以上分析,理想的遠程教學平臺應能夠同時滿足以下幾個條件:模塊化,即將程序劃分成若干模塊,各個模塊之間的職責清晰,使程序結構一目了然;界面層既能支持傳統的網頁交互式瀏覽,也能提供基于AJAX的異步瀏覽模式;程序可擴展性強,能夠根據實際需要增加或修改流程。

三、基于SSH框架技術的遠程教學平臺的實現

(一)主要技術介紹

1.Maven

Maven是基于項目對象模型(POM),可以通過一小段描述信息來管理項目的構建、報告和文檔的軟件項目管理工具。同一般的自動編譯軟件相比,它主要有以下兩個優點。

(1) Maven具有默認的項目文件結構的規則,不需要編寫額外的配置文件來說明如何編譯、測試和對項目代碼進行打包。由于項目都遵循了默認的規則,程序員可以在較短的時間內熟悉項目的規則,而且任何IDE都可以對項目進行編輯,程序員可以使用各自擅長的編程軟件。

(2)Maven對項目進行建模,將項目的構建劃分為若干生命周期,不需要對項目進行任何說明,只需要簡單的指令就可以自動進行代碼測試、項目打包和自動部署等功能。

本文的系統使用了Maven多模塊設計方式,將系統不同的功能劃分成單獨的項目,各個項目之間的依賴由Maven進行維護,這就在更大的程度上隔離了各個模塊的代碼,使得項目維護以及單元測試更加快捷方便。

2.MVC結構

系統主體結構采用MVC架構,MVC指的是模型(Model)、視圖(View)和控制器(Controller)三個部分。這三個部分的聯系方式如圖1所示。

使用MVC的目的是將模型和視圖的實現代碼分離,從而使同一個程序可以使用不同的表現形式。在本系統中,為了今后能夠開發出Web Service等其他新的表現形式,最便捷的方式就是能夠重用原有的業務邏輯和數據訪問代碼,如果系統使用了MVC的架構,服務層和數據表現層是相互分離的,那么就可以方便地在Web Service中調用原來的服務層代碼,大大減少了重復開發工作。

3.SSH框架

SSH是Struts+Spring+Hibernate 3種技術的有機融合,是目前應用最廣泛的J2EE架構[2]。Struts是目前較為流行的基于MVC的框架,它主要充當了控制器的角色,負責接收用戶的輸入、調用服務層的方法后將得到的結果返回給數據表現層。Hibernate充當了模型的角色,它使用XML文件將數據庫的字段和實體類字段之間的關系對應起來,將關系型數據庫的數據在程序中直接變為程序中的對象。除此以外,Hibernate提供了功能強大的事務管理和緩存機制,教學平臺的業務邏輯層通過Hibernate的緩存訪問數據可以減少數據庫的開銷,提高程序的處理速度。Spring在程序中充當了裝配工廠的角色,通過XML配置文件將各個子層的實例組織起來,將各個子層之間的依賴關系集中表現在配置文檔中,使得系統結構更加清晰合理。

(二)遠程教學平臺系統模塊設計

遠程教學系統按用戶身份不同主要分為兩大子系統:教師子系統和學生子系統。教師子系統為教師提供了日常教學所需要的功能。教師通過資源管理模塊可以查看自己所負責課程的所有資源,對過時的資源進行及時的更新或刪除,使學生隨時可以接觸到該門學科的最新進展。相對于傳統的以課本為主的教學方式,教師可以在教學平臺上隨時添加各種類型的文本、圖片甚至視頻文件來提高學生學習的興趣,進而加深學生對該課程的理解。教學管理界面不僅為教師提供了學生在學習平臺上的學習記錄,還提供教師的行為記錄,方便教師隨時調整教學進度。教師在論壇中可以發起討論,和學生互動,解答學生在學習中遇到的問題。

學生功能包含資源瀏覽、資源檢索和論壇應用。學生除了可以按課程檢索到相應的資源,還可以通過資源訪問量、資源最近更新日期等條件檢索自己感興趣的資源。學生可以在論壇中和其他同學、老師一起討論課程中的問題,發表自己的觀點。

系統還包含了一些教師與學生共用的功能,包括收藏夾、個人信息維護、站內所搜等功能,便于用戶更方便的使用系統其他功能。圖2分別為教師子系統和學生子系統模塊設計邏輯圖。

(三)遠程教學平臺系統架構設計

本系統采用MVC架構,因此在設計上被劃分成若干子層,各個子層之間相互獨立,使用接口對實現的細節進行封裝。系統分層示意圖如圖3所示。

系統在實現時使用Maven進行項目管理,將每一層都劃分成獨立的項目,然后在各個項目之間建立依賴關系。各個子項目之間的關系如圖3所示。

Maven將系統抽象成為項目模型(POM),首先建立一個父項目,對各個項目共用的屬性進行匯總,例如測試函數庫、編譯器設置等。配置文件部分代碼如下:

配置文件向Maven闡述了該項目所需要的函數庫的名稱和版本,以及該函數庫的作用。

系統的主要模塊從下至上分別為數據持久層、系統服務層、界面表現層。數據持久層負責與數據庫進行交互,將讀取到的關系型數據庫的數據轉換成系統能夠處理的業務對象。這一部分主要使用了Hibernate進行對象關系映射(ORM),用XML文檔將數據庫的字段映射為各個實體類的屬性。系統服務層調用數據持久層的服務并使用各種業務流程處理得到的數據,服務層也承擔著負責劃分事務界限的任務。數據服務層將處理好的數據提交到界面表示層,表示層只負責將數據顯示在模板頁面上和將用戶輸入的數據傳遞到數據服務層上,它不對數據進行任何處理。

下面以管理員模塊中用戶管理系統為例,具體分析Struts+Hibernate+Spring多框架在系統中的應用。

此部分主要功能是對用戶進行增加、刪除以及修改權限。例如要增加一個系統用戶,輸入用戶信息并提交后,通過Struts調用AddUserAction的execute方法,業務層Service接口的實現類,再間接調用DAO接口的實現類。DAO接口的實現類封裝了通過Hibernate訪問數據表對應持久化對象的CRUD操作。以下給出Spring的applicationContext.xml配置文件部分代碼段:

通過以上配置代碼,spring將負責界面層的strutsAction和負責服務層的userSerivces聯系在了一起,strutsAction在自己的代碼中設置了userServices這一屬性,由Spring進行依賴注入。

Struts采用struts-config.xml作為配置文件。在這個配置文件中,struts配置了Spring組件DelegatingRequestProcessor來讓Spring托管各個組件。代碼如下:

配置文件剩下的部分完全不需要再做其他改動,將Spring帶來的影響降到了最低。

四、總結

當前,基于Struts、Hibernate和Spring多框架整合方案及相關技術在一些系統項目開發得到廣泛應用,其原因是這3個框架均為開源性框架,有著豐富而且免費的技術文檔資料和開發背景;架構的整體設計采用了MVC模式,把表示層與業務層進行了很好的分離。

由于使用maven進行項目管理,系統可以方便的升級自己的函數庫并重新打包部署到遠程服務器上。整個項目由于進行了適當的分層,項目對分布式開發有良好的支持。通過適當的改動,系統即可以支持遠程函數調用(RMI),通過遠程函數的方式,系統可以和其他的程序進行通訊,而不再像舊版本程序直接共享數據庫。這樣做使得數據安全性大大增加,并且將教學系統的可擴展性提升到了一個新的高度。

[1]國家中長期教育改革和發展規劃綱要(2010-2020年).

[2]楊海斌.基于SSH框架的高校網站群內容管理系統設計[J].軟件導刊,2009,(9).

[3]祝智庭.教育信息化:教育技術的新高地[J].中國電化教育,2001,(2):5-8.

[4]王磊杰,崔軍波,韓紅宇等.Java EE開發指南-基于Spring/Struts/Hibernate的實現[M].北京:北京人民郵電出版社,2007.

[5]李剛.輕量級J2EE企業應用實戰:Struts+Spring+Hibernate整合開發[M].北京:電子工業出版社,2007.

[6]Maven http://maven.apache.org[EB/OL].

2010-05-30

劉英哲,工程師,學士,天津廣播電視大學現代教育技術中心(300191)。

責任編輯 柯 南

G40-057

B

1009—458x(2010)09—0069—04

猜你喜歡
程序數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 欧美在线精品怡红院| 97在线碰| 精品久久777| 国产一区二区三区在线观看视频 | 国产99热| 国产精品网址你懂的| 最新加勒比隔壁人妻| 91娇喘视频| 亚洲中文久久精品无玛| 国产成人精品一区二区三在线观看| 成人亚洲国产| 国产视频你懂得| 亚洲 日韩 激情 无码 中出| 国产女人水多毛片18| 亚洲天堂成人| 亚洲天堂网视频| AV老司机AV天堂| 亚洲AV电影不卡在线观看| 激情综合激情| 国产人成乱码视频免费观看| 色婷婷色丁香| 国产黄网站在线观看| 国产精品综合久久久| 亚洲丝袜第一页| 亚洲妓女综合网995久久| 国产在线一区视频| 欧日韩在线不卡视频| 婷婷色婷婷| 无码一区中文字幕| 成人免费一区二区三区| 九九久久精品免费观看| 国产成人亚洲精品色欲AV| 亚洲av片在线免费观看| 国产精品成人一区二区| 色综合久久无码网| 日本精品中文字幕在线不卡| 国产视频一二三区| 91青青视频| …亚洲 欧洲 另类 春色| 亚瑟天堂久久一区二区影院| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲日本一本dvd高清| 99久久人妻精品免费二区| 久久国产精品麻豆系列| 国产午夜福利亚洲第一| 尤物特级无码毛片免费| 亚洲成在线观看| 婷婷开心中文字幕| 国产69精品久久久久孕妇大杂乱| 青青草国产免费国产| 国产精品开放后亚洲| 国产综合网站| 六月婷婷激情综合| 人妻丝袜无码视频| 欧美成人怡春院在线激情| 亚洲综合精品香蕉久久网| 国产在线97| 亚洲侵犯无码网址在线观看| 免费中文字幕一级毛片| 亚洲一级毛片免费看| 中文字幕佐山爱一区二区免费| 大陆国产精品视频| 精品人妻一区二区三区蜜桃AⅤ| 久久这里只有精品2| 亚洲激情99| 日本成人精品视频| 国产精品白浆在线播放| 亚洲欧洲日韩综合色天使| 小说区 亚洲 自拍 另类| 在线a网站| 亚洲欧美人成电影在线观看| 成人日韩精品| 激情国产精品一区| 国产h视频在线观看视频| 欧美一级色视频| 国产大片黄在线观看| 国产精品第| 女高中生自慰污污网站| 亚洲永久色| 亚洲制服中文字幕一区二区| 午夜视频免费一区二区在线看| 久久伊伊香蕉综合精品|