基于CORBA技术的计算机.doc

上传人:创****公 文档编号:1125440 上传时间:2018-12-10 格式:DOC 页数:4 大小:47KB
下载 相关 举报
基于CORBA技术的计算机.doc_第1页
第1页 / 共4页
基于CORBA技术的计算机.doc_第2页
第2页 / 共4页
基于CORBA技术的计算机.doc_第3页
第3页 / 共4页
基于CORBA技术的计算机.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 CORBA 技术的计算机远程教育系统研究与设计The Research and Design of Computer Remote Teaching System Based on the Technology of CORBA王 松 蒋苏蓉 冯 刚 华中师范大学计算机科学系 430079当前基于 Browser/Server 模式下的计算机远程教育系统大多是通过网关接口CGI(Common Gateway Interface )实现的。CGI 曾经是提供 Web 交互性的惟一方法,所有标准的 Web 服务器软件均支持 CGI。在这种体系结构中,Web 服务器通过 CGI 接口创建网关进

2、程,并将用户请求传递给网关。应用网关处理 CGI 请求,并通过应用接口访问具体应用,然后将结果转换为 HTML 格式并回送给服务器。CGI 的基础 HTTP 是一个低速、脆弱、无状态的协议,所以在利用 CGI 进行应用集成时存在一些问题。本文试图运用分布对象技术 CORBA 来解决目前基于 Browser/Server 的计算机远程教育系统低速、脆弱、无状态的问题,并进一步提出了 CORBA 在远程教育的应用中的不足之处及相应的解决方案。关键词 CORBA OMA ORB 远程教育1 引言随着 Internet 的快速发展,计算机远程教育可谓风头正劲,提供了一种全新的教育途径。然而,当前基于

3、Browser/Server 模式下的计算机远程教育系统大多是通过网关接口 CGI(Common Gateway Interface )实现的。CGI 曾经是提供 Web 交互性的惟一方法,所有标准的 Web 服务器软件均支持CGI。在这种体系结构中,Web 服务器通过 CGI 接口创建网关进程,并将用户请求传递给网关。应用网关处理 CGI 请求,并通过应用接口访问具体应用,然后将结果转换为 HTML 格式并回送给服务器。然而,CGI 的基础 HTTP 是一个低速、脆弱、无状态的协议,所以在利用 CGI 进行应用集成时存在一些问题:(1)系统开销大。因为 Web 服务器对每一个用户请求都必须创

4、建一个单独的网关进程,并在接到通过进程管道发回的结果后终止该进程,其中包括进程创建与终止开销、进程间的数据拷贝开销以及进程间的切换开销等。如果一个 HTML 文件中包含了大量的数据库访问请求,那么这种 CGI Web 网关的性能将大大下将,并且服务器很快会达到饱和状态,难以支持更多的用户请求。(2)对于面向对象技术、组件技术等新兴技术,CGI 也无法适应。因此出现了专有服务器 API 形式,如 Netscape 的 NSAPI 和 Microsoft 的 ISAPI、NeXT 的 Web Objects 框架以及 Oracle 的 Web Server API 等,但这种封闭的倾向导致了服务器

5、 Web 标准的非一统一性。因此,运用先进、成熟、开放的数据库技术和网络技术设计计算机远程教育系统势在必行。我们运用 CORBA 技术,提出了一种基于 B/A/S 模式下的计算机远程教育系统。2 CORBA 的技术特点CORBA(Common Object Request Broker Architecture 通用对象请求代理体系结构)是OMG(Object Management Group 对象管理集团)组织在其 OMA(Object Management Architecture 对象管理体系结构)中所制定的分布式对象计算领域的规范。CORBA 包括下列部件:(1)ORB(Object

6、Request Broker 对象请求代理)驱动程序(ORB engine) ;(2)动态调用接口;接口定义语言(IDL) ;(3)对象适配器;(4)ORB 接口;(5)工具库;接口库。它的技术特点如下:(1)应用程序间的统一接口所谓软件总线是指 CORBA 系统定义了一组接口规范,任何应用程序、软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便的集成到 CORBA 系统中。这个接口规范是独立于任何的实现语言和环境。CORBA 规范支持服务对象的置透明性、实现透明性、执行状态透明性和通信机制透明性。只要按 IDL 描述语言对所提供的服务进行描述,客户和服务器之间就可以透明的交互运行。

7、对应用程序模块实现“即插即用” ,便于从整体管理的角度出发,对各独立系统进行装配和剪裁。(2)客户方程序和服务器方程序的完全分离CORBA 引入了代理的概念,一个代理至少有三个方面的作用:完成对客户方提出的抽象服务请求的映射,自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。这样以来客户将不再同服务器发生直接的连接,而仅仅需要同代理进行交互。客户与服务器之间就可以自由的修改和升级,客户方程序也可以自由的按照要求进行更改,而无须通知对方。(3)分层的设计原则和实现方式CORBA 规范充分支持面向对象的技术,它仅仅定义了 ORB 中需要用到的基本对象,封装了相应的属性和方法。而面向应用的对

8、象定义则可以在 OMA 的应用对象、领域对象或应用开发环境中逐步分层定义和实现。这样以来可以提高软件重用率,控制冗余度。3 基于分布对象技术的远程教育系统的实现方案基于 CORBA 技术,建立分布式的 B/A/S 三层体系结构:中心服务器 Server,代理服务器 Agent,浏览器 Browser。其体系结构如图 1。图 1 计算机远程教育系统模型体系结构中心服务器是远程教育系统的核心,它管理着教学的全部软硬件资源。考虑到系统用户量较大的特点,中心服务器下设多个代理服务器,每个代理服务器负责一部分客户,客户端通过本地代理服务器与中心服务器、其他代理服务器和客户端进行交流。3.1 中心服务器的

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

10、览器其他的代理服务器中或直接与中心相连。资源管理负责资源仓数据的添加、删除和修改,并且要负责代理服务器的数据与资源仓中数据的一致性。资源管理要把资源仓中数据的更新情况及时的通知给各代理服务器,根据各代理的反馈情况进行相应的传输,这项功能是系统自动完成的,可以人为干预。教学平台是学生和教师进行学习和交流的地方。它提供了学生在线的实时交流和离线交流。学生可以通过教学平台在资源仓中找到要学的内容,进行自主学习。资源仓是教学资源的数据仓库,包括以素材库为基础的课件库、题库等资源。此外,资源仓还有在代理端恢复正常后,由资源管理将临时数据返还和消除。3.2 代理服务器的功能代理服务器采用路由器代理模式。在

11、这种模式下,代理服务器负责本地客户的所有请求,管理所有的通信,客户端和中心服务器及其他的代理和客户之间没有直接的通信发生。因为客户端不能直接与其他机器直接通信,所以使用路由器代理模式使得中心服务器更安全,并且可以简化客户机的编码。代理服务器也分为管理系统、教学平台和资源仓,功能上与中心服务器有所不同。管理系统分为系统管理和资源管理。系统管理除负责本地系统的性能和安全以外,还负责与上层中心服务器、其他代理服务器的通信,其中向中心服务器发送的本地状态信息主要包括代理服务器的系统状态和客户的在线信息。这样在代理端出现故障后,中心能够及时的将在线客户进行转移,为本地客户提供透明服务和安全的访问空间。资

12、源管理,通过对本地客户需求的分析,将中心服务器资源仓的部分内容下载下来到本地资源仓,并根据每段时间的分析结果进行定期更新。同样,资源仓中也要开辟一块空间,负责临时保存转移过来的客户端信息的临时数据。教学平台和资源仓在性能上同中心服务器的基本一致。代理层的设置,有效的均衡了中心服务器的网络负载,并且随着发展和完善可以为客户端提供更多的服务和更好的服务质量。3.3 B/A/S 之间的通信Server,Agent 和 Browser 之间通过 ORB 进行通信。ORB 是 CORBA 平台的核心,它屏蔽了与底层平台的有关的细节,使开发者可以集中精力去解决与应用有关的问题,而不必自己去为创建分布式计算

13、基础平台而操心。ORB 提供透明的接收对象请求和返回应答的机制。根据这种机制, ORB 提供异构分布式环境上的不同机器上的应用之间的互操作性以及复合对象系统的无缝互连。CORBA 使客户可以直接调用服务器上的方法。客户利用预编译存根直接传递参数,或者利用CORBA 的动态调用服务 “在传输过程中”产生这些参数。在这两种情形,服务器都通过与编译骨干直接接收调用。用户可以调用服务器上 IDL 定义的任何方法,而且可以传递键入的参数而不仅仅是字符串。这就意味着几乎没有客户机/服务器开销,尤其是与 HTTP/CGI 比较时。使用 CGI 时,每当应用程序调用服务器上的方法时,必须建立一个新的程序实例,

14、使用 CORBA 时,则不需要。此外,CGI 在各个客户调用之间并不维持状态,而 CORBA 可以。CORBA 提供了一个可扩展的服务器到服务器的基础结构。各个服务器的对象可以利用 CORBA 对象请求中介进行通信。这些对象可以利用 CORBA 对象请求中介进行通信。这些对象可以运行在多个服务器上,对输入的客户请求进行负载平衡。对象请求可以将请求分派到第一个可用的服务器上,并且在需求增加时可以增加更多的服务器进行处理,具有良好的扩展性。而 CGI 之所以成为一个瓶颈,是因为它没办法将负载分散到多个过程或处理程序上。4 CORBA 在远程教育系统中实时问题的解决途径CORBA 在远程教育系统的实

15、时多媒体信息传输上暴露出了自身的不足。CORBA 依靠 ORB 之间协议来支持 ORB-ORB 的互操作。GIOP(General Inter-ORB Protocol)是 CORBA 提供的这样一个协议:在任何面向连接的传输上,它指定了 ORB 通信所必须的传送语法和一系列信息格式,为 ORB 之间互操作提供服务。ORB 通常使用的协议 IIOP(Internet Inter-Object Protocol)是 GIOP 的一个实现,IIOP 将TCP/IP 作为其下层传输协议,以实现 ORB 之间的互连。由于 TCP 是面向连接的,它提供差错检测和重传服务,以保证数据的可靠性,因此 IIO

16、P 不符合实时多媒体信息传输方面的应用。虽然 CORBA 不能解决实时问题,但是通过改变传输协议可以较好的实现通信的实时性。目前基于TCP/IP 的视频传输多采用 UDP 协议,因为 UDP 是一种不可靠的、无连接的传输协议,它对数据进行简单的封装后直接交给 IP 层发送,所以能提高通信的实时性。因此在信息实时传输的问题上可以采取如下两种方法解决:(1)完成 GIOP 到 UDP 的映射。在 OMG 的 CORBA 新闻组,已经存在一些关于 GIOP 映射到UDP 的讨论。并且一些 ORB 产品开始提供基于 UDP 的私有协议,尽管此方面的规范和无连接版本的GIOP 还未到制定出来。要完成 G

17、IOP 到 UDP 的映射,必须对 ORB 内核进行修改。目前的 ORB 产品,尤其是主流产品如 VISIBROKER 等,还没有公开的源代码出现,因此这种方案不易实现。(2)另开辟一个信道,不通过 ORB,而直接采用 UDP 协议进行传输。这种方案,另开辟一个信道,采用 UDP 协议进行传输,实际上是把实时通信从 CORBA 平台中分离了出来。通过建立一个新的应用程序,弥补 CORBA 的实时弱点。5 结论通过 CORBA 与 CGI 技术的比较,对基于分布对象技术 CORBA 的远程教育系统进行了初步的研究,分析了 CORBA 在远程教育应用中的优缺点;并且提出了一种实现方案,该方案已经在

18、华中师范大学远程教育学院网络平台中得到应用,取得了不错的效果。相信随着时间的推移和 CORBA 的发展,基于分布对象技术 CORBA 的远程教育系统会越来越完善,功能会越来越先进。参考文献1 Andy Jenkis Motivating CORBA : When is CORBA Worth Investigating?CSE 588:Network System 1999.2 Object Management GroupCommon Object Request Broker Architecture and Specification(Revision 2.2) 1998.3 Objec

19、t Management GroupReal Time CORBA joint revised submission1999.4 汪芸CORBA 技术及其应用南京:东南大学出版社, 1999.5 Tom Sheldon 著. 网络百科翻译组译最新网络百科全书北京:电子工业出版社, 1998.Now computer remote teaching system based on Browser/Server is mainly implemented by CGI(Common Gateway Interface).CGI ever was the only method of WEB s i

20、nterface ,and was sustained by all standard WEB server. In the system structure , WEB server founds the gateway process on the CGI interface , and transfers the user s request to the gateway . And the application gateway deals with the CGI request , and accesses the application via the application i

21、nterface , and then change the results to the HTML format and sends the server . However , the base of CGI (HTTP) is a low-speed , flimsy , no-state protocol , so there are some problems on putting up applications integration by CGI . With the technology of CORBA this paper tries to resolve the low-speed ,flimsy and no-state problem in the present computer remote teaching system based on Browser/Server mode and bring forward the fault of CORBA in the application of computer remote teaching and the solution .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 >

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。