网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

CORBA与DCOM之间的区别

更新时间:2026年03月27日   作者:spoto   标签(Tag):

在分布式系统的领域中,CORBA(Common Object Request Broker Architecture)和DCOM(Distributed Component Object Model)是两种非常重要的技术。这两种技术的目的是实现不同位置上的对象之间的通信,无论这些对象位于不同的网络之间还是不同的系统中。 这两种方法在解决大型系统中的互操作性问题方面都发挥了重要作用,但它们各自具有独特的特性、优势以及面临的挑战。 本文将探讨CORBA和DCOM之间的主要区别,从而帮助开发者更容易地决定哪种技术更适合他们的需求。

什么是通用对象请求代理架构(CORBA)?

Common Object Request Broker Architecture是一种针对分布式对象的详细规范。该规范由OMG(对象管理组织)提出。该架构描述了一种与平台无关的对象通信机制,该机制被称为ORB(对象请求代理)。这种机制能够让对象透明地发送请求并接收来自远程对象的响应。此外,它还支持各种复杂的操作。

CORBA的优势:

  • 平台与语言的独立性:CORBA是一种与编程语言无关的规范,它支持多种编程语言,如C++、Java、Python等。因此,CORBA可以在不同的平台上正常运行。
  • 可扩展性:CORBA的设计充分考虑了可扩展性,因此非常适合用于大型的企业级应用程序。
  • 高度抽象化:CORBA能够以高度抽象的方式实现系统之间的通信,这使得开发者能够更轻松地处理分布式系统相关的任务。

CORBA的缺点:

  • 复杂性:CORBA的初始化过程以及学习曲线可能会相当陡峭,尤其是对于那些不熟悉分布式计算的开发者来说。
  • 间接费用:CORBA会带来相当大的开销,尤其是在性能方面。这是因为CORBA具有非常丰富的功能特性。.
  • 安全问题:虽然CORBA有相关的安全标准,但其早期版本因为安全机制不足或无法有效处理并发情况以及异常处理问题而受到了批评。

什么是分布式组件对象模型(DCOM)?

分布式组件对象模型是由微软推出的,它作为Windows NT操作系统的配套软件而存在。 DCOM是在Windows系统中,当Internet Explorer处于运行状态时使用的技术。其目的就是鼓励开发者继续使用现有的技术,而不是去购买新的技术。 DCOM同样是一种对象总线,它有助于定义对象接口,并能够调用那些支持分布式环境的动态对象功能。 这意味着,代码可以被共享。不过,被共享的代码必须通过使用对象接口来加以声明。

DCOM的优点:

  • 与Windows系统的紧密集成:作为微软的专利技术,DCOM能够与基于Windows的系统无缝集成。因此,它非常适合用于那些构建在Windows生态系统中的应用程序中。
  • 易用性:熟悉COM以及微软生态系统的开发者来说,DCOM的实现相对简单。
  • 支持多种语言:虽然DCOM与微软紧密集成,但它支持多种编程语言,例如Visual Basic、C++和Java。

DCOM的缺点:

  • 平台依赖性:DCOM与Windows平台紧密绑定,因此不太适合那些需要跨平台兼容性的系统。
  • 安全方面的成本/开销:DCOM的安全模型相当复杂,这会在配置和维护分布式应用程序时带来很大的负担。
  • 网络性能:在大规模分布式网络中,DCOM的性能可能会相对较慢,尤其是与更现代的技术相比时。

CORBA与DCOM之间的区别:

基础/依据CORBADCOM
由……引入它是由对象管理组织所推出的。这是由微软推出的产品。
专注于这种策略是先专注于企业级应用,然后再转向桌面应用领域。这种策略是先注重桌面端,然后再考虑企业级应用。
平台该软件可在 Unix、Windows 和 Macintosh 操作系统上运行。它适用于Windows NT操作系统,并且与所有版本的Windows、Unix以及Macintosh操作系统都能完美兼容。
对象实现只要 IDL 能够将该语言转换为相应的格式,那么各种语言都可以被支持。许多语言都得到了支持,比如Java、COBOL、C++以及Delphi。不过,这些语言的规范都是用二进制语言来描述的。
客户端/服务器接口客户端端的接口只是个雏形而已,而服务器端的接口则还处于初步阶段。客户端端的接口使用的是代理模式,而服务器端的接口则采用存根模式。
对象激活与定位在这里,Object Adapter被用于激活功能,而ORB则被用于定位功能。在这里,SCM(服务控制管理器)被用于激活和定位功能。
继承当每个接口都继承自CORBA对象时,该机制可以支持在接口级别进行继承。当对象实现了多重继承时,系统会支持这种特性。IUnknown接口。
垃圾回收它并不提供通用的分布式垃圾回收功能。它通过向网络发送请求来实现通用的分布式垃圾回收功能。
异常处理这些操作是由Exception对象来处理的。例外情况会被排除在外。HRESULT以及对于其他特殊情况而言I支持错误信息处理该接口必须被实现。
可用性有多种供应商提供该产品。可以通过单一供应商获取该产品。

结论

总结来说,CORBA和DCOM都是非常强大的技术,它们旨在促进分布式对象之间的通信。不过,这两种技术适用于不同的环境和应用场景。 CORBA具有平台与语言独立性,因此非常适合用于异构系统。而DCOM则能更好地与Windows操作系统集成,因此非常适合那些在微软生态系统中工作的开发者使用。 是否选择使用CORBA或DCOM,取决于诸如平台需求、系统的复杂性以及开发人员对相应技术的熟悉程度等因素。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料