论文部分内容阅读
摘 要分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件,在应用系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用的对象,这些对象可以跨越不同的软硬件平台进行互操作。以CORBA技术为例,介绍计算机技术在网络教学中的应用和实现。
关键词CORBA;网络教学;分布式系统;计算机技术
中图分类号TP文献标识码A文章编号1673-9671-(2010)101-0147-01
1CORBA技术分析
CORBA(全称是公共对象请求代理体系结构,common object request broker architecture),是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA有很廣泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中企业应用的优秀体系结构。
CORBA的底层结构是基于面向对象模型的,由OMG接口描述语言、对象请求代理和IIOP标准协议3个关键模块组成。
CORBA技术规范利用了当今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现重用、可移植和互操作。其特点如下:
1)在CORBA规范中引入了代理(Broker)的概念,一个代理至少可以完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。
2)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。
3)应用程序间的统一接口。CORBA提供软总线机制,这是系统定义的一组接口规范,使得在任何环境下,采用任何语言开发的软件只要符合接口规范的定义,均能集成到CORBA系统中。
4)CORBA采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。
5)分层的设计原则和实现方式。CORBA规范只是针对OMA体系结构中的ORB制定的工业标准,而面向对象定义则可以在OMA的应用对象或应用开发环境中逐步分层定义和实现。
2CORBA技术在网络教学中的应用和实现
2.1系统结构
基于CORBA技术的分布式远程教育系统的框架结构,其组成如下:
1)若干Web服务器。按照分布式服务的要求,这些服务器理论上可以处在网络上的任何位置。服务器承载整个远程教育系统的服务,响应用户的请求,将教学资源处理后,以适当的方式传送到客户端,供学习者使用。
2)一个或数个CORBA代理。CORBA代理的功能是在监听到网络上有对某一对象的服务请求时,负责寻找提供该对象服务的应用程序,使请求者和服务者之间建立网络连接,以便进行相应的服务。
3)一个或数个数据库服务器或者XML资源库。存放教学资源,按照实际需要,可以使用数据库服务系统,也可以是纯粹的XML文件。数据库系统中也可以存放XML格式的数据,这只是XML格式的数据的存在形式。而数据库中的其他格式的数据,也可以经过处理,转化成XML格式的数据,以便在网络上传输。
4)客户端,嵌入JAVA运行时环境的浏览器。
2.2系统配置及其实现
1)Web服务器。采用Windows2000Server,在该服务器上安装Sun公司的J2SDK1.4.1forWindows,使之具有JAVA开发环境,然后再安装Sun公司的jwsdp-1_0_01forWindows,该软件包是一个支持JAVA的Web服务器,与Windows2000Server的InternetInformationServer配合使用,其服务端口为8080,根据用户的情况,可以更改为其他端口。
2)CORBA代理。采用Borland公司的Visibroker4.51forJAVA,在网络中安装在某几台PC上,使用时,只需要运行内含程序SmartAgent即可。
3)数据库系统。采用Oracle数据库系统。
4)开发及其运行。用Jbuilder7.0进行开发应用系统,将所用教学资源以XML文件的形式置入合适的目录中,或者将数据存入到数据库中;使用IDL文件定义服务对象接口;为了充分使用JAVA所具有的各种功能,该页面可以用Jsp来实现;用CORBAApplicationServer向导制作服务器端对象的服务实现;多媒体信息的传送和显示可以用JAVAApplet来完成,因此需要将这些JAVAApplet置入合适的位置,以便让页面文件调用。系统工作时,首先由客户端通过浏览器发出服务请求,当该请求不涉及CORBA对象时,Web服务器就直接处理,而当涉及到CORBA对象时,就会通过SmartAgent去寻找该对象的实现,对于用户来讲,并不关心对象服务实现的方式和位置。
3系统中的核心问题及解决方法
该系统的核心问题是服务器端CORBA对象服务的实现及其XML信息的处理。基于CORBA的分布式远程教育系统,其服务分布在不同的服务器上,并且这种服务是透明的。对于用户来讲,并不知道服务是由谁来提供和怎样提供的。要保证这种服务,服务器端最核心的也是最重要的工作就是CORBA服务对象的实现,而这种服务又和教育资源紧密相连,本系统中教育资源又往往以XML信息的形式存在,因此,在CORBA服务对象中,怎样处理XML信息,也是非常关键的。
我们以前面谈到的XML文件信息为例来说明怎样来解决XML信息的处理和CORBA服务对象的实现。我们知道,上述的XML文件信息表示的是分形树图像,它内含了分形树的所有信息。
如果在系统中,服务器端需要提供向客户端传送并显示分形树的服务,那么,可以用如下IDL文件来定义CORBA对象接口:
ModuleShowImage
{
interfacefractal
{
voiddisplay();
};
};
对其进行编译分别得到符合IIOP协议的服务器端skeleton文件和客户端stub文件。客户端程序的编写,只需把调用fractal对象的方法display()置入相关页面,而在服务器端,在skeleton文件的基础上,实现fractal对象中的display()方法。在实现该方法的过程中,完成对XML信息的处理。对XML信息的处理,可以采用三种模型:SAX、DOM或JDOM。分形树是用JDOM模型实现的,当然,最终的结果,不会因为不同的处理模型而改变。
对于服务器端,只要设计好服务对象,并用IDL接口文件进行描述,那么余下的工作,便是CORBA对象服务的实现了。只要大家共用的是同一个IDL文件,就不会存在服务上的冲突。在通常情况下,该类系统可以参照上述的模式进行开发。
参考文献
[1]王晓东.实时CORBA及应用研究[J].计算机应用研究,2007,1.
[2]何克抗.网络教学结构与网络教学模式探讨[J].教育技术通讯,2006,5.
关键词CORBA;网络教学;分布式系统;计算机技术
中图分类号TP文献标识码A文章编号1673-9671-(2010)101-0147-01
1CORBA技术分析
CORBA(全称是公共对象请求代理体系结构,common object request broker architecture),是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA有很廣泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中企业应用的优秀体系结构。
CORBA的底层结构是基于面向对象模型的,由OMG接口描述语言、对象请求代理和IIOP标准协议3个关键模块组成。
CORBA技术规范利用了当今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现重用、可移植和互操作。其特点如下:
1)在CORBA规范中引入了代理(Broker)的概念,一个代理至少可以完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。
2)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。
3)应用程序间的统一接口。CORBA提供软总线机制,这是系统定义的一组接口规范,使得在任何环境下,采用任何语言开发的软件只要符合接口规范的定义,均能集成到CORBA系统中。
4)CORBA采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。
5)分层的设计原则和实现方式。CORBA规范只是针对OMA体系结构中的ORB制定的工业标准,而面向对象定义则可以在OMA的应用对象或应用开发环境中逐步分层定义和实现。
2CORBA技术在网络教学中的应用和实现
2.1系统结构
基于CORBA技术的分布式远程教育系统的框架结构,其组成如下:
1)若干Web服务器。按照分布式服务的要求,这些服务器理论上可以处在网络上的任何位置。服务器承载整个远程教育系统的服务,响应用户的请求,将教学资源处理后,以适当的方式传送到客户端,供学习者使用。
2)一个或数个CORBA代理。CORBA代理的功能是在监听到网络上有对某一对象的服务请求时,负责寻找提供该对象服务的应用程序,使请求者和服务者之间建立网络连接,以便进行相应的服务。
3)一个或数个数据库服务器或者XML资源库。存放教学资源,按照实际需要,可以使用数据库服务系统,也可以是纯粹的XML文件。数据库系统中也可以存放XML格式的数据,这只是XML格式的数据的存在形式。而数据库中的其他格式的数据,也可以经过处理,转化成XML格式的数据,以便在网络上传输。
4)客户端,嵌入JAVA运行时环境的浏览器。
2.2系统配置及其实现
1)Web服务器。采用Windows2000Server,在该服务器上安装Sun公司的J2SDK1.4.1forWindows,使之具有JAVA开发环境,然后再安装Sun公司的jwsdp-1_0_01forWindows,该软件包是一个支持JAVA的Web服务器,与Windows2000Server的InternetInformationServer配合使用,其服务端口为8080,根据用户的情况,可以更改为其他端口。
2)CORBA代理。采用Borland公司的Visibroker4.51forJAVA,在网络中安装在某几台PC上,使用时,只需要运行内含程序SmartAgent即可。
3)数据库系统。采用Oracle数据库系统。
4)开发及其运行。用Jbuilder7.0进行开发应用系统,将所用教学资源以XML文件的形式置入合适的目录中,或者将数据存入到数据库中;使用IDL文件定义服务对象接口;为了充分使用JAVA所具有的各种功能,该页面可以用Jsp来实现;用CORBAApplicationServer向导制作服务器端对象的服务实现;多媒体信息的传送和显示可以用JAVAApplet来完成,因此需要将这些JAVAApplet置入合适的位置,以便让页面文件调用。系统工作时,首先由客户端通过浏览器发出服务请求,当该请求不涉及CORBA对象时,Web服务器就直接处理,而当涉及到CORBA对象时,就会通过SmartAgent去寻找该对象的实现,对于用户来讲,并不关心对象服务实现的方式和位置。
3系统中的核心问题及解决方法
该系统的核心问题是服务器端CORBA对象服务的实现及其XML信息的处理。基于CORBA的分布式远程教育系统,其服务分布在不同的服务器上,并且这种服务是透明的。对于用户来讲,并不知道服务是由谁来提供和怎样提供的。要保证这种服务,服务器端最核心的也是最重要的工作就是CORBA服务对象的实现,而这种服务又和教育资源紧密相连,本系统中教育资源又往往以XML信息的形式存在,因此,在CORBA服务对象中,怎样处理XML信息,也是非常关键的。
我们以前面谈到的XML文件信息为例来说明怎样来解决XML信息的处理和CORBA服务对象的实现。我们知道,上述的XML文件信息表示的是分形树图像,它内含了分形树的所有信息。
如果在系统中,服务器端需要提供向客户端传送并显示分形树的服务,那么,可以用如下IDL文件来定义CORBA对象接口:
ModuleShowImage
{
interfacefractal
{
voiddisplay();
};
};
对其进行编译分别得到符合IIOP协议的服务器端skeleton文件和客户端stub文件。客户端程序的编写,只需把调用fractal对象的方法display()置入相关页面,而在服务器端,在skeleton文件的基础上,实现fractal对象中的display()方法。在实现该方法的过程中,完成对XML信息的处理。对XML信息的处理,可以采用三种模型:SAX、DOM或JDOM。分形树是用JDOM模型实现的,当然,最终的结果,不会因为不同的处理模型而改变。
对于服务器端,只要设计好服务对象,并用IDL接口文件进行描述,那么余下的工作,便是CORBA对象服务的实现了。只要大家共用的是同一个IDL文件,就不会存在服务上的冲突。在通常情况下,该类系统可以参照上述的模式进行开发。
参考文献
[1]王晓东.实时CORBA及应用研究[J].计算机应用研究,2007,1.
[2]何克抗.网络教学结构与网络教学模式探讨[J].教育技术通讯,2006,5.