CORBA和DCOM是用于处理分布式对象的两种中间件解决方案。这些解决方案可以更好地控制分布式计算对象,但问题是哪种技术将成为标准技术。让我们看看它们之间的详细比较。
1.通用对象请求代理体系结构(CORBA):
通用对象请求代理体系结构是分布式对象的详细规范。它是由OMG(对象管理组)介绍的。该体系结构使用称为ORB(对象请求代理)的与平台无关的对象总线来描述一种语言。这些使对象前进以发出请求,并透明地接收来自远程对象的响应。这也支持处理并发性和异常处理。
2.分布式组件对象模型(DCOM):
分布式组件对象模型是由Microsoft引入的,其Window NT作为捆绑包。 DCOM与Windows内置的Internet Explorer一起使用,并且有望吸引开发人员使用他们拥有的而不是购买的东西。 DCOM还是一种对象总线,可帮助规范对象接口并调用支持分布式环境的动态对象导出。这支持共享代码,并要求使用对象接口声明共享代码。
CORBA和DCOM之间的区别:
Basis of | CORBA | DCOM |
---|---|---|
Introduced by | It was introduced by Object Management Group | It was introduced by Microsoft |
Focuses on | This focus on Enterprise first and then Desktop | This focus on Desktop first and then Enterprise |
Platforms | It is available on Unix, Windows and Macintosh. | It is available with Windows NT and Full support with all versions of Windows, Unix and Macintosh |
Object Implementation | Various languages are supported as long as IDL can mapped to this language | Many languages are supported as Java, COBOL, C++, and Delphi but specification is done with binary language |
Client/Server Interface | Interface at Client side is stub and Server side is skeleton | Interface at Client side is proxy and Server side is stub |
Object Activation and Location | Here Object Adapter is used for activation and ORB is used for location | Here SCM (Service Control Manager) is used for activation and location |
Inheritance | Supports inheritance with interface level when every interface is inherited from CORBA object. | Supports multiple inheritance when object implements IUnknown interface. |
Garbage Collection | It does not provide general purpose Distributed Garbage Collection | It provides general purpose Distributed Garbage Collection through pinging the wire. |
Exception Handling | The care is taken by Exception objects | Exception are thrown out to HRESULT and for other exceptions ISupportErrorInfo interface has to be implemented |
Availability | It is available by multiple vendors | It is available via single vendor |