胡海波
【摘要】 网络数据库中的数据之间的关系不是一一对应的,本文由此分析了作为公共对象请求代理体系结构的CORBA如何能很好的解决异构性导致的应用软件在互操作性、兼容性等方面的问题。
【关键词】 CORBA技术 网络数据库 技术应用
一、引言
在企业采用的不同系统间不可避免地在编程语言、操作系统、网络协议、数据库结构等方面存在异构性,使系统的可移植性、可重用性和互操作性受到限制。为此,引入了中间件概念。CORBA技术就是一种中间件技术。
二、基本概念
CORBA其实就是把用其他语言开发的程序码和关于该程序码能力和如何调用该程序码的资讯包到一个套装(package)中,包成套装的物件则可以在网络上被其他程序(或CORBA物件)调用。网络数据库(也叫WEB数据库)以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。例如,将数据存入数据库,或者对数据库进行查询操作等,最后网站将操作结果传回给浏览器,通过浏览器将结果告知用户。
三、CORBA体系结构
CORBA体系结构与规范建立在OMG的对象模型基础之上,它主要由三个关键部分组成:接口定义语言IDL、对象请求代理ORB和标准通信协议IIOP。OMG制定了公共对象请求代理结构CORBA这一ORB的技术规范标准,详细定义了ORB应具备的特性和提供的接口。CORBA3.0具有以下几个组成部分:(1)ORB内核;(2)OMG接口定义语言IDL;(3)接口池;(4)存根进程与框架进程;(5)动态请求与分发;(6)对象适配器。
CORBA各组成部件间的关系如图1所示。
四、CORBA技术应用
4.1 应用一
(1)一些数据库系统不一定支持很多操作系统。选择一个数据库系统可能适合数据库服务器,但是要把所有客户端都限制在指定的操作系统是不适宜的。(2)CORBA比数据库系统支持的语言的范围更广。一些数据库系统支持多种语言但不支持它们之间的互操作,或者说,对一种语言支持得比较全面,但对其他的则支持的有限。(3)使用 CORBA 来系统集成使系统的各构件能直接通信,而用数据库系统来进行系统集成需要使用一个数据库在构件间传递信息。两种方法都很有用,将CORBA和数据库集成就使系统设计者能根据各子系统的不同选择合适的方法来实现。(4)CORBA提供和OLE的紧密集成,允许VB和其他一些脚本语言能象调用OLE对象一样容易地调用远程CORBA对象(不管它们是否存储在数据库中) 。
4.2 应用二
三层结构的基本元素是客户机、应用服务器和数据库服务器客户机通过应用服务器输出的IDL 接口来访问应用服务器应用服务器扮演双重角色,一方面是CORBA 服务器,另一方面作为数据库客户机访问数据库服务器以获得持久状态信息。远程客户通过客户 Stub向本地的ORB发出连接服务对象的请求;客户端的ORB 转发此请求;通过IIOP协议,经由网络转送至应用服务器方的ORB;应用服务器方的 ORB 在接收到请求后,通过对象适配器寻找对应的 Skeleton,然后获得相应的对象实现;对象实现执行相关的方法,如果需要连接数据库,则通过JDBC与数据库服务器进行连接,将SQL提交给数据库系统;数据库服务器解释执行 SQL语句,然后将执行结果返回应用服务器上的服务对象;服务对象对结果处理后传回给客户端。
五、CORBA技术前景
CORBA技术可以实现分布式异构环境下面向对象软件的可重用性、可移植性和互操作性,建立起一种跨硬件平台、操作系统、网络环境以及数据库的异构型应用环境。有些开发商的可视化软件系统中预设了CORBA组件工具,用户很容易使用,而不用IDL编写。将来,该项技术在应用中会不断完善,为编程人员提供解决难题的利器。