隨筆 - 24  文章 - 6  trackbacks - 0
          <2005年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          隨筆分類(23)

          積分與排名

          • 積分 - 13828
          • 排名 - 2083

          最新評論

          基于J2EE框架的模擬考試系統

          Bromon原創 請尊重版權

          一、系統概述

            本系統擬實現基本的網上模擬考試功能,包括學生登陸、在線考試、教師登陸、在線閱卷等模塊。

          二、設計目標

            系統除了包含最基本的在線考試功能外,最主要的目的是演示J2EE框架的完整應用,包括jsp/servlet、java web start、消息Bean、會話Bean、實體Bean等J2EE框架中最核心的技術。系統中大量使用了設計模式中的工廠模式、單例模式、委派模式,以及J2EE核心模式中的DAO模式和Session facade模式,保證了系統的可擴展性和可插入性。

            本系統針對不同的模塊,使用了CMP和Hibernate兩種OR映射,也試圖通過使用本地接口和異步通信等手段優化系統性能。目標是使本系統在保證性能的同時,具有清晰的層次結構,以及良好的伸縮性和擴展性。這樣的設計可能比較瘋狂,理論價值大于實際價值。

          三、方案描述

            系統大致結構如下圖:
          user posted image

            系統使用了CMP對examer.student(學生數據表)、examer.teacher(教師數據表)、examer.examin(考試數據表)進行了映射,原因是這些數據結構相對簡單,數據單純,不需要進行非常復雜、多樣的查詢,系統對數據表的操作不頻繁,通常情況下對性能不敏感,故采用了CMP。CMP中只提供最基本的查詢方法,所有的程序邏輯都封裝在對應的會話Bean中,會話Bean和CMP一同部署,故可以采用本地接口訪問實體Bean,提高效率。客戶端僅僅與會話Bean進行交互。該設計的好處是隱藏了數據邏輯,MVC的結構非常清楚。后期的數據維護也比較簡單。

            系統使用Hibernate框架對examer.question(試題數據表)進行映射,原因是該表格比較復雜,需要進行復雜多樣的查詢,Hibernate框架可以提供更加靈活的查詢,便于擴展。同樣的,Hibernate自身不含有商務邏輯,程序邏輯由對應的會話Bean封裝,保證多層的隔離。由于系統可能會對底層數據表進行較為頻繁的訪問,所以可以考慮更改實現方式,由會話Bean直接使用DAO模式訪問數據表,提高系統效率。

            對于examer.answer(答案數據表),系統沒有采取OR映射。原因是這個表格的數據保存學生的答題情況,在考試的過程中,該表格會被頻繁操作,但是操作多是單向的(添加新數據),進行查詢的時候不多。針對這個特點,系統采用消息Bean+會話Bean,使用DAO模式直接訪問數據表,通過使用J2EE的消息服務提供了一種異步調用機制,保證數據安全可靠,同時效率又得到極大改善。

            由于系統采用EJB開發,所以客戶端豐富多樣,既可以是基于瀏覽器的jsp/servlet,也可以是基于awt/swing/swt的桌面應用程序。為了便于多系統的集成,系統將EJB部署到Axis,提供web service接口,便于其他平臺、其他語言的應用程序訪問。

            本系統的Model與control已經全部完成,view部分尚未開工。

          posted on 2005-03-28 13:53 Sometimes Java 閱讀(316) 評論(0)  編輯  收藏 所屬分類: Tech Flow
          主站蜘蛛池模板: 昌江| 四川省| 恩施市| 泰宁县| 枣阳市| 南康市| 安图县| 彭山县| 松原市| 山东省| 若尔盖县| 哈巴河县| 安图县| 额尔古纳市| 霸州市| 保亭| 葵青区| 措美县| 从江县| 吴川市| 遂平县| 昆山市| 深州市| 万盛区| 滕州市| 肥乡县| 剑阁县| 丰城市| 南华县| 泗洪县| 华宁县| 盱眙县| 双牌县| 江城| 乌兰浩特市| 扎赉特旗| 万载县| 宁津县| 吉首市| 凤冈县| 金川县|