br>
作为分布式计算的标准,CORBA标准的制定已经有好几年的时间了。但是大家的目光真正集中在它身上,却是近期的事情。
OMG和CORBA
OMG (Object Management Group) 是一个由会员赞助成立的非营利组织,其目的在于推广面向对象 (Object-Oriented) 的观念及使用并致力于加强软件的可移植性 (portability),可重用性 (reusability),以及互操作性 (interoperability)。该组织会员包括厂商、学术单位及用户。目前全球大约有三百八十家重要厂商成为其会员。
CORBA(Common Object Request Broker Architecture)为OMG在一九九一年十二月提出的面向对象分布式工作环境规范, 一九九三年十二月——一九九四年九月此规范多次被修订,目前最新版本为一九九五年七月的CORBA2.0,互操作性及C++映射(mapping)标准,均在新版的标准中有更明确地规定。CORBA规范对一个对象请求中介 (Object Request Broker)的标准介面作了详细的规定。根据OMG的定义,一个对象请求中介是一个可以提供分布式环境上各个对象透明 (transparent) 的请求服务与响应接收功能的应用程序构造工具。
CORBA用于Web开发
相信业界人士都能看出来,WEB的发展必须能够满足企业之间,企业和客户之间的交易处理。要实现这一目的,未来的WEB应用必须是一种稳定的分布式应用结构。目前的WEB应用开发主要使用的仍然是CGI,ISAPI/NSAPI,ASP以及其它对WEB服务器的扩展-仍然离不开HTTP/CGI的模式,不能从根本上解决问题,我们的目光自然的落到了CORBA和JAVA身上。
CORBA和JAVA?
在WEB应用开发中使用CORBA的同时,还应当结合JAVA。因为CORBA只是一种RFC规范,它需要具体的语言和环境来实现。目前在WEB上,我们首先考虑的就是JAVA。我们还要指出,JAVA不光是指JAVA语言,还包括JVM。目前虽然有些公司在极力将JAVA描绘成纯粹的编程语言,以及有些不明真相的学生还在学习这些公司的开发工具,但是我们相信,真正理解JAVA的人是不会上圈套的。因为JAVA的高明之处就在于它自身事实上就是操作系统。即使只是保证兼容性,我们也要选择JAVA作为实现客户端的工具。
为什么要用CORBA?
那么,我们为什么要使用CORBA?其实如果单纯是分布式计算环境,我? 有RPC(DCE),DCOM/COM+(微软标准),MOM(代表产品是IBM的MQSeries)可作选择。我们不难发现,真正在WEB上有用武之地的就是CORBA。我们举RPC为例,作为在实际中应用最广的分布式计算环境DCE已经有很多年的历史,但是它的先天的缺陷,决定了它不可能在WEB上大有作为,首先,WEB环境复杂多样,使用RPC不能方便地在异种平台上互操作;其次,RPC编程要和API打交道,不易维护;另外,JAVA对RPC的支持还是一个问题。其它例如DCOM等,都或多或少的存在编程,互操作,兼容等问题。而作为OMG标准的CORBA现在已经有多种平台支持,其中在INTERNET上占据多数市场的SUN更是不遗余力地支持。另外从JAVA1.2开始RMI和CORBA有了很好的结合。所以,从选择开发平台的基本出发点-开发效率、可扩展性、可维护性、运行效率、易用性-来考虑,CORBA是最正确的选择。




