摘 要:J2EE是一种多层的开放的用于开发、部署和管理的一项中间件技术,通过它的EJB组件,能够实现具有高度的可重用性、可扩展性和可移植性的组件应用程序。基于J2EE的网络远程教学系统平台开发与设计相对于其他系统具有明显的优点。本文探讨了如何使用J2EE技术进行一个网络远程教学系统平台的构建过程,构建的平台具有很好的易维护性、可扩展性、互操作性、稳定性和灵活性。
关键词:J2EE;网络远程教学系统平台;EJB;开发;设计
1 J2EE技术概述
1.1 J2EE技术
J2EE(Java2 Enterprise Edition)是一项中间件技术,由Sun公司推出,J2EE能够简化和规范多层分布式企业应用系统的开发和部署。Java平台或Java2平台的标准版J2SE是J2EE技术的基础,J2EE不仅巩固了J2SE中的“编写一次、随处运行”的特性等许多优点,而且还提供了对许多流行技术的全面支持,例如,Java Servlet API、JSP (Java Server Pages), EJB (Enterprise JavaBeans)以及XML等。J2EE技术的最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上,如图1所示。J2EE的体系结构可以分为客户层、J2EE服务器层和企业信息系统(EIS)层,其中,J2EE服务器层又可以分为Web组件层和业务逻辑层。
图1 J2EE体系结构
鉴于J2EE的这种分层结构的特点,笔者用J2EE标准的分层体系结构来搭建PLM构件库管理系统,开发的源码级构件也都基于J2EE的构件模型,符合Java语言语法的规范,提高了系统的开放性、灵活性和可维护性。
更细一些,可以将 J2EE 系统的体系结构分为 5 层,下面的表格描述了各个层次与功能、实现技术之间的对应:
表 1 J2EE 体系中各层次与功能、实现技术对照表
层次 功能 实现技术表示层 用户界面显示JSP/Applet/Java GUI/Html等控制/中介层 负责程序流程Servlet/JSP/Struts中Action等领域层 体现业务逻辑 Java Beans/Session Bean数据映射层封装数据操作提供统一接口EntityBean / JDO / Hibernate / JDBC 等数据源层 存储企业数据关系数据库、数据源 在实践中,根据具体情况,可以将领域层,也就是业务逻辑层再划分为几层,这样就形成了 J2EE 的 N 层体系结构。这种分层体系结构具有许多优点,使得各层之间接口清晰,实现了上下层的相对独立,同时只通过接口完成各层之间的调用,对于其中任何一个层次上逻辑实现的修改都不会影响到其它的层次。
1.2 J2EE对XML的解析技术
在J2EE架构中访问XML,将强大系统架构和高度灵活的数据管理方案相结合,形成了一个强大的数据共享和处理的平台,并将其用在PLM构件库管理系统中,进而增强了系统的开放性、可移植性、可维护性。
Java有四种XML解析技术:DOM、SAX、JDOM和DOM4J。DOM 解析器把XML文档转化为一个包含其内容的树,但它需要处理整个XML文档,在处理较大的XML文件时,对计算机性能和内存的要求比较高;SAX解析器采用了基于事件的模型,分析能够立即开始,而不是等待所有的数据被处理,应用程序只是在读取数据时检查数据,这对于读取大型文档来说是个巨大的优点;JDOM可以对程序行为的进行相当广泛的检查以防止用户做任何在XML中无意义的事,简化了与XML的交互并且比使用DOM实现更快;DOM4J的目标与JDOM是一样的,但DOM4J大量使用了API中的Collections类,付出了更复杂的API的代价,并且比JDOM 更少强调防止不正确的应用程序行为。
综合比较了这四种解析器的特点,为了使基于J2EE的网络远程教学系统平台在运行时获得更好的性能,笔者采用更灵活、更易使用的JDOM实现对数据层的访问,例如,添加、删除、修改等。
2 基于J2EE的网络远程教学系统平台的功能
2.1 网上教学支持系统功能设计
通过网上教学支持系统,能够提供远程教学服务。网上教学支持系统以网络课件为核心,以教学管理系统的支持为基础,对学科资源进行合理有效的利用,为现代远程教学提供实时的和全方位的服务。网络课件与学校的远程服务通过网上教学支持系统能够进行有机的集成,有利于学生的学习以及师生之间的互动,网上教学支持系统具体包括以下几个子功能。
(1)信息发布。向教师和学生及时发布有关学校教学工作安排等各种教学活动的最新信息。
(2)问卷调查。用户登录系统之后,可以浏览问卷调查,进行问卷调查的填写和提交,同时能够实时查看问卷调查的结果,并且可以由系统自动生成问卷调查表。
(3)自测评估。用户可以按照自己的需求从题库中自动抽取试题并进行随机自动组卷,进行自动测试,并且可以自动判卷,还可以对测试过程控制系统进行设置,使学生能够随时检测自己的平时学习情况,对于自身某些方面知识的不足进行有针对性的弥补。
(4)虚拟现实。采用虚拟现实模型语言,可以为学生安排虚拟教室和座位,进行电子作业的布置,给学生登记成绩与考勤,这样,使学生的学习兴趣得到提高,从而提高了学习效率。
(5)在线点播。用户可以对分类的视频资源进行搜索,教学视频资源通过在线播放器进行播放。
(6)协同学习。根据不同的口令将其用户分为若干个社区,在每个社区内,都有相关的讨论和学习的资源,学生在社区内可以交友,并可以进行协同学习、共同进行讨论和交流,并且建立自己的学习空间和日志,同时可以利用虚拟现实技术模拟社区空间等。
(7)在线考试。可以进行个性化组卷,答卷时间可以根据用户的需求进行设定、考试完毕后答卷可以自动存档、所有成绩和答题信息自动记录,同时考生可以查询自己的考试成绩,并查看正确答案(可选项)。
2.2 网上教学管理系统功能设计
整个远程教育工作的一个重要内容就是网上教学管理,通过网上教学管理系统进行各部门的教学工作的协调和组织。该系统具体包括以下几个子功能。
(1)课程管理。包括课程的设立和安排、课程考核、课程相关人员的权限和口令设置、信息查询等。与课程相关的设施也可以分配建立,例如,作业的下载和提交、作业疑难问题的解答、成绩管理和学习进度管理等。同时,可以通过数据库报表,灵活地为教员和管理人员提供所需课程时间安排、成绩、作业量等的各种统计信息。
(2)学籍管理。包括学生的注册情况、每个学生所选的课程的记录、每个学生在每门课程的得分情况的记录等。而且提供了学生的学费支付方式的选择,例如,现金或者网上银行等方式。
(3)系统管理。能够进行各类用户的添加及删除设置,包括:部门管理、用户管理、权限管理、模块管理、角色管理、账户修改、数据备份和数据还原等。
(4)安全管理。通过基于角色的访问控制,使用户对系统、数据和服务的合法访问得到保证。
3 业务层中EJB 的设计
基于J2EE的网络远程教学系统平台利用J2EE技术,并且采用模型-视图-控制器(MVC,Model-View-Controller) 的模式进行系统的设计与实现。平台实现了业务逻辑和表现逻辑的分离,能够对系统资源进行合理有效的管理。平台的整体架构包括下面四层。
(1)客户层。平台的客户层使用Web 浏览器。
(2)Web 层。在Web 层实现了平台所有的用户界面的开发和简单的业务逻辑。考虑到能够将JSP嵌入到HTML中,并且这种方式具体使开发更加容易、产生的用户界面更加灵活等优势,因此,基于J2EE的网络远程教学系统平台采用JSP 实现用户界面,而一般采用Servlet 来开发简单的业务逻辑,对用户的查询等请求进行响应,并且复杂的业务逻辑通过调用业务逻辑层的JavaBean 组件来实现;
(3)业务逻辑层。主要通过JavaBean 组件的开发来实现业务逻辑层。通过实体Bean 的使用,可以表达数据库中的数据,从而完成对数据库的访问。实体Bean 访问数据库的方式是通过JDBC,进行数据记录的插入、修改、查找和删除等基本操作。
(4)数据层。数据的存储管理、安全性管理和完整性管理等各种数据库服务由数据层负责,同时,数据层中存放着系统中的持久性的数据信息。
平台采用浏览器服务器模式。一般来说, 通过浏览器,客户发送HTTP 请求给服务器端的Web 服务器, 该请求由Web 服务器接收到之后,由Web 服务器进行相应的处理,然后Web 服务器返回将处理后的结果给客户的浏览器。在客户端,浏览器中呈现的正是基于J2EE的网络远程教学系统平台的视图部分.
基于J2EE的网络远程教学系统平台将JSP与Servlet进行了很好地结合使用,由JSP将用户提出的httpRequest发送给Servlet, 根据不同的请求类型,Servlet分别对其进行不同的处理,并选择不同的操作模块。例如,对数据库的基本操作如插入、删除、查询、修改等,由Servlet 处理完这些比较复杂的请求之后,选择特定的JSP 页面将最后的处理结果返回给使用者,这样,JSP页面仅仅起到了视图的作用,并没有进行逻辑上的运算,只是展示给用户从控制器传过来的资料。
JavaBean 组件是业务层,从Servlet 传来的请求由它们负责接收,并且由JavaBean 组件进行处理,例如,进行连接数据库执行查询等操作。将JavaBean 组件称为平台的模型(Model) ,而将Servlet称为控制器。
4 结束语
在对J2EE 组件技术和MVC设计模式的深刻掌握和理解的基础上, 笔者结合基于J2EE的网络远程教学系统平台开发与设计经验,对平台进行了探讨,通过J2EE技术的使用,简化了该平台系统的开发、管理和维护,使得系统的开发效率得到了提高,充分体现出J2EE体系结构的优势。
参考文献
[1] 唐爱国,罗新密,杭志. 基于J2EE网络教学平台的研究与应用[J]. 计算机技术与发展, 2009,(06) .
[2] 王爽,房鼎益,陈晓江. 基于J2EE的网络考试系统设计与实现[J]. 计算机技术与发展, 2008,(10) .
[3] (美)Nadir Gulzar.实用J2EE应用程序体系结构.清华大学出版社,2003.
[4]Enterprise JavaBeans 1.1 Documentation,http://java.sun.com/products/ejb/does.html.
[5] 陈筹, 林映遂. J2EE技术在构建远程教学系统中的应用研究[J]. 科技信息, 2006,(S4)
[6] 刘桓,丁颖. 一个远程教学系统的总体实现方案[J]. 计算机工程与设计, 2005,(04) .
[7] 李华,张强善. 基于J2EE平台的高校网上教学及考试系统的设计与实现[J]. 中国教育信息化, 2007,(15) .
[8] 王志洁. 浅析远程教学系统的分析[J]. 电脑知识与技术, 2010,(12).
[9] 李华,张强善. 基于J2EE平台的高校网上教学及考试系统的设计与实现[J]. 中国教育信息化, 2007,(15) .