WebService 与 DCOM / Corba 是什么关系?

首先,COM/DCOM是组件/分布式组件模型标准,CORBA是分布式应用的服务标准。CORBA和DCOM为分布式应用程序建立服务和服务对象来执行客户端调用的服务。而SOAP是基于XML和HTTP的分布式对象的通信协议,是COM/DCOM和CORBA对象进行通讯的协议。实际上,利用SOAP的互操作性和CORBA强大的执行能力,两者可以很好的结合在一起。    
  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    

你可能感兴趣的:(webservice)