整体来说,Web服务的优点非常多,以至于有人认为"它的出现颠覆了传统的网络应用程序通信机制"。
1.Web服务是一种优秀的分布式计算技术
基于组件的分布式计算的应用程序系统通常使用的协议是CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)和Microsoft的DCOM(Distributed Component Object Model,分布式组件对象模型)。
对于这两种协议,尽管它们有许多相通之处,但是它们在细节上有很多不同,也导致使用这两个协议的应用程序很难进行相互通信。假如要实现一个跨平台、跨Internet、适应Internet的可伸缩性的应用程序时使用这两种协议,将会显得力不从心。
而Web服务不同,它是基于组件的分布式技术变革的必然产物。创建跨平台、跨Internet的分布式系统,正是Web服务的优势所在。
总体来说,Web服务在实现分布式应用方面,主要有以下几个特征。
Web服务与客户端的联系松散。客户端向Web服务发出请求,Web服务器向客户端返回响应结果,然后连接就会断开。使用这种方式不存在永久性链接,因而避免了链接管理等复杂性的问题。Web服务可以随意扩展其接口,并在添加新的方法以后不会影响客户端的使用。
Web服务与状态无关。Web服务不支持代表客户端的状态信息,这使得它在面对许多客户端的时候伸缩自如。Web服务使用的HTTP协议也是与状态无关的。
2.可以轻松地跨过防火墙
对于在网络中运行的各个主机来说,引入防火墙是非常有必要的事情,防火墙可以阻止入侵者进入网络,消除局域网中不友好的网络通信。特别是对于服务器来说,使用防火墙是很有必要的事情。
但是,每一种事物的出现都有利有弊。防火墙可以很好地保护网络中主机的安全,但是这种安全保护却要付出一些代价:它使得合理的网络通信也出现一定的瓶颈。合理、正确地配置防火墙来支持DCOM通信是一件非常不容易的事情,所以使用DCOM等协议来实现一个网络通信系统非常不方便。
而SOAP协议从设计的角度就直接避免了这个问题,它直接标准化了对象请求时的HTTP使用方法。
SOAP使用HTTP作为其通信协议,HTTP协议可以很轻松地通过防火墙,所以SOAP就轻松地避免了这个问题。
3.使用的SOAP协议非常简单
虽然DCOM使用起来也具有一定的优势,比如其具有位置透明性等,程序中不需要包括任何特殊的DCOM代码等。但是建立一个DCOM系统并使之正常运行并不是一件容易的事情(如何通过防火墙就是一个问题)。
DCOM服务器必须在客户端上进行注册,当服务器被修改以后,客户端的代码必须随之更新,所以基于其开发的应用程序使用起来非常不易。
使用Web服务就大不一样了。Web服务使用的是SOAP协议,它比较灵活,要求的技术含量也非常低。SOAP可以利用通用的XML分析器和当前流行的HTTP服务器来实现。
而且Web服务的串行化格式基于XML语言。XML简单、可扩展、易读,已经得到广泛的支持和应用。相对于具有复杂格式的DCOM和CORBA来说,Web服务在对传输的数据进行处理的问题上非常优秀。
4.集中信息
有人说Web服务的出现是"一种新的应用程序架构的革命",很大程度上也体现在这个方面。
Web可能真的会改变当前的应用程序的架构。以前面举过的天气预报的例子为样本,我们直接使用Web服务提供商提供的天气预报服务,别人也可以直接使用这种服务。那么,当有一天,所有的人都在使用这一家Web服务提供商的天气预报功能的Web服务时,全世界的天气预报信息都将集中在这一家信息中心的服务器中,就达到了天气预报信息的集中化。
当然,互联网中的其他服务也可以实现真正的集中,比如个人信息。现在的情况是每一个互联网系统都有一套用户信息系统,这样用户信息非常分散,用户在某一个系统中注册的用户信息不能在另一个系统中使用,使用多个系统的用户通常在修改一项个人信息时,需要重复修改多个系统中的相应信息。
再考虑另一种情况,很多时候我们会将自己的通信记录保存在不同的地方:有的保存在笔记本电脑中,有的保存在手机中。这些不同地方保存的信息往往不会同步,而且格式可能也不相同。
而使用Web服务,数据的集中处理将变得非常容易。我们可以在一个集中的信息登记处来注册个人信息,然后便可以在多个系统(地方)同步使用、更新和维护一份相同的信息。
当然这样会面临数据覆盖的风险,但是我们可以使用历史记录等工具来记录每一次修改,以备不测。
这个思想,虽然非常有创意,但是现实的情况并不能很好地适应当前的社会环境。不过庆幸的是有一些互联网服务提供商已经开始着手做此类的一些服务了,最典型的当属Microsoft的Passport了。
Passport服务是一种单项签名验证的服务,当前它已经有很多用户了,当然主要应用在流行的Hotmail和MSN服务等系统中。
当然,随着时代的发展,这种使用Web服务的数据集中的形式肯定会慢慢地被用户所接受。这些互联网服务提供商的大力推广和大胆应用肯定会促进这一过程的发展。期待那一刻!
【责任编辑: 云霞 TEL:(010)68476606】
|