大一计算机题库品牌为联想

更新时间:2023-12-19 作者:用户投稿原创标记本站原创 点赞:8306 浏览:33437

基于CORBA技术的计算机

远程教育系统研究与设计

TheResearchandDesignofComputerRemoteTeachingSystemBasedontheTechnologyofCORBA

王松蒋苏蓉冯刚

华中师范大学计算机科学系430079

当前基于Browser/Server模式下的计算机远程教育系统大多是通过网关接口CGI(CommonGatewayInterface)CGI曾经是提供Web交互性的惟一方法,所有标准的Web怎么写作器软件均支持CGI.在这种体系结构中,Web怎么写作器通过CGI接口创建网关进程,并将用户请求传递给网关.应用网关处理CGI请求,并通过应用接口访问具体应用,然后将结果转换为HTML格式并回送给怎么写作器.CGI的基础HTTP是一个低速,脆弱,无状态的协议,所以在利用CGI进行应用集成时存在一些问题.本文试图运用分布对象技术CORBA来解决目前基于Browser/Server的计算机远程教育系统低速,脆弱,无状态的问题,并进一步提出了CORBA在远程教育的应用中的不足之处及相应的解决方案.

关 键 词CORBAOMAORB远程教育

1引言

随着Inter的快速发展,计算机远程教育可谓风头正劲,提供了一种全新的教育途径.然而,当前基于Browser/Server模式下的计算机远程教育系统大多是通过网关接口CGI(CommonGatewayInterface)CGI曾经是提供Web交互性的惟一方法,所有标准的Web怎么写作器软件均支持CGI.在这种体系结构中,Web怎么写作器通过CGI接口创建网关进程,并将用户请求传递给网关.应用网关处理CGI请求,并通过应用接口访问具体应用,然后将结果转换为HTML格式并回送给怎么写作器.然而,CGI的基础HTTP是一个低速,脆弱,无状态的协议,所以在利用CGI进行应用集成时存在一些问题:

(1)Web怎么写作器对每一个用户请求都必须创建一个单独的网关进程,并在接到通过进程管道发回的结果后终止该进程,其中包括进程创建与终止开销,进程间的数据拷贝开销以及进程间的切换开销等.如果一个HTML文件中包含了大量的数据库访问请求,那么这种CGIWeb网关的性能将大大下将,并且怎么写作器很快会达到饱和状态,难以支持更多的用户请求.


(2)CGI也无法适应.因此出现了专有怎么写作器API形式,如Netscape的NSAPI和Microsoft的ISAPI,NeXT的WebObjects框架以及Oracle的WebServerAPI等,但这种封闭的倾向导致了怎么写作器Web标准的非一统一性.

因此,运用先进,成熟,开放的数据库技术和网络技术设计计算机远程教育系统势在必行.我们运用CORBA技术,提出了一种基于B/A/S模式下的计算机远程教育系统.

2CORBA的技术特点

CORBA(CommonObjectRequestBrokerArchitecture)OMG(ObjectManagementGroup)OMA(ObjectManagementArchitecture)

CORBA包括下列部件:

(1)ORB(ObjectRequestBroker)(ORBengine)(IDL)ORB接口,

(5)工具库,接口库.

它的技术特点如下:

(1)应用程序间的统一接口

所谓软件总线是指CORBA系统定义了一组接口规范,任何应用程序,软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便的集成到CORBA系统中.这个接口规范是独立于任何的实现语言和环境.CORBA规范支持怎么写作对象的置透明性,实现透明性,执行状态透明性和通信机制透明性.只要按IDL描述语言对所提供的怎么写作进行描述,客户和怎么写作器之间就可以透明的交互运行.对应用程序模块实现"即插即用",便于从整体管理的角度出发,对各独立系统进行装配和剪裁.

(2)客户方程序和怎么写作器方程序的完全分离

CORBA引入了写作技巧的概念,一个写作技巧至少有三个方面的作用:完成对客户方提出的抽象怎么写作请求的映射,自动发现和寻找怎么写作器,自动设定路由,实现到怎么写作器方的执行.这样以来客户将不再同怎么写作器发生直接的连接,而仅仅需要同写作技巧进行交互.客户与怎么写作器之间就可以自由的修改和升级,客户方程序也可以自由的按照要求进行更改,而无须通知对方.

(3)分层的设计原则和实现方式

CORBA规范充分支持面向对象的技术,它仅仅定义了ORB中需要用到的基本对象,封装了相应的属性和方法.而面向应用的对象定义则可以在OMA的应用对象,领域对象或应用开发环境中逐步分层定义和实现.这样以来可以提高软件重用率,控制冗余度.

3基于分布对象技术的远程教育系统的实现方案

基于CORBA技术,建立分布式的B/A/S三层体系结构:中心怎么写作器Server,写作技巧怎么写作器Agent,浏览器Browser.其体系结构如图1.

图1计算机远程教育系统模型体系结构

中心怎么写作器是远程教育系统的核心,它管理着教学的全部软硬件资源.考虑到系统用户量较大的特点,中心怎么写作器下设多个写作技巧怎么写作器,每个写作技巧怎么写作器负责一部分客户,客户端通过本地写作技巧怎么写作器与中心怎么写作器,其他写作技巧怎么写作器和客户端进行交流.

3.1中心怎么写作器的功能

中心怎么写作器由管理系统,教学平台和资源仓三部分组成.管理系统分为系统管理和资源管理.系统管理负责整个系统的性能和安全,尤其是当某一写作技巧怎么写作器出现故障时,中心怎么写作器能够及时将它的任务承接过来或转移到其他写作技巧怎么写作器中,保证系统顺畅的教学环境.写作技巧怎么写作器定时向中心怎么写作器传送状态消息,中心怎么写作器对这些消息进行维护,并将所有写作技巧怎么写作器的状态一一通知给各写作技巧怎么写作器作为回应(第一次是回应所有写作技巧怎么写作器的状态,以后则回应有变化的怎么写作器状态).当中心怎么写作器在固定的时间内得不到消息,便进行查询,确定出现故障后,则根据写作技巧怎么写作器的状态表将相应客户端转移到其他的写作技巧怎么写作器中或直接与中心相连.

资源管理负责资源仓数据的添加,删除和修改,并且要负责写作技巧怎么写作器的数据与资源仓中数据的一致性.资源管理要把资源仓中数据的更新情况及时的通知给各写作技巧怎么写作器,根据各写作技巧的反馈情况进行相应的传输,这项功能是系统自动完成的,可以人为干预.

教学平台是学生和教师进行学习和交流的地方.它提供了学生在线的实时交流和离线交流.学生可以通过教学平台在资源仓中找到要学的内容,进行自主学习.资源仓是教学资源的数据仓库,包括以素材库为基础的课件库,题库等资源.此外,资源仓还有在写作技巧端恢复正常后,由资源管理将临时数据返还和消除.

3.2写作技巧怎么写作器的功能

写作技巧怎么写作器采用路由器写作技巧模式.在这种模式下,写作技巧怎么写作器负责本地客户的所有请求,管理所有的通信,客户端和中心怎么写作器及其他的写作技巧和客户之间没有直接的通信发生.因为客户端不能直接与其他机器直接通信,所以使用路由器写作技巧模式使得中心怎么写作器更安全,并且可以简化客户机的编码.

写作技巧怎么写作器也分为管理系统,教学平台和资源仓,功能上与中心怎么写作器有所不同.

管理系统分为系统管理和资源管理.系统管理除负责本地系统的性能和安全以外,还负责与上层中心怎么写作器,其他写作技巧怎么写作器的通信,其中向中心怎么写作器发送的本地状态信息主要包括写作技巧怎么写作器的系统状态和客户的在线信息.这样在写作技巧端出现故障后,中心能够及时的将在线客户进行转移,为本地客户提供透明怎么写作和安全的访问空间.

资源管理,通过对本地客户需求的分析,将中心怎么写作器资源仓的部分内容下载下来到本地资源仓,并根据每段时间的分析结果进行定期更新.同样,资源仓中也要开辟一块空间,负责临时保存转移过来的客户端信息的临时数据.教学平台和资源仓在性能上同中心怎么写作器的基本一致.

写作技巧层的设置,有效的均衡了中心怎么写作器的网络负载,并且随着发展和完善可以为客户端提供更多的怎么写作和更好的怎么写作质量.

3.3B/A/S之间的通信

Server,Agent和Browser之间通过ORB进行通信.ORB是CORBA平台的核心,它屏蔽了与底层平台的有关的细节,使开发者可以集中精力去解决与应用有关的问题,而不必自己去为创建分布式计算基础平台而操心.ORB提供透明的接收对象请求和返回应答的机制.根据这种机制,ORB提供异构分布式环境上的不同机器上的应用之间的互操作性以及复合对象系统的无缝互连.

CORBA使客户可以直接调用怎么写作器上的方法.客户利用预编译存根直接传递参数,或者利用CORBA的动态调用怎么写作"在传输过程中"产生这些参数.在这两种情形,怎么写作器都通过与编译骨干直接接收调用.用户可以调用怎么写作器上IDL定义的任何方法,而且可以传递键入的参数而不仅仅是字符串.这就意味着几乎没有客户机/怎么写作器开销,尤其是与HTTP/CGI比较时.使用CGI时,每当应用程序调用怎么写作器上的方法时,必须建立一个新的程序实例,使用CORBA时,则不需要.此外,CGI在各个客户调用之间并不维持状态,而CORBA可以.

CORBA提供了一个可扩展的怎么写作器到怎么写作器的基础结构.各个怎么写作器的对象可以利用CORBA对象请求相似度检测进行通信.这些对象可以利用CORBA对象请求相似度检测进行通信.这些对象可以运行在多个怎么写作器上,对输入的客户请求进行负载平衡.对象请求可以将请求分派到第一个可用的怎么写作器上,并且在需求增加时可以增加更多的怎么写作器进行处理,具有良好的扩展性.而CGI之所以成为一个瓶颈,是因为它没办法将负载分散到多个过程或处理程序上.

4CORBA在远程教育系统中实时问题的解决途径

CORBA在远程教育系统的实时多媒体信息传输上暴露出了自身的不足.CORBA依靠ORB之间协议来支持ORB-ORB的互操作.GIOP(GeneralInter-ORBProtocol)是CORBA提供的这样一个协议:在任何面向连接的传输上,它指定了ORB通信所必须的传送语法和一系列信息格式,为ORB之间互操作提供怎么写作.ORB通常使用的协议IIOP(InterInter-ObjectProtocol)是GIOP的一个实现,IIOP将TCP/IP作为其下层传输协议,以实现ORB之间的互连.由于TCP是面向连接的,它提供差错检测和重传怎么写作,以保证数据的可靠性,因此IIOP不符合实时多媒体信息传输方面的应用.

虽然CORBA不能解决实时问题,但是通过改变传输协议可以较好的实现通信的实时性.目前基于TCP/IP的视频传输多采用UDP协议,因为UDP是一种不可靠的,无连接的传输协议,它对数据进行简单的封装后直接交给IP层发送,所以能提高通信的实时性.因此在信息实时传输的问题上可以采取如下两种方法解决:

(1)完成GIOP到UDP的映射.在OMG的CORBA新闻组,已经存在一些关于GIOP映射到UDP的讨论.并且一些ORB产品开始提供基于UDP的私有协议,尽管此方面的规范和无连接版本的GIOP还未到制定出来.要完成GIOP到UDP的映射,必须对ORB内核进行修改.目前的ORB产品,尤其是主流产品如VISIBROKER等,还没有公开的源代码出现,因此这种方案不易实现.

(2)另开辟一个信道,不通过ORB,而直接采用UDP协议进行传输.这种方案,另开辟一个信道,采用UDP协议进行传输,实际上是把实时通信从CORBA平台中分离了出来.通过建立一个新的应用程序,弥补CORBA的实时弱点.

5结论

通过CORBA与CGI技术的比较,对基于分布对象技术CORBA的远程教育系统进行了初步的研究,分析了CORBA在远程教育应用中的优缺点,并且提出了一种实现方案,该方案已经在华中师范大学远程教育学院网络平台中得到应用,取得了不错的效果.相信随着时间的推移和CORBA的发展,基于分布对象技术CORBA的远程教育系统会越来越完善,功能会越来越先进.