《電子技術應用》
您所在的位置:首頁 > 其他 > 设计应用 > 基于JSF框架的学习内容管理系统设计与实现
基于JSF框架的学习内容管理系统设计与实现
来源:微型机与应用2010年第10期
吴 洲1, 曹 伟2, 陈 俊3
1. 广东松山职业技术学院 计算机系, 广东 韶关512126;2. 湖南商学院 信息系, 湖南 长
摘要: 以学校的数字化校园建设为背景,基于面向对象技术和学习内容管理技术,提出了一个面向网络教学的学习资源模型,并基于该模型采用JSF框架设计和实现了一个通用的学习内容管理系统。
Abstract:
Key words :

摘   要: 以學校的數字化校園建設為背景,基于面向對象技術和學習內容管理技術,提出了一個面向網絡教學的學習資源模型,并基于該模型采用JSF框架設計和實現了一個通用的學習內容管理系統。
關鍵詞: 學習內容管理; 學習資源; JSF框架

    內容是一切交互活動的基礎:“Content is king[1]”。內容是一個比數據、文檔和信息更廣的概念。數據通常是指結構化的、由傳統關系數據庫處理的對象,文檔通常指非結構化信息,常常由類似全文信息管理以及類似Lotus Domino等應用軟件來管理,而信息通常包括結構化的數據和非結構化的文檔。內容除了一般的文字、文檔、多媒體、流媒體外,還包括Web網頁、廣告、程序(如JavaScript)和軟件等一切數字資源,內容是各種結構化數據、非結構化文檔、信息的聚合。內容管理所涵蓋的信息廣泛,從網絡教學的角度來進行分類,可以分為運行內容,如報表、排課單、選課單等;教學內容,如電子教材、學習檔案、作業、練習與答疑;Web內容,如HTML與XML等格式的信息;以及多媒體內容,如聲音、影片、圖形等。
 管理就是施加在“內容”對象上的一系列處理過程,包括收集、確認、批準、整理、定位、轉換、分發、更新、存檔等,目的是為了使“內容”能夠在正確的時間、以正確的形式傳遞到正確的地點和人。內容管理本質上是采用內容的索引、編碼、存單、恢復和個性化的發布服務等先進的技術手段,將網絡的優勢與相關應用進行巧妙的結合[2]。簡而言之,內容管理即管理網上需要發布的各種信息。內容管理涉及的內容不僅僅是對文件、數據的管理,還包括資料獲取、存儲方法、訪問權限、檢索方法等方方面面[3-4]。目前,內容管理更多的是應用于企業內容管理和網站內容管理,而內容管理在網絡教學中的應用主要是學習內容管理系統。
 學習內容管理系統結合了學習管理系統的學習追蹤、管理和內容管理系統的內容創建、發布、管理等思想,在學習對象和相關網絡學習技術標準的基礎上,提供了一個沒有編程經驗的內容制作者也能制作、存儲、組合和發布基于學習對象的個性化學習內容的網絡化教學應用系統[5-6]。不同的學習內容管理系統開發商提供的系統不盡相同,但是,每個學習內容管理系統都應具有以下4個基本構件:學習對象倉庫(Learning object repository)、學習內容創作編輯(Automated authoring application)、學習內容的動態發布接口(Dynamic delivery interface)和系統管理應用(Administrative application)。
 發展網絡教育,擁有大量高質量的、可共享的網絡學習資源至關重要,沒有資源,網絡教學就成了無源之水。學習對象的提出為提高網絡學習資源的可重用性、可共享性以及互操作提供了一種思路?;谛染W絡教學的特點及需求,借鑒學習對象的思想,結合 XML技術的應用,參照國際學習資源相關標準[7],提出了一個面向網絡教學的學習資源模型。模型由內容組件模型、元數據模型和內容包裝模型三部分構成。內容組件用于按層次重構學習資源,解決學習資源重復使用和共享問題;元數據模型用于描述內容組件的各類公共屬性,解決學習資源的檢索、交換等問題;內容包裝模型用于對學習資源組織和打包,提供在不同的學習環境中交換學習資源的機制。
 本文結合J2EE技術設計的特點,提出了一個面向網絡教學的學習資源模型,基于該模型采用JSF框架設計并實現了一個通用的學習內容管理系統。
1 學習內容管理系統設計
 (1)系統組成:學習內容管理系統分成6個子系統、分別是學習對象管理系統、內容發布系統、學習資源庫管理系統、課程管理系統、用戶管理系統和其他支持系統。另外,從系統邏輯上看,可以分為3個層次,分別是用戶界面層、系統業務層和物理存儲層。
   (2)系統體系結構:根據應用的實際要求,學習內容管理系統J2EE架構規范,構建典型的B/S應用。學習內容管理系統,在邏輯上基于采用JSF(Java Server Faces)的開發平臺,業務上共分為3層結構,客戶端層、Web服務端和應用服務端。其中客戶端主要形成學習內容的界面體現形式,Web服務端用于動態生成客戶端需要的界面,應用服務端主要用來進行學習內容管理系統的業務處理,負責與后臺的數據庫打交道。系統體系結構如圖1所示。

   (3)數據模型設計:將數據分為兩個部分,一是學習內容管理系統需要使用到的基礎數據,二是各個子系統使用的數據。學習內容管理系統的基礎數據主要由學習資源模型的3層數據組成。首先是與學習素材有關的數據表,這些數據表用來保存與學習素材物理存儲有關的信息;其次是與學習內容對象有關的數據表,最后是與應用對象有關的數據表。
2 關鍵技術
2.1基于JSF的Web層實現

 在學習內容管理系統中,系統登錄、學習內容信息的查詢、添加、修改、生成、內容發布都要通過JSP頁面與用戶交互。由于JSF提供了標簽庫,大部分的頁面利用JSF標簽庫的標簽就可實現。在JSP文件的開始部分,首先要引入標簽。
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
  <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
  <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
  這樣,JSP文件就可以使用JSF標簽了。在contentEditor.jsp中,主要使用了<h:form>、<t:inputHtml>、<h:commandButton>標簽。部分代碼如下:
    <h:form>
      <t:inputHtml value=”#{editor.text}” style=”height: 60ex;” />
      <h:commandButton value=”保存” action=”#{editor.save}”type=”submit”/>
  </h:form>
    JSF使用受管理bean來實現界面設計與業務邏輯的分離。在上面的代碼中,標簽就使用了一個名為editor的受管理bean將界面設計與業務邏輯分割開。<t:inputHTML/>標簽在界面上顯示為一個HTML輸入區,同時把輸入數據與editor的text屬性相關聯。<h:commandButton/>標簽在界面上為一個名為“保存”的命令按鈕,同時利用標簽的action屬性把標簽與editor的save方法關聯起來。
  按照JSF框架的定義,受管理bean是在faces-config.xml配置文件中定義的,這個XML配置文件放置在/WEB-INF目錄下面。
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
  <faces-config>
          … …    
          <managed-bean>
              <managed-bean-name>editor</managed-bean-
            name>
              <managed-bean-class>mtn.gfkd.lmcs.web.
            EditorFace
             </managed-bean-class>
              <managed-bean-scope>session</managed-
            bean-scope>
          </managed-bean>
      … …
      </faces-config>
    上面是faces-config.xml的部分代碼,表示:構造mtn.gfkd.lcms.web.EditorFace類的一個對象,命名為editor,并且在session期間一直保持激活狀態,也就是說它用來處理來自相同客戶端的請求。完成受管理bean的定義后,JSF標簽就可以訪問editor的屬性和方法。
2.2 EJB層實現
  系統的EJB層主要由5個無狀態會話Bean和ServiceLocator單例類[8]組成,5個EJB分別是Learning
ObjectEJB、 LearningResourceEJB、ContentPublishEJB、Course
EJB和UserEJB。系統的業務邏輯是由EJB處理Web層EJBService傳遞過來的用戶請求,調用DaoManager來實現的。
     以LearningObjectEJB為例,這個EJB主要處理的是學習資源模型中的模型對象。由于學習資源模型分為3個層次,其中涉及到的模型對象多,模型對象間的關系復雜,因此在此應用建造者模式來創建這些模型對象。LearningObjectEJB的結構如圖2所示。

2.3 基于Hibernate的數據層實現
  數據層的實現主要是把實體類映射到數據庫表,并對實體類對象進行添加、修改、刪除、查詢等操作,用DAO模式封裝這些操作,采用Hibernate實現O/R映射及對象管理。持久層實現步驟如下,均按照Hibernate的規范[9]進行:編寫持久實體類,O/R映射配置,編寫業務代碼操作持久對象。
2.4 Java NIO應用
  為了解決一個線程綁定模式造成過分消耗資源的問題,可以采取使用非阻塞I/O操作來管理源自一個線程的大量通信,也可以采取服務器使用一個可配置的線程池,從而充分利用多處理器計算機的優勢。這兩種方法的核心在于可選擇I/O(selectable I/O)的概念[10]。如果無法進行高效的輪詢來完成工作,那么僅有非阻塞I/O操作(nonblocking I/O)是不夠的。NIO包是在 JDK 1.4 中引入的。NIO 彌補了原來的I/O不足,它在標準 Java 代碼中提供了高速的、面向塊的 I/O。通過定義包含數據的類,以及通過以塊的形式處理這些數據,NIO 不用使用本機代碼就可以利用低級優化,這是原來的 I/O 包所無法做到的。NIO通過使用可選擇通道提供了高效的輪詢機制。可選擇通道允許向一種特殊類型的監聽者注冊,這種監聽者稱為選擇器(selector),它可以檢查通道是否準備好以完成諸如讀寫、接受或創建網絡連接等操作。
  通過使用NIO包重新編寫上傳程序,新的學習內容管理系統在處理客戶端上傳大容量文件的時候,解決了原來的過分消耗資源的問題,在網絡條件良好的情況下,系統能夠順利地接收客戶端上傳100 MB以上的文件,并且能夠保證系統整體性能處于良好狀態。
  本系統采用JSF框架的體系結構,它集學習內容開發、內容管理、內容發布于一體,使得教師可以快速地制作、發布學習內容;遵循IMS標準,系統生成的內容交換包可以在符合IMS標準的不同教學平臺間交換。
參考文獻
[1]  MAYBERRY E. Basics of CMS implementation,http://www.learningcircuits.org.2002/may2002/mayberry.html,2002.
[2]  MINH L D,LYDIA L. An open architecture for ontologyenabled content management systems: a case study in  managing learning objects. Proceedings Lecture Notes in Computer Science,2006.
[3]  BROOKS C, PANESAR R,GREER J. Awareness and  collaboration in the iHelp courses content management  system. Innovative Approaches for Learning and Knowledge  Sharing, Proceedings Lecture Notes in Computer Science,2006.
[4]  韓嘯,曹輝.內容管理的關鍵技術[J]. 中國傳媒科技,2004(5).
[5]  孔維宏. 基于學習設計規范的學習內容管理系統設計[D].    華南師范大學碩士論文,2004.
[6]  付琴.標準化的學習內容管理系統研究[D].華中科技大學碩士論文,2002.
[7]  付琴,程文青,楊宗凱.SCORM——可共享對象參考模型的研究[C]. 中國遠程教育,2003(1).
[8]  ALUR D,CRUPI J,MALKS D. J2EE核心模式(第2版)[M]. 北京:機械工業出版社,2005.
[9]  孫衛琴. 精通Hibernate:Java對象持久化技術詳解[M]. 北京:電子工業出版社,2005.
[10]  彭晨陽. Java 實用系統開發指南.北京:機械工業出版社,2005.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩精品不卡| 高清视频一区| 欧美乱大交xxxxx潮喷l头像| 日产中文字幕在线精品一区| 久久精品国产欧美亚洲人人爽| 国产免费一区二区视频 | 欧美亚洲伦理www| 国产精品久久不能| 欧美亚洲伦理www| 91久久久亚洲精品| 久久精品亚洲精品| 中文字幕欧美日韩一区二区| 久久久水蜜桃| 亚洲欧洲精品一区二区三区波多野1战4 | 国产成人av在线| 免费中文日韩| 色综合久久久久久中文网| 国产视频精品网| 亚洲欧洲一区二区| 国产精品一区免费观看| 欧美日韩一区二区视频在线观看| 在线不卡视频一区二区| 国产精品久久久久久久久免费看 | 久久久久国产精品视频| 福利视频久久| 久久国产精品久久久久V| 亚洲一区二区三区乱码aⅴ| 久久久久久久久久福利| 日本成人精品在线| 亚洲精品欧美日韩专区| 国产精品视频在线播放| 欧美在线欧美在线| 亚洲精品国产精品国自产观看| 国产精品久久久久久久av电影| 久久亚洲中文字幕无码| 色天天综合狠狠色| 国产mv免费观看入口亚洲| 国产精品一区二区三区免费观看| 欧美日韩999| 青青草原av在线播放| 亚洲精品在线视频观看|