DCOM本身就是COM的一种表现形式。但是通常我们理解的COM一般就把它当成在本地执行的COM,而DCOM就当作是分布的COM,在网络上的另一台计算机上执行。所以本文针对这种情况简要分析两者的区别与联系。
【区别】
① COM有两种存在形式,动态连接库和可执行程序,但DCOM必须是可执行程序.因为DCOM不可能在客户程序的内存空间运行,所以不能是动态连接库。
② COM(动态连接库形式)可以不用RPC通信,而DCOM必须使用RPC远程调用。
③ COM(动态连接库形式)与客户共同存在于同一内存空间,调用速度快,DCOM的速度只有COM的万分之一。
④ COM(动态连接库形式)的安全性不高,客户程序可以造成服务COM发生错误,而DCOM安全性高。也是因为COM与客户程序共用内存空间造成的。
⑤ COM程序配置简单,DCOM配置较复杂.毕竟DCOM牵涉到网络和安全性。
【联系】
① 客户程序不必知道COM的存在形式。
② 有统一的接口调用方式。
③ 客户程序甚至不知道COM对象的位置。
④ 由于DCOM是COM的无缝拓展,所以一般基于COM开发的应用、组件都可以在DCOM环境下运行。