COM和DCOM的区别
什么是COM?
Microsoft的组件程序架构COM(组件对象模型)主要是为Windows设计的。它是构建OLE和ActiveX的基础,它允许代码重用而无需重新编译。COM中的组件是特定于平台的二进制文件,符合标准的应用程序和其他组件可以使用。
使用组件服务的程序包含指向其标准化接口的指针,而不是访问组件的底层数据结构。因此,无论组件如何工作或使用何种语言编写,组件都可以相互通信。
COM程序员使用COM感知组件来创建他们的应用程序。类ID(CLSID)是全局唯一标识符,用于标识不同的组件种类(GUID)。每个COM组件都有一个或多个公开其功能的接口。接口ID(IID),也是GUID,用于区分组件支持的许多接口。
什么是DCOM?
DCOM是一种编程技术,它允许计算机在远程计算机上运行程序,就像它们在本地运行一样。分布式组件对象模型(DCOM)是分布式组件对象模型的首字母缩写词。它是一个软件组件,使COM对象能够通过网络进行通信。
DCOM是COM的扩展,它解决了COM模型的一些问题,使其在网络上更有利-
编组-编组解决了将数据从一个COM对象实例传送到另一台机器上的另一个的问题;用编程的话来说,这被称为“传递参数”。
分布式垃圾收集-旨在扩展DCOM以处理大量互联网流量,分布式垃圾收集还包括一种用于删除和回收已完成或废弃的DCOM对象的机制,防止Web服务器内存被炸毁。然后它与事务链中的其他服务器通信,通知它们事务的对象可以删除。
DCE/RPC用作底层RPC机制——微软构建DCE/RPC作为DCOM的底层技术——DCOM中的D来自于此——以实现前面提到的目标,尝试扩展以支持大量的Web流量。
下表突出显示了区分COM和DCOM的要点-