《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 基于J2EE技术的远程教学系统设计

基于J2EE技术的远程教学系统设计

2009-01-14
作者:张玉强

引言 

随着科技的不断发展,传统的面授教学已远远不能满足当今社会教育的需要。Internet的不断发展与普及,为改革教育模式提供了契机。传统的面授教育模式受到地理空间,优秀教员人数与其他资源短缺等的限制。远程教育作为教学的一种辅助手段,是教学形式的一场革命。它利用现代网络技术,实现了教与学的交互性,远距离授课及有效的利用各种有限资源的能力。在远程教学过程中,教员与学员在空间上是分离的,因此需要通过Internet来实现这种交流。在传统教学中,一位优秀教员一次只能对几十个学员进行授课,而通过远程教学,全国各地成百上千个个学员都能有幸听到他精彩的讲课。要是实现以上目的,必须开发一个远程教学平台,以提供各种远程教学支持。 

系统设计原则 

系统设计首先应当符合实用性和通用性原则。也就是说开发出的系统应当符合用户实际需求,操作界面简单易用。而且应当采用最流行的开发平台和软件,和最通用的文件格式,使之具有通用性和实用性。 

系统设计应当符合的第二条原则是可扩展性和易维护性。由于用户需求有可能随时间而发生变化,可能需要增加新的功能,需要将新的更先进的技术融入其中,或某些地方需要予以完善和修正。具备可扩展性和易维护性的系统才是一个具有较长生命周期的系统。 

此外,系统设计还应符合安全性原则。对于运行于网络的系统,安全性是绝不可少的。一个缺少安全性的系统很难保证用户资源不受到破坏,用户机密信息不被窃取,有时甚至连系统正常运行都有困难。安全性是企业和用户利益的保障。 

为什么选用J2EE技术开发远程教学系统 

目前用于开发网络平台的技术有多种。比较著名的有微软的.NET技术和Sun的SUN ONE。J2EE技术是SUN ONE的核心。.NET技术理论上可支持多种语言,但它只能在Windows上运行。对于远程教学平台需要很高的稳定性与安全性,需要支持大量客户并行访问,此时客户可能选择Unix或Linux操作系统而非WindowsNT。而且虽然.NET中的有些技术(比如SOAP)是公开的机制,但它的核心技术都不公开。J2EE则可运行于任何有JVM的平台。J2EE的所有标准都是公开的,许多厂商都可提供兼容的产品和开发工具。在WEB应用程序的开发中,人有选用JSP与JavaBean相结合来开发,采用这种方法开发WEB应用程序比较简单,但它只适合用于开发中小型的应用程序。对于大型WEB应用系统,需要考虑处理大量对数据库并发访问的高效性以及很高的安全性,稳定性和可扩展性。这些都是采用JSP与Jav-aBean技术无法很好的实现的。 

使用J2EE平台开发具有以下优势: 

* 简化的结构和开发过程。 

* 适应各种变化要求的可伸缩性 

* 与先有信息系统的集成。 

* 对服务器、工具和组件的选择。 

* 灵活的安全模型。 

采用J2EE技术来开发远程教学平台,能更好地实现安全性与可扩展性,而且,所有EJB容器都提供对事务和EJB组件的生命周期管理的自动化支持。所以,采用J2EE技术开发远程教学平台是一个很好的选择。 

3  J2EE程序设计简介 

3.1J2EE平台简介 

J2EE的设计目的是提供对服务端和客户端的支持从而推动企业及企业众多层应用程序的发展。一般来说,这些应用程序都有一个客户层以提供用户界面,一个或多个中间层模块用来提供客户服务以及应用程序所要用到的商务逻辑,另外还有一个后端的企业信息系统用来提供数据管理。图1描述了组成一个典型的J2EE环境的各种组件和服务。 

3.2 EJB的设计 

J2EE平台的EJB层提供了一种标准服务器端分布式组件模型,它可以大大简化编写商务逻辑的任务。要使用J2EE平台提供的服务,商务对象必须由企业bean来实现。有两种主要的企业bean:实体bean和会话bean。 

实体bean的特性:表示持续数据、提供多个客户的并行访问、表示一个数据的逻辑性纪录、提供健壮的、可以长时间存在的持续性数据管理。 

      

有状态会话bean的特性:保存特定客户的状态、表示非持续性对象、表示商务对象间的工作流程。 

无状态会话bean的特性:模型化可重用的服务对象、提供高性能、同时对多行进行操作、提供数据的过程视图。例如,课程目录可设计为无状态会话bean。它可以查找数据库中有关课程目录的表,得到相应的课程目录,并将其显示给客户。 

使用MVC设计应用程序 

4.1MVC结构简介 

开发远程教学系统时,可采用MVC(Model-View-Controller)应用体系结构来分析分布式应用程序的特性。该抽象有助于将一个应用程序分割为更易于重构的逻辑组件。这种设计体系结构允许商务逻辑、数据和表示逻辑清晰地分离开来,也使内容提供者和应用程序开发者只需关注那些他们擅长的领域。 

* 模型是应用程序数据和用来改变这些数据的商务规则的一种软件抽象。一个模型可被所有的应用程序客户端共享。 

* 视图用来显示模型的内容。它访问来自模型的数据,并指定如何显示数据。 

* 控制器定义应用程序的行为,它解释用户的行为并把他们应射程可以由模型完成的动作。每个呈现不同功能的客户都需要单独的控制器。控制器维护模型中的数据,并确保视图所表示的数据于相应的模型一致。 

4.2使用MVC设计应用程序功能模块 

根据MVC设计思想,可设计跟学员有关的应用程序功能模块如图2。 

     

图2当中的Model部分包括了几个企业javaBean。根据EJB的设计原则,可将课程目录模块设计为Entity bean。每个课程目录实例对应数据库中课程表的一条记录。在线学习以及网上考试都应设计为有状态Session bean。因为每个学员都是根据自己的需要选择不同的内容学习,特定的用户有自己特定的状态,而且该状态只在用户进行该门课程学习时保持,当用户离开,也就是这一Session过程结束时,该状态不再有效,不需要将刚才的状态保存到数据库中,因此设计为Bession bean。网上考试同理。每个学员可根据自己的学习情况,选择适合自己深度的不同测试试卷进行测试。在线答疑模块可设计为无状态Session bean。不需要单独对每个学员设计自己的答疑状态,每个学员登陆该界面后,应该既可看到自己的答疑内容,也可看到别的学员的的疑问及解答,也许别人的问题也正是自己的问题。用户账号应当保存到数据库中,所以应为Entity bean。 

View部分包含了呈现于客户端的多个界面。用户选择不同的功能就会有不同的界面。这些界面可称之为视图。用户视图可用JSP来设计。在涉及时,可将界面的共同部分设计为一个或多个单独的模版,并使用JSP的include语句将其加入到界面相应的位置。如:<%include file='beader.JSP'%> 究竟当前应该选择显示哪个界面,则是由Controller控制的。Controller部分有一个专门用于控制视图的模块View Controller,它接收来自客户端的HTTP请求,将该请求的参数传递给另一个Controller模块EJBController。该模块根据参数调用Model中相应的模块,执行相应的动作,再将结果参数传递给View Controller,由它调用相应的JSP文件生成相应的视图。View Controller可由Servlet来实现,因此它应属于Web tier中。Servlet可以通过HTTPSession和Servelet Context对象保存应用程序状态,可以很方便的接收和传递来自客户端的HTTP请求。 

由于Model中有多个模块,使用Session Fa?ade可为客户端的调用提供一个统一的接口,它使得Model中的各模块的细节问题对于客户端被隐藏,增加了安全性,并使EJBController操作更容易。 

当跨层访问数据时,由于数据很多,会造成网络交通繁忙。为了减轻大量数据对网络线路造成的压力,可采用粗粒度访问数据的方法。即采用Value Object将相应的多个数据封装到一个值对象当中。设计Value Object时,应使其实现Seriliable,并将它设计得相对小一些,以减少额外的类带来的程序复杂度。 

目前数据库有多种,访问不同的数据库有不同的策略,对数据库的操作也有多种,比较复杂,尤其是当采用BMP设计数据库时更为复杂,应此有必要设计一个单独的类作为一个专门操纵数据库的工具。DAO的作用就在于此。 

结束语 

远程教学系统有着非常广阔的前景,必将对传统教学模式产生深远影响。基于J2EE技术的远程教学系统在稳定性,完全性和可扩展性方面都有着使用其他技术不可比拟的优势。远程教学系统是一个系统工程,本文针对开发系统应使用何种技术以及开发该系统的设计模式作了一些论述。本文仅在我们工作的基础上对这一问题作了初步的探讨,怎样更好地利用网络资源,怎样使教员与学员、学员与学员、教员与教员间的交流更为方便、快捷,怎样在远程教学中引入人工智能技术等等,这些问题还有待进一步研究。对于如何更好地利用网络资源,如何使远程教学实现智能化,使教员与学员、学员与学员、教员与教员间的交流更为方便,这些问题还有待进一步研究。 

参考文献 

1.Mark Johson J2EE Platform Design Patterns for Enterprise Applications JWEE BluePrints Sun Microsystems,Inc 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。