解读COM与CORBA(下)

原创 2001年08月03日 15:29:00
解读COM与CORBA(下)
技术比较
(作者:施晓军编译 2001年04月13日 13:53)

  CORBA依赖于IIOP进行远程对象通信,DCOM则依赖于对象远程处理过程调用(ORPC)以达到相同的目的。 CORBA体系结构是基于对象请求代理的;DCOM则以COM作为它的基础,事务处理则依赖于MTS或MSMQ。CORBA规范不是针对特定厂商的,因此CORBA应用能运行于不同的硬件平台上。DCOM则是由微软制定、拥有的体系结构,并且只能运行于微软操作系统支持的硬件平台上。CORBA支持多继承,DCOM仅支持单继承。DCOM每两分钟使用ping的方法检查客户是否依旧处于激活状态,如果客户超过六分钟时依旧未作响应,DCOM则会取消该客户请求。相反地,CORBA不强迫客户保持连接状态,并且不使用保持激活状态的通信方法。由于DCOM使用保持激活状态的通信方式,因此能够决定何时取消请求,从而使用内建的垃圾收集功能; CORBA则不提供内建的垃圾收集方法。

使用方面
  ●COM/DCOM

  COM/DCOM是微软拥有的体系结构,仅被WINDOWS家族的操作系统支持。不管怎样,有第三方厂商提供了在UNIX系统上的DCOM支持。DCOM基于自然的二进制格式,因此执行较快,但是不适用于其它平台。COM/DCOM组件能够访问WINDOWS API,因此能潜在地损坏或危及用户的计算环境。DCOM为分布式对象提供基本的支持,但不支持实时处理,也不适于在需高可靠性的情形下使用。虽然COM已经出现了很长时间,但是,对于它的扩展DCOM,在大量的分布式应用中的前景,还不是很明朗的。

  ●CORBA

  CORBA仅仅是一个规范,而不是一个实现,因此,用户很难确定所购买的产品是否完全兼容CORBA。并且没有已定义的测试套件,来测试是否兼容CORBA。对于客户来说,需要有行家对厂家的产品进行评价。CORBA是一个复杂的规范,需要有相当多的专家来开发分布式对象和应用。从另一方面来讲,使用CORBA,能使开发分布式应用变得容易。当然,需要很多对分布式系统设计,分布式、多线程程序设计和调试,内联网,和面向对象分析、设计精通的专家。

使用比较
  CORBA提供跨平台支持,COM/DCOM则局限于微软操作系统。CORBA 和COM都支持用不同的程序设计语言书写的组件。CORBA对象基于1991年颁布的一个标准规范;COM规范和代码则是处于一个不停地变化的过程中,它的文档也只是一个草案。COM最初被设计运行于单一的机器上,而不是大规模的网络上。不管怎样,CORBA从一开始就是被设计用于大规模的分布式应用中的。

  提供CORBA产品的开发商很多,而COM/DCOM只能从微软处获得。CORBA规范是由OMG定义的,它的成员很多,能够比较好地反映行业的需求,而COM/DCOM是微软所拥有的,它的规范是由微软说了算的。

结语
  对于分布式计算,COM/DCOM和CORBA都具有可扩展性和健壮性的结构,并且具有各自不同的优势。不管怎样,鉴于它们内在的区别,它们分别适用于具有不同规模和类型的应用中。如果系统主要运行微软操作系统,并且其地域分布上不是很广的话,那么,COM/DCOM或许是比较合适的。CORBA则适用于异构的、大规模的分布式系统。两种技术体系结构有其相同点和不同点,因此,在挑选产品时,必须作一番考虑。当然,许多开发商为CORBA应用和COM交互提供了许多解决方案。看上去,COM/DCOM和CORBA将会继续强有力地竞争下去,并且会长久地并存。



EJB、DCOM、CORBA 三种技术分析

---- 90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,...
  • wzg1031
  • wzg1031
  • 2014年10月10日 10:32
  • 1200

CORBA、 EJB(JavaEE规范)、WebService比较

CORBA和EJB 1.工业标准: 都是。很多厂商共同遵守。 2.提供的基本支撑: (1)构件化: CORBA提供半自动的构件运行环境,开发人员除了开发构件还要开发POA(相当于Skel...
  • u010924834
  • u010924834
  • 2016年07月15日 11:06
  • 474

解读COM与CORBA(上)

解读COM与CORBA(上)技术解析(作者:施晓军编译 2001年04月13日 13:53)  COM (Common Object Model)有时被称为公共对象模型,微软官方则称之为组件对象模型(...
  • yangmajituipo
  • yangmajituipo
  • 2001年08月03日 15:26
  • 999

CORBA, C++ and Linux:

http://www.yolinux.com/TUTORIALS/CORBA.html
  • xinqingwuji
  • xinqingwuji
  • 2016年03月28日 18:04
  • 330

Corba 学习笔记 (一)

背景:项目上使用到了CORBA这个古老的东东,所以需要学习一下。 CORBA的一些资料,童鞋们可以自己看,我就不贴在这里了 > http://baike.baidu.com/view/153815.h...
  • wssiqi
  • wssiqi
  • 2015年11月10日 21:52
  • 4968

RMI, RPC, CORBA区别

RMI 和 RPC均可以均提供远程方法访问的基础通信和参数引用要求的串行化机制,RPC和RMI之间的一个重要差别是RPC用快速而不够可靠的UDP协议,RMI用低速而可靠的TCP/IP协议。另外 RMI...
  • AbnerChai
  • AbnerChai
  • 2012年06月14日 11:02
  • 2105

分布式技术比较(RPC,CORBA,WebService)

1、RPC(Remote Procedure Call Protocol) RPC是由Sun发明的远程过程调用协议,是第一种真正的分布式应用模型。面向过程 2、CORBA(Co...
  • after_
  • after_
  • 2014年01月07日 21:30
  • 1671

java中rmi和corba的区别

java中rmi和corba的区别:1、定义接口:rmi自己定义接口(interface)corba生成idl代码,然后使用idlj -fall name.idl生成接口和几个类文件2、启动服务:rm...
  • njchenyi
  • njchenyi
  • 2005年08月31日 03:48
  • 3992

CORBA协议相关的概念

CORBA 公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理组织(Object Manage...
  • wodeyuer125
  • wodeyuer125
  • 2015年04月26日 14:37
  • 721

RPC、CORBA、DCOM之间关系

RPC是由Sun发明的远程过程调用协议,是第一种真正的分布式应用模型。Windows上使用的R PC是DCERPC的扩展。严格地说,RPC是一种逻辑上的协议,它可以使用Socket、Named Pip...
  • mapguru
  • mapguru
  • 2015年09月01日 20:16
  • 496
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解读COM与CORBA(下)
举报原因:
原因补充:

(最多只允许输入30个字)