李芝兴 文海家
摘要:本文将分析利用JavaEE技术实现基于Web的精品课程网站发布及评审平台的设计思想、系统组成以及阐述本系统所用到的技术,这些技术包括了Tomcat Web服务器、Serv-u文件服务器、Mysql数据库服务器、Hibernate、Struts、Spring、ODBC、JDBC、Proxool、JavaBean、Jsp、Servlet等开源技术,并进一步分析系统的搭建和技术组成。
关键词:精品课程评审网站;文件服务器;Web服务器;三层框架;批量上传下载;JavaEE
中图分类号:G642 文献标识码:B
随着我国高等教学改革的开展和深入,国家教委、市教委和校教务处对课程,尤其是精品课程建设加大了投入力度。以评促建、以评促改已蔚然成风,教学资源和教学质量也得到了明显的改善。我校也非常重视精品课程的建设,在引入上海复秦公司的精品课课程评审及搭建技术后,我校的精品课程得到了大力的发展。但随着教学教改要求的不断提高,旧的网站技术已经不能满足新的需求,主要体现在以下几个方面:
(1) 集中存放及发布网站原始数据的办法已经导致服务器存储空间过大,存储空间趋于饱和。
(2) 网站更新采用整体更新方式,不能更新单个网页,导致了网站几乎无法更新。不便于管理和维护。
(3) 服务器负载过大,访问速度慢,失去了精品课程教学资源共享的初衷。
在这种情况下,我们提出了基于JavaEE等技术的分布式的精品课程发布及评审系统(以下简称精品课程管理系统)的总体设计思想、系统组成和技术实现,并进一步分析该系统的优缺点和使用价值,对实际的系统作一定的评价。
1精品课程管理系统的业务流程
在精品课程建设及评审过程中,首先由教务处发布精品课程建设及评审比赛的通知,然后由各学院组织和筛选合格的相关课程参与比赛,相关的课程负责人在网站上提出申请,并由教务处负责审核并批准,同时给各课程开辟网站存储空间、域名、空间的管理账号和密码。
在各相关课程完成网站内容建设后,可以采用系统提供的批量上传下载技术上传网站内容。网站内容分为两部分。第一部分是课程申报资料评审网站,该网站是必须的、格式是固定的,内容可以参考国家级精品课程的要求。可以采用在线编辑的方式实现,也可以采用离线网页编辑的方式在模版的引导下完成。同时包括课程内容网站的URL。这个URL可以是本服务器上的资源,也可以是其他服务器上网站。第二部分是课程内容网站,这部分内容可以存放在其他服务器(鼓励这样做),也可以发布在本系统中。如果要发布在本系统,可以直接采用本系统提供的批量上传下载技术上传。每个网页可以单独修改和更新。
评审人员由教务处邀请并登录评审系统,对各课程的各项指标进行评审,给出相应的分数,提出整改意见。然后由教务处组织组织现场答辩,并将答辩的意见和分数公布在网站上。最后由系统给出综合排名,并上报有关上级部门批准和备案。同时启动相关批准课程的教学资源的共享和访问接口的公布。
2系统主要功能
针对上面的业务流程,按软件工程的流程将系统分为如下五个模块:一是通知发布模块、二是课程空间账号管理模块、三是网站发布维护模块、四是评委评审模块、五是外部访问接口模块。如图1。下面叙述各个模块具体功能。
通知发布模块由系统管理员管理,发布系统的相关通知,如参赛评审的要求、系统的注意事项、使用说明,等等。该部分涉及在线编辑技术、Web服务器技术和数据库服务器技术。
课程空间账号管理模块由课程负责人使用。课程负责人申请账号、由系统管理员审批并由系统分配空间和账号、密码。这部分内容涉及文件服务器技术、Web服务器技术和数据库服务器技术。
网站发布维护模块也由课程负责人使用,采用系统提供的批量上传下载技术上传课程申报资料评审网站和课程内容网站(或其URL)。同时由课程负责人维护自己上传的网站。这部分内容涉及文件服务器技术、Web服务器技术、数据库服务器技术以及批量上传下载技术。
评委评审模块由教务处邀请的评审专家使用,对各课程的资料和课程教学内容进行分项评分。最后由系统给出综合排名。这部分内容涉及Web服务器技术和数据库服务器技术。
外部访问接口模块是对外公布可以访问的资源,起到资源共享的接口作用,涉及数据库技术和Web技术。
3系统的主要实现技术
精品课程管理系统按动态网站来设计,分为三层结构:表示层、业务层和持久层,如图2。以静态网页技术(Html、Applet)为表现形式,同时采用JavaEE技术(如Jsp、Servlet)实现网页中的动态的内容。这是三层中的表示层。
课程状态、课程负责人、课程分数、评委、网站域名以及通知等数据按关系数据库表的方式存放于数据库Mysql中。这是底层数据。
持久层使用Hibernate。采用Hibernate框架可以很容易将关系数据映射成JavaBean实体,便于Jsp或Servlet操作数据库。同时将Proxool数据库连接池和Hibernate框架继承,提高了访问数据库的效率。
业务层将处理应用程序的业务逻辑和业务校验、管理事务、管理业务层级别的对象的依赖。在显示层和持久层之间增加了一个灵活的机制,使得他们不直接联系,通过分析从显示层到业务层之间的上下文环境来得到业务层的服务,并且管理程序的执行。在这一层我们使用Spring框架。
对于课程空间账号管理,本系统采用文件服务器和Web服务器协调工作的方式来完成,即采用Serv-U+ Tomcat+Jsp技术。为了实现网站文档批量上传技术,我们采用了文件服务器和完全授权的Applet技术,该技术即可以实现批量上传下载,也可以实现单个网页的上传下载,即采用Serv-u+Applet+Jsp技术。如图3。
Serv-U是现今Windows下最流行、功能最强大、使用最简单的FTP服务器软件之一,同时也是目前国内应用最多的FTP服务器软件。Serv-U除了拥有其他同类软件所具备的几乎全部功能外,还支持断点续传、支持带宽限制、支持远程管理、支持虚拟主机等。为了实现批量上传技术,我们对Serv-u6.2的配置文件ServUDaemon.ini进行ODBC配置,内容如下:
[GLOBAL]
Version=6.2.0.0
ProcessID=2660
[Domain2]
CacheTTL=60
ODBCSource=ftp|root|562F4C40
BCTables=useraccounts|groupaccounts|userdiraccess|groupdiraccess|useripaccess|groupipaccessODBCColumns=Name|Password|SKeyValues|HomeDir|LogMesFile|Access|Disable|NeedSecure|RelPaths|HideHidden|AlwaysLogin|ChangePass|QuotaEnable|MaxIP|MaxSpeedUp|MaxSpeedDown|MaxUsers|IdleTimeOut|SessionTimeOut|RatioUp|RatioDown|RatioCredit|QuotaCurrent|QuotaMax|Expiration|Privilege|PassType|RatioType|Groups|Notes|Index||
AutoHomedir=0
EncryptPasswords=0
[DOMAINS]
Domain1=0.0.0.0||21|teacher.domain|2|0|1
有了Serv-u到MySQL数据库的映射,只要在Mysql数据库中添加Serv-u用户的名称、密码、权限等信息就可以实现服务器操作系统资源管理器到文件服务器的自动管理。
对于文件服务器的访问,可以采用多种方式,如采用迅雷等工具点击下载所有连接或采用Applet组件。本系统采用Applet技术和FTP协议。
如果在上传或是下载的过程中,没有任何的提示,用户根本没法判断任务是否完成或是任务是否死了,常常由于上传时间或下载时间过长而误导用户。因此,进度条就显得非常的重要与实用。进度条的实现如下:在程序中开启两个线程,第一个线程用于动态的改变界面上进度条的value值,而第二个线程则在上传或是下载的过程中,做成一个循环,在此循环中,每次读取一定数量如8192字节数的数据。然后传完此数据后,调用第一个线程中的updateProgress方法,来更新界面进度条的value值。如图4。
4本精品课程管理系统优点
本平台从开始设计开发至今已有一年的历史,该系统已经成功模拟了网站制作大赛的比赛平台系统,包括了网
站的发布和评审。这一年以来该平台一直处于不断的完善和改进之中,目前软件功能较齐全、运行稳定。
本精品课程管理系统的建成,大大地提高了网站管理质量和教学质量,它的优点体现如下:
(1) 将传统的网站管理方式从原始的管理方式提升到现代化的网络化管理方式,是教学方法的改革。管理效率将大大提高。
(2) 采用批量上传下载技术,方便修改更新单个网页和资源。
(3) 分布式存放教学内容网站,有效解决存储空间饱和的瓶颈问题。
(4) 分布式存放教学内容网站,访问速度和资源共享的效率得到了大大的提高,使精品课程真正起到应有的作用。
5结束语
随着Internet应用的日益广泛,基于Internet的辅助教学软件将会是一种重要形式。基于Internet的教学软件的开发及应用应充分遵循教学规律,充分利用先进的计算机网络技术和手段,开发出生动性、交互性强的高质量网络应用软件,提高了管理效率和精品课程教学资源使用效率。
参考文献:
[1] 袁守华. 基于Web的课程网络教学网站的开发与应用[J]. 中原工学院学报,2004(1):49-53.
[2] 刘义,兰凤侠. 浅谈网络教学系统的设计与应用[J]. 农业网络信息,2005(6):28-29.
[3] 李芝兴,李庆生. 基于Java EE技术的实验教学平台的开发与建设[J]. 计算机教育,2008(2):110-112.
[4] 丁振国,任新洁. 基于Struts的Web应用开发研究[J]. 微机发展,2004,14(1):90-92.
[5] 陈智勇,左仁祥. 基于Web的网络教学平台的设计[J]. 计算机与现代化,2004(1):53-55.