为了使分布式系统正确地工作,运行于网络中各台计算机上的应用程序组件必须能够互相通信。20世纪90年代初,包括OMG(对象管理组织)、Microsoft、Sun和IBM在内的许多公司和组织都意识到了这一点,并开始发展它们自己的技术以实现分布式组件之间的通信。OMG的公共对象请求代理体系结构(CORBA),Microsoft的分布式组件对象模型(DSOM),Sun公司的远程方法调用(RMD)以及IBM的分布式系统对象模型(DSOM)都能允许运行于不同地点的程序之间进行通信,就像在同一台计算机上一样。这是一项重大进步,因为企业可以使用这些技术把应用程序与其商业伙伴的计算机系统集成起来。
但是,这些技术之间的可互操作性(与不同供应商、不同平台的软件之间通信和共享数据的能力)是非常有限的。例如:DCOM和CORBA这两个最通用的技术之间却不能简单地通信。DCOM和CORBA组件之间通常要通过COM/CORBA桥来通信。如果DCOM和CORBA的底层协议发生改变的话,程序员就必须修改桥以反映这种变化。这些问题削弱了分布式计算对于促进商业过程集成和自动化的能力。
Web服务通过扩展了有限的客户操作性而改进了分布式计算的能力。与DCOM和CORBA不同,Web服务使用了开放的(即非专有的)标准。这意味着Web服务理论上可以是任何两个软件组件进行通信(即使创建组件的技术或组件所基于的平台有所不同)。
而且,基于Web服务的应用程序比较容易调试,因为Web服务使用的是基于文本的通信协议,而不是DCOM和CORBA采用的二进制通信协议。目前,很多组织已丌始实施Web服务以改进DCOM组件和CORBA组件之问的通信,并创建基于标准的分布式计算系统。
|