首页 > 文章中心 > 正文

现代远程教育组件

前言:本站为你精心整理了现代远程教育组件范文,希望能为你的创作提供参考价值,我们的客服老师可以帮助你提供个性化的参考范文,欢迎咨询。

现代远程教育组件

当今世界,以多媒体和互联网技术为代表的信息技术迅猛发展,知识经济初露端倪。互联网正在引发人类历史上的又一场革命,这场革命速度之快、影响之大、范围之广是全世界人民有目共睹的。互联网以其无限的容量、广阔的覆盖面、交互和定制化特色迅速渗透到人类工作、生活、娱乐和学习的方方面面,当然,这场革命也迅速波及到教育领域,在波澜壮阔的教育信息化浪潮中,各国都在大力实施现代远程教育工程。

一、现代远程教育管理中传统B/S/D架构的缺陷

现代远程教育工程就是基于社会化的网络基础之上,构建多媒体的网络化学习环境,使人们在家,在办公室,甚至在旅途中,都可以及时地进行学习,获得各种信息。开展网络化现代远程教育涵盖信息资源(媒体)、网络传输(载体)、多媒体终端(显示)和网络教育管理四大部分。大多数传统网络教育管理系统一般均采用Browser/WebServer/DataServer的B/S/D三层Web架构。

B/S/D三层Web架构,在该架构中,Web服务器处于三层的核心地位,要完成双重任务。第一重任务是提供表达服务,具体讲就是存储HTML静态页面,当客户浏览器请求HTML页面时,Web服务器调用相应的HTML页面返回且在浏览器中执行显示给用户。Web服务器的第二重任务是提供业务逻辑和数据服务,与后台数据库动态地进行数据交互。具体讲就是在Web服务器端运行业务逻辑和数据通道脚本,根据客户端提出的请求调用相应的脚本文件来执行,动态地提取后台数据库中的数据,并以HTML格式将数据返回到浏览器端呈现给用户。

在远程教育管理系统中,B/S/D架构中的WEB服务器既要负责执行服务器端脚本来完成日趋复杂的网络教育管理逻辑,又要为浏览器请求内容的需求服务,负载不断加重,已经逐渐成为阻碍网络教育管理系统高效运行的瓶颈。同时,传统的B/S/D架构在编程逻辑、软件质量、功能实现、执行速度、系统安全、开发效率等诸方面也日益表现出明显的局限性。这些都是B/S/D架构不能解决的问题。

二、基于组件对象的B/(W-A)/D三层/N层分布式解决方案

基于以上问题,整个应用的体系结构正在转向开放型架构:Browser/(WebServer-ApplicationServer)/DataServer三层/N层架构,简称B/(W-A)/D架构。

B/(W-A)/D架构如图2所示:整个应用系统由表示层(Presentation)、事务逻辑层(BusinessLogic)

Web浏览器

(Browser)

(表达服务)

Web浏览器

(Webserver)服务器端脚本

页面

(表达服务)

(业务逻辑)

(数据服务)

数据库服务器

(DataServer)

和数据服务层(Data)构成。这样的结构在逻辑上由客户端运行用户界面(UserInterface)、应用服务器上运行商业逻辑(BusinessLogic)和数据逻辑(DataLogic)、数据库服务器运行数据库引擎。

具体的结构和功能是这样的:

·表示层——用户界面部分。主要是实现用户与应用服务器逻辑处理结果的通信。

·事务逻辑层——Web服务器和应用服务器部分。在B/(W-A)/D应用环境中,事务逻辑层的工作由WEB服务器(WebServer)和应用服务器(ApplicationServer)共同来完成,事务逻辑层是整个应用的核心部分,而组件对象则相当于其心脏(如图2所示)。WEB服务器接受浏览器端的标准HTTP请求,并将请求交由应用服务器,在应用服务器上运行商业逻辑(BusinessLogic)和数据逻辑(DataLogic),这些逻辑均封装在若干组件中,由组件来负责处理表示层的应用请求,完成商业和数据的逻辑计算任务及与数据库的交互,并将处理结果返回给用户在表示层显示。事务逻辑处理层是将原先置于客户端的事务逻辑分离出来,集中置于应用服务器部分为所有用户共享。

·数据服务层——数据服务器部分,为应用提供数据来源。和以上的两层体系结构不同,数据库不再和每个活动客户保持一个连接,而是若干个客户通过应用服务器的逻辑组件共享数据库的连接,从而减少了连接次数,提高了数据服务器的性能和安全性。

B/(W-A)/D架构相对于B/S/D结构具有很多优势:

首先,B/(W-A)/D架构能将业务的处理分散到不同的服务器上。将业务分成若干功能模块,各个部分独立实现功能,同时相互协同工作,用户界面、商业逻辑、数据逻辑、数据库分布在网络中的不同节点,这样的处理过程在时间上各个模块可以并行处理,提高了效率,在空间上分布在不同的节点处理,分散了各个节点的压力,使得整个系统能承受更大业务量的处理。

第二,B/(W-A)/D架构使系统的可扩展性好。因为应用服务器可以是分布的多个服务器,系统可以自动调节各个服务器之间的负载平衡,客户端并不需要关心访问的是那一个服务器,对于更大业务量的需求,系统可以很容易的无限制的扩展。

第三,B/(W-A)/D架构使应用的可重用性和可维护性好。整个系统都是按照组件开发的模式进行的,每个组件完成一个单一的功能,同时可以互相调用,使得相同功能的组件只需一次编码,代码的可重用性好。如果业务需求有改变,只需将相应的组件模块修改,只要接口不变对于别的组件都无影响,系统的维护量极小。

三、分布式解决方案在网络远程教育管理中的应用

1、分布式现代远程教育管理方案

如上所述,在现代远程教育管理中,涉及到方方面面纷繁复杂的管理问题,随着WEB学习者的数量日益增多,请求后台数据库的数据量日益膨胀,这种B/S/D结构的WEB服务器已经成为网络教育管理系统正常运行的瓶颈。因此,B/(W-A)/D架构的分布式解决方案应用于远程教育管理是必然的解决方案。管理的事务由中间层——应用服务器来承担,所有的逻辑运算和数据访问服务通过服务器组件来完成。而在客户端,用户只需通过PC平台上的网络浏览器即可参与远程教学,从而大大减轻了客户端的负担,实现了瘦客户端。客户端与数据库通过应用服务器中介来间接联结,大大减轻了数据库的负担。

当今世界,基于组件的分布式解决方案主要有两大类,一种是由微软推出的COM组件——ActiveX,一种是Sun的JavaBean。ActiveX可以做到操作系统级兼容,即在Windows平台下运行,支持Windows平台下的各类开发工具;JavaBean在所有支持Java的平台上皆可运行,真正实现了跨平台操作。

微软以DCOM/ActiveX技术开发COM服务器组件的WindowsDNA解决方案已经成为当今一种流行的分布式解决方案。WindowsDNA具体的技术范畴是指分布式网间应用结构。WindowsDNA以“表现层/事务逻辑层/数据服务层”三层体系结构为构架,并将COM概念应用于Internet,利用COM组件对象在中间层进行事务逻辑服务,处理各种复杂的商务逻辑计算和演算规则。在分布式WindowsDNA应用环境中,COM组件处于核心地位如图3所示,WindowsDNA方案在客户端由浏览器来实现,在中间层服务器,由IIS服务器来响应客户端的请求,由服务器COM组件进行中间层事务逻辑的处理,由MTS作为应用服务器在中间层对这些组件进行系统的管理。

这里以远程教育管理中的学籍管理系统为背景,基于上述WindowsDNA三层结构的思想,来进行应用系统的设计。在该系统中,有关教务学籍的事务逻辑都是由定制COM组件来处理的,动态Web页面通过ASP脚本调用这些组件。

例如在displayscore.asp页面中接受、辨别用户的查询请求,做出不同的查询处理。当客户的身份为教师或教务时,可以查询所有学生的成绩;当客户的身份为学生时,只能查询该生本人的成绩。

定制COM组件Score.dll进行查询处理。首先设计该组件的接口,为组件设置四个属性::Subj(课程)、Term(课程所属学期)、Class(查询的班级)和Stu_No(查询学生的学号);定义两个方法:RequeryScores和RequeryAllScores,分别对教师、教务部门和学生的请求做出相应的处理,并将查询结果集返回给用户。实际应用中,学生和教师的使用权限是不同的。在学生查询成绩的页面中可重用该组件,只是调用其不同的接口而已。既以教师身份登录时在ASP文件中可以调用Class接口,也可以调用Stu_No接口;而如果以学生身份登录则只能调用Stu_No接口。如果仅使用ASP脚本进行业务处理,则需重新编写与displayscore.asp类似的同样烦琐的代码。

经比较,基于B/(W-A)/D架构的系统在开发速度、软件质量、执行速度等诸方面都优于不用COM组件而仅用纯ASP脚本的B/S/D方案。

2、分布式现代远程教育管理方案的开发环境

基于WindowsDNA方案的远程教育管理系统的开发环境主要由两部分组成:

第一部分是COM组件的开发环境,可以用VB、VFP、VC++、C++Builder、Delphi等任意支持COM技术的语言作为开发环境。

第二部分是ASP的开发环境,目前支持ASP的Web服务器有IIS(InternetInformationServer,WinNTServer4.0、Windows2000Server自带)和PWS(PersonalWebServer,用于Win98环境)。环境还要求安装VisualInterDev中的ServerComponents:FrontPageServerExtensions、ActiveServerPages和ClientComponents:VisualInterDevClient。这两种开发环境可以安装在同一台机器上,这样可以在单机上方便地编程、调试。