网络课程MIS的Java实现

(整期优先)网络出版时间:2010-12-22
/ 3

网络课程MIS的Java实现

钱程

钱程宿迁高等师范学校

【摘要】Java高级语言作为最有前途的编程工具,具有面向对象、以网络为中心等特点。网络课程资源管理系统采用Java高级语言作为开发工具,结合网页技术HTML、JavaBean、JavaServlet、JSP设计完成,在与网络的融合中显示出极大优势,使网络课程系统的应用成为现实。

【关键词】JavaEEB/S三层模式资源积累

【中图分类号】G642【文献标识码】A【文章编号】1674-4810(2010)12-0023-03

现代电子技术与通讯技术的结合,把学校教育推进了一个全新的信息环境——网络环境。网络也被称为“信息高速公路”,它从根本上改变了传统信息交流方式,给传统教与学带来了挑战与机遇,给新一轮课程改革提供了课程资源优化组合的崭新平台。一方面,目前各高校纷纷加强自身网络课程资源建设,如精品课程建设、优秀教学课件建设、FTP课程资源建设等等。但是在资源数据的存放、检索、提高利用率等方面还存在许多问题,加上缺乏统一有效的资源管理平台,各高校网络课程资源的建设受到了很大制约。另一方面,对自建网络课程资源的管理、整合方面也是近几年研究的热点,而开发一个良好的网络课程资源管理系统(以下简称系统),将有利于高校自身网络课程资源的建设与发展。

一系统技术优势

随着软件开发结构的不断发展,出现比较流行的B/S结构,同时软件框架结构方面也在不断发展,目前在多层应用结构方面采用JavaEE技术和.net技术的不同解决方案,二者各有优缺点,分别适用于不同规模系统的要求。在诸多解决方案中,本系统选择了基于JavaEE技术的三层B/S结构解决方案,如图1所示。

这种模式在逻辑上将应用功能分为三层:表示层、业务逻辑层、数据持久层。

1.系统三层介绍

表示层:表示层是为用户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务。主要是uI元素,如HTML、JavaScrip、呈现数据和收集数据。这一层就是把从数据库中提取出来的数据用jsp、html、shtml页面的形式显示出来。业务逻辑层:该层从数据操作层中获取并组织表示层要呈现的数据,处理表示层收集过来的数据并传递给数据持久层持久化。如输入的数据的验证、数据的输出、页面流程管理,安全和访问控制管理等问题的解决都在业务逻辑层。在javaEE中用Javabean进行业务逻辑和事务的处理。数据持久层:该层是三层模式中最底层,它用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。它把业务层处理后的数据保存到一个持久的数据库中,同时可从数据库中取出数据给业务层,即把数据永久储存在数据库中。

2.JavaEE技术

目前,JavaEE技术主要包括JavaServerFaces(JSF)、EJB3.0、Web服务、SOA及其他一些内容。

(1)JSF。它是一种用于构建Web应用程序的新标准Java框架。它提供了一种以组件为中心来开发JavaWeb用户界面的方法,从而简化了开发。强健的JSFAPI为开发人员提供了无与伦比的功能和编程灵活性,JSF技术在本系统中的应用还确保了应用程序具有更高的可维护性。

(2)EJB3.0。在本系统中,尝试使用最新的EJB3.0来实现业务逻辑与数据持久层的开发。由于EJB的复杂性,使其在J2EE架构中的表现一直不是很好。EJB大概是J2EE架构中唯一一个没有兑现其能够简单开发并提高生产力的组件。而EJB3.0规范在这方面做出努力以减轻其开发的复杂性。EJB3.0取消或最小化了很多回调方法的实现,并且降低了实体Bean及O/R映射模型的复杂性,从而大大减轻了开发人员进行底层开发的工作量。

(3)Web服务。Web服务是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。它是处理异构的应用相互通信的一种协议。

(4)SOA(service—orientedarchitecture)是一种企业信息管理应用框架,它着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的“服务”。形象地说,这些“服务”就像大小不一的玩具中的积木,它们间的灵活组合可适应不同的业务敏捷管理需要。

二系统工作原理

为了实现系统的功能,在三层模式设计的基础上,设计时考虑到各种用户的需求,同时也注意到实用性、安全性、交互性、操作简易性以及个性化与界面友好性,在参考其他相关平台的基础上,结合高校实际情况,确定了系统的体系结构,主要模块的功能见图2。

第一,教师自建课程模块。该模块的功能是管理各专业教师在经过审核后自建的各种网上课程,学生在此模块中能够进行相应的专业学习,能够与其他学习者及相应的教师进行探讨并进行相关的学习活动。

第二,精品课程模块。此模块用列表形式展示了国家级、市级、院级等精品课程,访问者可以点击进入,查看课程基本信息及相应的课程网站。

第三,FTP资源模块。管理海量网络课程资源部从网络收集、下载及整理过的课程、音频、视频等教学资料,用户可以方便快捷地从此模块中获取大量的学习资料。

第四,其他教学资源模块。在此模块中,汇集了学院相关的大量教学课件、教案、案例及试卷等资料。目的是为广大教师提供相应的教学参考,拓宽学生的知识面。

第五,优秀教师模块。该模块全方位介绍学校优秀教师的风采,包括教师信息、获奖情况、教学成果、教学音频、视频及图片等等。教师可随时更新个人各种相关资料,可以申请开办网络课程,同时有专门的能与学生进行资源共享与交流的空间。除以上几个主要模块外,还要及时向用户提供动态信息的新闻与公告模块,以及用户与网络资源部进行咨询与交流的模块。

三系统设计

1.系统开发环境与性能控制

根据实际需求,在采用三层模式的基础上,系统后台采用SQLServer2000数据库,开发环境为:Windows2003Server+java+ApacheTomcat6.0。系统秉承开放性、共享性、兼容性等特点,在校园网内,可以使用户享受到更加方便、简单、快捷的服务。

在系统性能控制方面,用到了Oscache与unSession等性能提高机制。其中,(1)Oscache:Oscache标记库是一种开创性的JSP定制标记应用,其提供了在现有JSP页面之内实现快速内存缓冲的功能。Oscache能够在任何JSP1.2兼容的服务器上运行,不仅能够为所有用户缓冲现有JSP代码块,而且能够以用户为单位进行缓冲。Oscache还包含一些提高可伸缩性的高级特性,如缓冲到磁盘、可编程的缓冲刷新、异常控制等等。Oscache是一种用于提高系统响应速度、改善系统运行性能的技术。在本系统中,通过缓存页面的输出结果,显著地改善了系统运行性能。(2)unSession(伪会话管理机制):HTTP是一种无状态的协议,它意味着Web应用并不了解有关同一用户以前请求的信息。维持会话状态信息的方法之一是使用javaServerlet或者JSP容器提供的会话跟踪功能,将用户的会话保存在服务器的内存中,这样比较容易实现也比较容易管理,但是对于大量的Session驻留在服务器的内存中无疑占用服务器的大量资源,使其降低响应速度。而对于伪会话管理机制,对象或者值不存储在内存中,而是在文本文件中;每个文本文件和一个用户相关联,文件名是会话标识符,因此文件名是唯一的;这些文件存储在一个所有的Web服务器都可以访问的目录中,所以伪会话可以在一个Web群中使用;会话标识符不以Cookie形式发送,而是对URL进行编码,需要重写所有的连接,包括HTML表单中的ACTION属性。

2.资源积累及使用流程

整个系统设计的过程中,重点在于系统资源积累与使用流程的设计,整个资源积累及使用流程如图3所示。

此外系统还在开放与共享方面进行了设计,在系统运行过程中能与其他资源系统共享彼此之间的各种资源数据。结合网络课程资源管理工作的实际情况,在整个系统中,设计了4种用户:

(1)系统管理员。系统具有最高权限的用户,能对系统进行初始化设置、管理与分配其他类型用户权限、统计各种系统信息、进行安全管理等等工作。

(2)资源管理员。网络课程资源管理系统的重点在于资源积累及保证资源可用性,因此,系统中引入了一类特殊用户——资源管理员,这是一类特殊用户,由系统管理员分配指定。资源管理员日常及时调查统计学院各种现有资源使用情况,及时收集学生用户对网络教学资源的需求情况,在登陆系统后对系统资源进行管理,对由教师上传到临时资源库中的资源进行审核,审核临时资源的合法性、合理性及有用性,只有审核通过的资源才对学生用户开放。在做审核工作的同时,资源管理员还积极收集、整理、制作各种资源,并录入管理系统。

(3)教师用户。拥有访问资源的权限,同时能对自身信息进行维护编辑,可以向系统申请建立网上课程并上传相关教学资源,解答学生用户的各种问题。

(4)学生用户。注册登陆后使用系统全部开放资源,可以在教师设立的网上课程中与教师、同学进行交流。

3.系统应用程序安全性设计

用Java开发的系统应用程序基于JavaEE技术、Web技术,采用HTTP协议,通过JDBC访问数据库,访问数据库及整个系统功能都体现在每个页面上,系统功能实现靠所有页面的相互调用。但是,由于页面的无记忆性和独立性,页面访问实际是通过URL实现,如果程序不对每个页面进行合法性检查,非法用户即使不知道用户名和口令,同样可以通过键入URL跳过登录检查直接访问和数据处理相关的页面,进而入侵系统的核心数据库。因此,在严格进行用户权限控制的同时,为保障数据库应用程序的安全性,有必要采用某种访问控制策略,对访问者身份施以一定限制,以防止非法用户的欺骗行为。由于用户访问数据库必须经过Web服务器,这就使应用程序可以通过一定的方法控制页面访问,保证用户只能在总控程序引导下访问数据库及系统信息。首先考虑的问题是:虽然在登录页面设置了访问数据库应用系统的用户名、口令,但当非法用户企图直接在浏览器键入系统中某个页面的URL而直接进入页面时,尚不知如何将其重新定位到登录界面。为解决这个问题,在系统中设计了当一个客户首次访问服务器上的JSP页面时,JSP引擎产生一个Session对象。Session代表用户的会话过程,用户登录时,向Session中传入一个对象,即可跟踪用户的会话;用Session对象来保存特定用户的会话信息,即便该用户从连接该服务器的一个页面跳到另一个页面,或从该服务器连接到其他服务器再回到该服务器,该会话信息仍然存在。Session对象在客户端首次发出请求时建立,直到客户关闭浏览器后,服务器才将该Session对象撤销。并且每个用户的Session都是独一无二的。

四结束语

本文提出了一个基于JavaEE技术三层模式的网络课程资源管理系统的设计方案,该方案实现了表示层和业务逻辑层的分离,使得系统具有很好的扩展性,提高了系统的可维护性、可复用性及安全性;同时,也给高校资源建设及相应MIS的开发提供了一个可行的思路和方法。随着Web2.0时代到来,信息的膨胀,优秀的网络课程资源管理系统将成为高校在数字化建设过程中提高自身资源建设的有效手段。

参考文献

[1]孙晓龙、赵莉.JSP动态网站技术入门与提高[M].北京:人民邮电出版社,2001

[2]黄理、洪亮、曹林有、张勇等.JSP高级编程[M].北京:北京希望电子出版社,2001

[3]BRUCEECKEL.Java编程思想[M].北京:机械工业出版社,2007