基于J2EE架构的实验教学与评估系统的建设与应用
2013-06-23周立军王丽娜
张 杰,吕 红,周立军,王丽娜
(海军航空工程学院 基础实验部,山东 烟台 264001)
信息技术的快速发展为实验教学改革提供丰富资源和技术支撑,加强信息化条件下教学条件建设,是新形势下培养高素质新型军事人才,实现军事教育训练向信息化转变的关键所在,高素质新型军事人才不仅要具备扎实的理论基础和专业知识,还必须具有较强的动手操作、综合分析和创新能力,而这些能力均可以通过实验教学获得,由于实验教学具有面向学生开放实验、支持以实验项目为实施单元、实验过程实时反馈等特点,使得传统按照班级集体上课模式的教务软件针对实验教学过程变得异常艰难[1]。
1 系统建设目标
建设实践教学与评估系统的目的旨在遵循计算机实验教学的规律与特点,运用现代信息技术改进实验教学实施过程,增强开展实验教学效果,促进实验室各项工作的改革和发展,将原先独立、孤立分布的实验室软硬件资源实现互联与共享,为实验室各项业务活动提供信息支持,把实验管理、实验教学实施、实验开放与创新结合成一个有机整体,全面协调与综合使用实验室资源,为实验管理、教学与科研提供有力全面支撑。
2 系统建设内容
要实现计算机实验课程在时间、空间、过程的全方位、深层次开放,必须有网络信息平台的有效支撑,根据我院的计算机实验室实际情况,我们逐步建成并完善了计算机硬件接口虚拟实验室、计算机网络课程学习平台,引入实验室机房管理系统,独立开发完成计算机实验考试系统。然而上述平台相对孤立、数据冗余严重,无法实现共享,同时为了更好的利用实验室资源,把设备、教师与学生结合成实验教学的有机整体,把分散的信息、直观的推测和解决的问题,提高到系统观察、系统信息、精确数据加工及解决综合问题的水平[2],同时实验教学与评估系统能够解决计算机实验数据难以完整记录在实验报告中的问题,根据学生各个实验项目开张情况综合评估给出考核结果。
2.1 系统部署模型
实验教学与评估系统依托校园网络,采用B/S架构,学员通过浏览器HTTP请求Web应用服务器,服务器集中处理学员请求,通过身份认证后,返回并显示相应的网页。实验室计算机使用内部局域网,通过路由器与Web服务器相连。学员上机考勤数据来源于实验室先前部署的机房管理系统(C/S架构),学员实验考试分数通过计算机实验考试系统获取数据(ASP程序),实验教学与评估系统与各个分系统之间通过REST Web服务模块实现[3],请求与处理的数据以Json或Xml数据交换格式为主。
图1 实验教学与评估系统整体规划Fig.1 Planning of experimental teaching and assessment system
2.2 系统功能
图2 实验教学与评估系统部署模型Fig.2 Deployment model of experimental teaching and assessment system
系统功能包含6大模块,其中;基础信息管理是实验教学与评估系统的基础部分,它管理班级、学员、教员、课程、实验室等基本信息,这些信息数据的修改和删除必须遵循数据的一致性原则;综合检索模块提供常用的信息查询与汇总,其他信息的检索可在各个模块中操作;学员实验模块是为学员在计算机实验过程中提供的功能,如课件下载、作业提交,选课信息、课程安排等,通过上述功能学员能够提交电子版作业(附件形式),从而解决计算机程序设计代码、Office文档作业难以通过纸质文档提交的难题;课程管理模块主要针对课程进度安排表以及实验室预约进行管理;考核模块是本系统的核心部分,该模块包含考勤信息、作业管理、成绩管理等功能,其中,成绩管理部分将汇总统计出学员该门课程的出勤、作业提交、网络课程学习、计算机实验考试等信息,供教员对学员成绩打分提供依据;系统管理模块是整个系统安全运行的保障,通过角色与权限的配置,用户(教员)根据授权对系统功能点进行操作,数据导入导出主要包含了系统数据的备份与还原以及报表的定向输出,Web服务模块是与其他子系统交互的接口。
图3 系统功能框图Fig.3 Diagram of system function
2.3 软件设计架构
实验教学与评估系统采用Struts MVC框架,同时整合J2EE轻量级框架Spring与Hibernate,Struts主要负责用户请求的调度[4],IOC容器Spring处理业务逻辑,持久化工具Hibernate为关系型数据库和面向对象技术做映射,3种框架在标准化和规范化方面优势突出,并且各个框架之间提供了良好支持[5]。
图4 J2EE框架整合示意图Fig.4 Integration of J2EE framework
为了更好的提高系统的用户体验,尤其是富因特网应用(Rich Internet Applications,RIA)技术的出现,它具有很强交互,能够给用户提供一个更高和更全方位的网络体验。RIA集成了桌面应用的交互性和传统Web应用的部署灵活性与成本分析,以创建单一而完整的用户体验;因此,本系统在表示层实现上又采用ExtJS Ajax框架,ExtJS不但在Web开发中成功引入了丰富的组件,也引入了桌面程序中经常用到的面板及布局概念,这些概念的引入在很大程度上改变了传统的Web开发方式,Ext2.0对框架进行了非常大的重构,其中重要的一点是形成了一个结构及层次分明的组件体系,由组件形成Ext的控件。
使用ExtJS框架整合Struts Web应用时,只需要对DispatchAction进行改写,假定遗留的Struts Web系统使用了Spring、Hibernate框架,那么DispatchAction中应该不包含任何的业务逻辑代码,只需在DispatchAction处理请求结束之前返回ExtJS所需要的数据格式,不再需要forward跳转到struts指定的页面。
图5 采用ExtJS开发的系统界面Fig.5 System interface based on ExtJS
ExtJS用Ajax传送数据的格式主要包括Xml和Json格式,其中,Json(JavaScript Object Notation)一种简单的数据格式,比Xml更轻巧。是JavaScript原生格式,这意味着在JavaScript中处理Json数据不需要任何特殊的API或工具包。
使用ExtJS框架整合Struts Web应用步骤及编程实现如下:
1)使用ExtJS界面布局Ext.Panel、Ext.Form以及其他的组件改造原始的Jsp或者Html页面。
2)对请求的DispatchAction进行改造,最重要的操作是直接向HttpServletResponse里写Json格式的内容,示例代码如下:
httpServletResponse.setCharacterEncoding(“UTF-8”);
String jsonData=“{success:true,data:{name:‘JACK’,phone:‘13800000000’,dep:‘1队’,email:‘jack@163.com’}}”;
httpServletResponse.getWriter().write(jsondata);
return null;//区别于Struts返回ActionForward,此处返回null
其中:jsonData为Json格式的数据,success和data是关键字,success必须设置为true,Ext.form通过success的值显示获取“个人简表信息”成功。
3)获取“个人简表信息”成功后,可以对表单项进行修改并点击保存,提交给DispatchAction,在服务器端获取参数方法如下:
String name=httpServletRequest.getParameter(“name”);
3 实施效果
通过实验教学与评估系统,充分利用Web信息技术,将实验教学中的各个要素(教员、学员、实验内容、实验环境)有机集合起来,实验场地不仅仅局限于实验室,可以延伸到任何网络能够联通的地方[6],如寝室、电子阅览室等场所,甚至融入到学员的日常学习生活中,学员能够实时与教员进行沟通,并对实验内容以及实验任务进行持久化存储,有助于复习与回顾。
系统实施以来,学员在实验课上积极完成实验任务,通过附件的形式进行作业提交与实验总结,不再限于实验报告的书写,提高了实验任务的完成质量,同时,缺勤的学员可以通过系统下载课件自主完成实验任务,并远程提交作业,不再受限于实验室内进行,消除了部分学员缺席实验导致的不利因素。
4 结束语
文中根据计算机实验课程的特点,结合现有的实验管理软件平台,提出了一种基于J2EE架构的实验教学与评估系统的建设方案,系统采用轻量级的J2EE框架,在软件设计上实现了分层模式,通过配置文件或面向接口的编程方法降低了各个模块代码之间耦合度,使系统具有刚好的扩展性,为后续系统二次开发提供了有力支持。
通过本系统提供的功能模块,教员可以掌握课程安排与实验室预约信息、学员进行实验的考勤信息与作业完成情况,同时,使用系统提供REST的Web服务能够获取学员上机实时运行的计算机程序列表(数据由机房管理系统以Json格式提供),全程掌控学员上机实验的整个过程;系统核心模块是实验考核部分,教员可依据系统汇总统计的学员该门课程的考勤信息、作业提交、网络课程学习情况、计算机实验考试分数等信息给出成绩,通过该系统的实施可大大提升计算机实验教学的实施效果,强化实验过程中学员与教员的沟通,辅助提高教员对学员实验过程掌控能力。
[1]张昕明.高校实验室综合管理系统的设计与实现[J].实验技术与管理,2009,26(12):91-94.ZHANG Xin-ming.Design and implementation of integrated management system of laboratories in colleges and universities[J].Electronic Design Engineering,2009,26(12):91-94.
[2]潘信吉.高校实验室开放管理系统的研究与应用[J].实验室研究与探索,2009,28(9):143-146.PAN Xin-ji.Research and application of laboratory open management system of universities[J]. Research and Exploration in Laboratory,2009,28(9):143-146.
[3]刘志都.SOA在校际资源共享中的应用研究[J].计算机应用研究,2009,25(9):2721-2723.LIU Zhi-du.Application and research of SOA in interscholastic resource share[J].Application Research of Computers,2009,25(9):2721-2723.
[4]张永.基于Struts架构的教学辅助系统的设计与实现[J].微计算机应用,2007,28(1):104-107.ZHANG Yong.The design and implementation of a teaching system based on struts framework[J]. Microcomputer Applications,2007,28(1):104-107.
[5]张杰,杜玉越.基于OFBiz与J2EE的水利水电应用系统的设计[J].山东科技大学学报,2009,28(1):83-88.ZHANG Jie,DU Yu-yue.Design of water conservancy and hydropower application systems based on OFBiz and J2EE[J].Journal of Shandong Univ of Sci and Technol,2009,28(1):81-88.
[6]罗家奇,徐云生.实验室网络信息化管理探讨[J].实验室研究与探讨,2008,27(5):74-76.LUO Jia-qi,XU Yun-sheng.Information management system of laboratory based on network[J].Laboratory Research and Exploration,2008,27(5):74-76.