论文部分内容阅读
随着分布式计算的普及,中间件作为解决分布式异构问题的关键技术,得到了飞速发展。目前,在各个中间件体系之间进行相互通信已经成为分布式计算中的一个发展趋势,COM和CORBA作为两种主流中间件体系结构,在分布式应用中使用的范围越来越广,在它们之间如何进行互操作受到越来越多的人的关注。在很多领域里COM和CORBA的功能是重叠的,特别是在企业集成方面,因而很多大型分布式应用软件有可能既用到了COM,也用到了CORBA来构建。这种情况下,对COM和CORBA进行互操作就显得尤其重要。本文就是对这一互操作问题进行了研究。 本文首先对CORBA和COM(DCOM)进行对比分析,突出它们之间的相同点和不同点,在此基础上我们对这两种对象的接口定义语言,从基本数据类型到构造类型均作了双向映射,根本上解决了两者数据类型的不兼容。然后根据互操作对象模型提供的桥接关系和桥接器所处的位置,我们分别实现了COM和CORBA之间的本地桥接器和远程桥接器。桥接器利用两个视图对象来为COM对象和CORBA对象提供服务。其中COM视图是一个实现了CORBA对象接口的COM对象,而CORBA视图则是一个实现了COM对象接口的CORBA对象,这样一来,COM视图就具有了CORBA对象的功能,而CORBA视图同时也具有了COM对象的功能。另外,为了能够在分布式计算环境中利用该桥接器,必须为COM对象提供分布式操作能力。论文中为此在CORBA所采用的协议和DCOM协议之间也作了双向映射,使得这两种对象的互操作过程能够彻底屏蔽掉底层细节,透明地为客户提供服务。测试结果表明,该桥接器的性能达到较为理想的要求。 桥接器的实现,为COM和CORBA对象之间的互操作提供了便利。可以预见,不仅仅是在COM和CORBA间,其他中间件体系之间互操作问题的研究也将会被日益提到日程上来,这将有力地推动分布式计算的发展,对于解决分布式环境的异构问题也具有重大意义。