欢迎来到天天文库
浏览记录
ID:6395725
大小:47.00 KB
页数:4页
时间:2018-01-12
《基于corba技术的计算机》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于CORBA技术的计算机远程教育系统研究与设计TheResearchandDesignofComputerRemoteTeachingSystemBasedontheTechnologyofCORBA王松蒋苏蓉冯刚华中师范大学计算机科学系430079当前基于Browser/Server模式下的计算机远程教育系统大多是通过网关接口CGI(CommonGatewayInterface)实现的。CGI曾经是提供Web交互性的惟一方法,所有标准的Web服务器软件均支持CGI。在这种体系结构中,Web服务器通过CGI接
2、口创建网关进程,并将用户请求传递给网关。应用网关处理CGI请求,并通过应用接口访问具体应用,然后将结果转换为HTML格式并回送给服务器。CGI的基础HTTP是一个低速、脆弱、无状态的协议,所以在利用CGI进行应用集成时存在一些问题。本文试图运用分布对象技术CORBA来解决目前基于Browser/Server的计算机远程教育系统低速、脆弱、无状态的问题,并进一步提出了CORBA在远程教育的应用中的不足之处及相应的解决方案。关键词CORBAOMAORB远程教育1引言随着Internet的快速发展,计算机远程教育可谓
3、风头正劲,提供了一种全新的教育途径。然而,当前基于Browser/Server模式下的计算机远程教育系统大多是通过网关接口CGI(CommonGatewayInterface)实现的。CGI曾经是提供Web交互性的惟一方法,所有标准的Web服务器软件均支持CGI。在这种体系结构中,Web服务器通过CGI接口创建网关进程,并将用户请求传递给网关。应用网关处理CGI请求,并通过应用接口访问具体应用,然后将结果转换为HTML格式并回送给服务器。然而,CGI的基础HTTP是一个低速、脆弱、无状态的协议,所以在利用CGI
4、进行应用集成时存在一些问题:(1)系统开销大。因为Web服务器对每一个用户请求都必须创建一个单独的网关进程,并在接到通过进程管道发回的结果后终止该进程,其中包括进程创建与终止开销、进程间的数据拷贝开销以及进程间的切换开销等。如果一个HTML文件中包含了大量的数据库访问请求,那么这种CGIWeb网关的性能将大大下将,并且服务器很快会达到饱和状态,难以支持更多的用户请求。(2)对于面向对象技术、组件技术等新兴技术,CGI也无法适应。因此出现了专有服务器API形式,如Netscape的NSAPI和Microsoft的
5、ISAPI、NeXT的WebObjects框架以及Oracle的WebServerAPI等,但这种封闭的倾向导致了服务器Web标准的非一统一性。因此,运用先进、成熟、开放的数据库技术和网络技术设计计算机远程教育系统势在必行。我们运用CORBA技术,提出了一种基于B/A/S模式下的计算机远程教育系统。2CORBA的技术特点CORBA(CommonObjectRequestBrokerArchitecture通用对象请求代理体系结构)是OMG(ObjectManagementGroup对象管理集团)组织在其OMA(
6、ObjectManagementArchitecture对象管理体系结构)中所制定的分布式对象计算领域的规范。CORBA包括下列部件:(1)ORB(ObjectRequestBroker对象请求代理)驱动程序(ORBengine);(2)动态调用接口;接口定义语言(IDL);(3)对象适配器;(4)ORB接口;(5)工具库;接口库。它的技术特点如下:(1)应用程序间的统一接口所谓软件总线是指CORBA系统定义了一组接口规范,任何应用程序、软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便的集成到COR
7、BA系统中。这个接口规范是独立于任何的实现语言和环境。CORBA规范支持服务对象的置透明性、实现透明性、执行状态透明性和通信机制透明性。只要按IDL描述语言对所提供的服务进行描述,客户和服务器之间就可以透明的交互运行。对应用程序模块实现“即插即用”,便于从整体管理的角度出发,对各独立系统进行装配和剪裁。(2)客户方程序和服务器方程序的完全分离CORBA引入了代理的概念,一个代理至少有三个方面的作用:完成对客户方提出的抽象服务请求的映射,自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。这样以来客户将不再
8、同服务器发生直接的连接,而仅仅需要同代理进行交互。客户与服务器之间就可以自由的修改和升级,客户方程序也可以自由的按照要求进行更改,而无须通知对方。(3)分层的设计原则和实现方式CORBA规范充分支持面向对象的技术,它仅仅定义了ORB中需要用到的基本对象,封装了相应的属性和方法。而面向应用的对象定义则可以在OMA的应用对象、领域对象或应用开发环境中逐步分层定义和实现。这样以来可以提高软件
此文档下载收益归作者所有