文 献 综 述
1前言
随着Internet/Intranet的普及,计算机应用己经从传统的单机模式转变为以全球互联网WWW(World Wide Web)平台为基础的新型服务模式[3]。但由于受时间和空间的限制,传统教学模式的局限性变得越来越突出。而WWW以丰富的超文本(图形、声音、动画、视频等)、统一的用户平台(网络浏览器)和其易用性得到了人们的广泛接受。计算机辅助教学系统面临着一场深刻的改革,作为一种全新的教育形式,基于Web的教学管理系统应运而生。
在这种教学方式下,人们突破了时空的局限,随时可以从网上获取最新、最形象表示的前沿知识。通过基于Web环境的合作学习,学生可以与其他在线学习者彼此讨论,汇集集体智慧,达到合作学习的效果。网上教学不仅仅是简单的将教学材料在网上发布,而更多的是学生与教师之间、学生与学生之间的充分沟通与交流,由于远程教学教师与学生之间在空间上的分离,这种沟通与交流就显得尤为重要,另外,传统教学过程中一些保证教学质量的关键环节,如作业、考试、图书馆、笔记记录等,都应该能够在网上得到很好的支持。所有的沟通与交流以及关键教学环节,都需要一些专用的工具来支持,但是现有Internet技术并没有提供这些工具。因此迫切需要一套在线教育系统,为教师在网上实施教学提供全面的工具支持,也使得网上教学从简单的教学信息发布变成一个充满交流与互动的虚拟化学习社区。
总的来说,在线教育系统的魅力主要表现在以下三个方面:
1)内容丰富,学生选择学习媒体的余地大。凡是稍具规模的课程网站,一般都具有良好的网络学习界面,由于不受实物陈列空间的限制,在线教育系统向学生提供的学习方法可达五六种,学生可以选择适合自己学习方式。如时下流行的视频媒体,使学习过程变得活泼有趣,从而可使学生更加投入地学习。
2)方便学习交流。读者可使用课程网站中的留言板等功能模块,方便地与其他学友进行互动交流,而且这种交流有着不受地域限制、友善人性的特点。
3)功能齐全。在系统中,学生可进行课程考试大纲、课程授课计划等信息的查看,相关课件的下载,视频教程的观看下载以及在线考试等操作。
2正文
2.1 国内外在线教育系统的研究现状及存在问题
目前,在线教育系统的研究和应用主要有两种形式:一种是基于Web的软件实现方式,在这种方式下,学生或教师只要有一台连网的计算机,就可以通过软件进行远距离教学,不需要特殊的硬件,在这样的系统中学生可以进行学习、讨论、考试等,学生和教师之间可以传输文字、图形、声音、图像等各种信息;第二种形式是基于视频会议系统的实现方式,它除了需要第一种方式中的各种软件支持以外,还需要特殊的硬件,使学生和教师可以相互实时看到和听到对方,同时也可以充分利用视频会议系统所提供的特殊功能[7]。
2.1.1国外在线教育系统的研究
在国外一些发达国家,网上在线教育已经得到蓬勃发展,成为现代教育的有力补充,非常适合于个性化学习。目前国际上比较流行的在线教育平台有WebCT、Blackboard、Angel、Atutor、eCollede、Eledge 等多种,其中WebCT 和Blackboard 是功能最为完善、最广为使用的两大在线教育平台。WebCT 是完全基于Web浏览器的网络教学课件开发和管理系统,除了具备在线教学平台提供的基本功能外,主要还有强大的教学跟踪功能和独特的选择性发布功能。相对于W e b C T 而言,Blackboard 对内容组织则采用文件夹和子文件夹形式,层次清晰明朗。
美国:美国是目前在线教育规模最大的国家。44%的高等学校向全社会提供各种在线教育,使用在线教育系统的学生约占全日制在校学生的32%,此外,还有21%的高校计划在今后3年内开展在线教育。在线教育开设的学历,学位课程数达到4.9万个,基本覆盖了美国高等学校的所有学科和专业。到2000年,以互联网为主要手段开展在线教育的高校占70%左右,比三年前增长了3倍,其余学校也将在3年内开始利用互联网开展在线教育。著名的哈佛大学2005年开设42门在线教育课程,只要可以上网,学生在世界任何一个地方都可以加入课堂并发表意见。而麻省理工学院则于2006年开始推广电子课本,这使在线教育的学员获得可以随时更新的多媒体教材。
英国:2004年2月,英国高等教育基金理事会(HEFCE)拟订了一个雄心勃勃的“E-university”计划,要整合英国各大学的力量,建立一所网上大学。他们计划通过英国已有的JANET和超级JANET网络系统,向全球提供在线教育服务。英国的开放式大学是一种面向全社会,全世界全方位开放的大学。实行免试入学,实行学历教育和终身教育想结合的办学机制,采用学分制。从小学教育到高等教育,研究生教育,每个层次的教学内容都应有尽有。开放大学的教学以网络为基础,采用多媒体教学环境。为了保证质量,开放大学还提供了一系列辅助体系,比如学科和课程结构体系,多媒体教材体系,质量保证体系和学生自主体系等。
韩国:据人民网的信息所载,韩国的教育网站目前已达到了1000多个,而且仍在以每天一至两个的速度增加。韩国的教育网站主要有三类,分别由户联网公司,高校和政府主办。据韩国教育开发院的预测,今年韩国网上教育市场规模约为5000亿韩元。占整个教育市场的6%,到2010年将达到10兆韩元的规模,是现在的近100倍。
南非:为了更好地发展现代在线教育,南非成立了非官方,非盈利性质的ShoMa远程教育基金会,来负责协调各方面的工作。其董事会由12位来自政府教育部门,地方领导,教育专家,非官方自愿服务人员,企业和项目发起部门的成员组成,2005年,新的卫星数字电视与计算机网络结合的远程教育项目在南非的12个省进行了试点。
2.1.2国内在线教育系统的研究
在国内,在线教育也已初见规模,著名的在线教育网点中,既有教育部批准的元老级现代在线教育试点学校,也有脱颖而出的民间创办试点。诸如众所周知的“大学+ I T 模式”的清华在线、北大在线、以英语培训起家并日益壮大的新东方教育在线、以电脑教育软件如《万事无忧》、《开天辟地》起家的洪恩在线等等都是国内比较有影响力的在线教育站点,他们不但拥有先进技术支持的优势,而且其新颖的教学方式也从很多方面为教学带来了传统教育无法提供的便利,已经在一定程度上为社会所接受。
1996年底,在当时国家教委的主持下,“中国教育和科研计算机网(CERNET)示范工程”由清华大学等10所高校共同承建。这是国内第一个采用TCP/IP协议的公共计算机网。1998年清华大学王大中校长率先提出发展现代在线教育;2000年,湖南大学第一个与湖南电信合作,建起了网上大学。清华大学则在2001年推出了网上研究生进修课程。2001年9月,教育部正式批准清华大学,北京邮电大学,浙江大学和湖南大学为国家现代在线教育第一批试点院校。2002年教育部制定了《关于发展我国现代在线教育的意见》。在这份文件中,阐述了发展我国现代在线教育的指导方针,目标和任务。文件指出,我国发展在线教育的16字指导方针是:统筹规划,需求推动,扩大开放,提高质量。2002年9月,“CERNET高速主干网建设项目”立项,目标是在2003年12月之前完成CERNET高速主干网的建设。届时,CERNET网将基本满足我国现代在线教育需求。2003年,是中国在线教育大踏步前进的一年。教育部批准了20所高校开展现代在线教育,紧接着,教育部将现代在线教育试点院校的范围扩大到56所,又颁布了《关于支持若干所高等学校建设网络教育学院开展现代在线教育试点工作的几点意见》。根据这个意见,56所试点院校具有很大的自主权,可以自己指定招生标准并决定招多少学生,可以开设专业目录之外的专业,有权发放国家承认的学历文凭。56所试点高校在北京成立了“高等学校现代在线教育协作组”以加强试点高校间的交流与合作,促进教学资源的建设与共享。以后,部分新试点院校相继开通了他们的网上大学。试探性的小跑开始加速,中国教育将因网络的深度介入,面貌为之一新。
存在的问题及不足在于:1)只有选择性答案供用户选择;缺少进一步的学生模型;2)网络板较少,客户端运行速度慢,跟不上学习者的速度。
2.2 Browser/Server系统的三层体系结构
在Browser/Server的系统中[2],用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
在Browser/Server三层体系结构下,表示层(Presentation)、业务逻辑层(Business Logic)、数据访问层(Data Service)被分割成三个相对独立的单元(如图2-1所示):
图2-1三层结构模型
第一层--表示层:Web浏览器
在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。
第二层--业务逻辑层:具有应用程序扩展功能的Web服务器
在业务逻辑层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。
第三层--数据访问层:数据库服务器
在数据访问层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。
从上面的分析中可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。
2.3 Java Server Page(JSP)技术
在本系统的开发过程中采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。
此模式遵循视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet接收并处理后,会重新定向到JSP。在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。在此模式中,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean属性,JSP读取此Bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式[8]。此模式的数据传递关系如图2-2所示。
图2-2 JSP+JavaBean+Servlet开发模式数据传递关系
首先,J2EE 结构是设计和开发在线教育系统的核心。第二,系统提供的大部分操作都涉及到与用户动态地进行信息交互,要求系统能够实现数据的动态发布。第三,位于客户端的用户主要通过浏览器使用本系统。第四,在Sun 公司提出的J2EE蓝图中明确推荐使用JSP技术为动态内容提供服务[9]。因此,在J2EE结构的模型框架下,JSP 技术是实现此系统动态信息交互功能的首选方案。JSP技术主要有以下一些特点[17]:
(1) 应用程序逻辑和页面显示相分离的特性。JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
(2) 组件的可重用性。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序的处理。开发人员能够共享和交换执行组件,并利用这些组件创建应用程序。基于组件的方法加速了开发过程,提高了应用程序的开发效率[15]。
(3) 跨平台特性。JSP技术将“一次编写,随处运行”的思想推广到了交互网页中,因此不需要作任何更改,就可以很轻松地跨平台和跨Web服务器移动JSP页。
(4)可以用多种格式为动态内容提供服务。JSP可以为不同的客户端提供服务,包括使HTML/DHTML的常规浏览器、使用WML的移动电话和PDA 等手持式无线设备以及使用XML的其他B2B 应用程序等[19]。
2.4 SSH技术
SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
1Struts
Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分:由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用JSP(或HTML、PHP……)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。
2Spring
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
3Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
3结论
在线教育以宽带数据通信网络为依托,以教育软件和资源为基础,以实现现代化教育和管理为目的,为开发式远程教育提供全方位应用服务的信息化环境,它是整体推动终身教育及终身学习的最佳途径。
在线教育系统的最大优势不仅是最快,而且是最多最深,它为学生提供了无限大的选择空间,通过多种媒体表现形式,使学生可以选择最适合自己的学习方式。在线教育系统与传统教学方式相比,有着更好的学习气氛,与平常的网络学习系统相较,则又多了些针对性的纵深辅导。在线教育系统是传统课堂的延伸和拓展,是课后学习的一个很好的平台,在线教育的加入必将使我国的教育事业得到更快的发展。
参考文献
[1]黄梯云. 管理信息系统[M]. 北京:经济科学出版社,2007.5-94.
[2]申瑞民,戴欣,孙健.基于Web 的智能远程学习环境的构建[J].计算机应用与软件.2004,2.
[3]Dale A, Harris. Online distance education in the United States. IEEE Communications Magazine, 2010(3): 87-91.
[4]Musa J D.Operational profiles in softwarereliability engineering. IEEE Software,1993, 10(2): 14-32.
[5]Kevin Duffey,Vikram Goyal. Professional JSP Site Design[M]. BeiJing: Publishing House of Electronics Industry,2008.1-75.
[6]贺立红,张晓红. 基于JSP技术的网络教学平台设计[J]. 计算机与信息技术,2005(2): 93-94.
[7]百度百科. bs/cs浏览方式 [EB/OL] . http://baike.baidu.com/view/677.htm.
[8]耿祥义,张跃平.JSP实用教程[M].北京:清华大学出版社,2008.5,83-170.
[9]飞思科技产品研发中心著.JSP应用开发详解(第二版)[M].北京:电子工业出版社,2004.179-231.
[10]易开祥,胡敏,杨建,石教英. 基于B/S模式的信息系统研究与设计[J].计算机工程,2010.8.
[11]张敬,宋广军,赵硕,王睿﹒软件工程教程[M]﹒北京:北京航空航天大学出版社,2003﹒120-160.
[12]杨正洪.中文SQL Server 2000 关系数据库系统管理和开发指南[M].机械工业出社,2001,9.
[13]Paul Tremblett.JSP即时应用[M] .北京:人民邮电出版社.2001.2.
[14]PetShop 体系结构模型分析[EB/OL].http://www.healy.cn/2006/post/377.html.
[15]周颢编. 网络编程语言JSP 实例教程[M].北京:电子工业出版社.2002.6.
[16]Craig s.mullins﹒《Database Administration The Complete Guide to pratices and procedures》﹒北京:电子工业出版社,2009﹒33-55.
[17]武延军,黄飞跃.精通JSP编程技术 (网络技术精通系列) [M].北京:人民邮电出版社.2007.8.
[18]李文兵.C++应用程序设计技术[M].北京:清华大学出版社,2004.8.
[19]孙印杰,马子彦,郭利国等﹒网页设计应用教程[M].北京:电子工业出版社,2006﹒88-150.
[20]Marshall Breeding,Automated System Marketplace 2009: Capturing the Migrating Customer, library journal. 2008.4.1.
[21]林峰,彭加亮,徐岩. 基于JSP和Servlet技术的远程考试系统设计[J].科技咨询导报,2007(22):32-33.
[22]王广慧.基于角色的访问控制[J].网络安全技术与应用,2009.9:21-22.