CORBA應用程序和DCOM應用程序不能實現互操作,兩者不能在一起協作。因爲在ORPC(DCOM)協議中,用ObjRef代表了一個正在運行對象的引用;在CORBA/IIOP中,用交換可互操作對象引用IOR代表一個服務器的對象引用。不幸的是,IOR 與 ObjRef不能夠關聯起來。而使用SOAP可以實現在垂直應用層面上CORBA ,DCOM技術的水平整合,能夠更好的集成CORBA,DCOM爲一個整體。
總的來說,SOAP比它處於一個更低的層次,有點類似於IIOP在CORBA和ORPC在DCOM的作用,DCOM雖然提供了一些額外的協議功能,是IIOP 或者SOAP所不具備的。然而,許多DCOM的額外功能只有在服務器――服務器間通信時纔會用到,對於客戶端――服務器之間的通信則是多餘的。
COM/DCOM屬於組建模型的範疇,這與EJB和CORBA組件模型都是可以類比的;
不過CORBA本身有兩層含義:既是一種組件模型標準,也是分佈式應用服務標準,是一個框架(如liu所言);與之可以類比的是Web Service infrastructure或COM+(DCOM + MTS的擴展)。
而soap作爲一種通信協議,與RMI、ORPC、IIOP的作用是類似的
可以以一張表來說明:
服務框架 基本組件模型 通信協議 接口描述 服務發現方法
--------------------------------------
CORBA CORBA組件 IIOP IDL CORBA發現服務
J2EE EJB RMI JAVA JNDI
COM+ COM/DCOM ORPC MIDL 註冊表
Web Service框架 Web Service SOAP WSDL UDDI