Web服务作为一种特殊的服务,继承了服务的自治性、开放性、自描述性和实现无关性。然而,作为一种特殊的服务,Web服务又有其自身的特点,那就是简单、跨平台、松散耦合,其优点是增强了服务间的互操作性,能够及时整合,降低了封装的复杂性,使遗留系统获得新生。与传统的集中式系统和客户-服务器环境相比,Web服务环境更具动态性和分布性。
(1)普遍性:Web服务使用HTTP和XML进行通信,因此任何支持这些技术的设备都可以拥有和访问Web服务。
(2)完好的封装性:Web服务是一种部署在Web上的对象,具备对象的良好封装性,即其中任何一个组件发生改变时,不需要修改其他组件来体现这种变化,它们之间的变化对对方来说是透明的。对调用者来说,只要Web服务的调用接口不变,Web服务实现的任何变更对他们来说都是透明的。对于使用者而言,他能且仅能看到该对象提供的功能列表,甚至当Web服务的实现平台从J2EE(Java 2 Platform,Enterprise Edition;Java2平台,企业版)迁移到.NET或者反向迁移时,用户都可以对此一无所知。其实现的核心在于使用XML/SOAP作为消息交换协议,也就是说Web服务因此具有语言的独立性。作为Web服务,其协约必须使用开放的标准协议(比如HTTP、SMTP等)进行描述、传输和交换。这些标准协议应该完全免费,以便由任意平台都能够实现。一般而言,绝大多数规范将最终由W3C或OASIS(Organization for the Advancement of Structured Information Standards,结构信息标准化促进组织)作为最终版本的发布方和维护方,因此Web服务也拥有了平台独立性。
(3)复用性:Web服务对象内封装的都是一些通用功能,因此也具有高度的复用性。
(4)互操作性:任何Web服务之间都可以进行交互。由于有了SOAP这个所有主要供应商都支持的新标准协议,所以避免了在CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)、DCOM(Distributed Component Object Model,分布式构件对象模型)和其他协议之间需要转换的麻烦,并且可以使用任何程序语言来编写Web服务,节约了编程者的开发成本。
(5)松散耦合性:Web服务这一特征源于对象/组件技术。当一个Web服务的实现发生变更时,调用者是不会感到这一点的。对于调用者来说,只要Web服务的调用界面不变,Web服务实现的任何变更对他们来说都是透明的。对于松散耦合而言,尤其是在Internet环境下的Web服务而言,需要有一种适合Internet环境的消息交换协议,而XML/SOAP正是目前最为适合的消息交换协议。(www.xing528.com)
(6)高度可集成性:无论Web服务建立在何种软件平台之上或用何种语言编写,都可以与其他Web服务实现当前环境下最高的可集成性。这是由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM,还是EJB(Enterprise Java Bean,企业Java组件),都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
(7)使用协议的规范性:这一特征来自于对象,但相比一般的对象,其界面更加规范化并易于被机器理解。首先,作为Web服务对象界面所提供的功能应当使用标准的描述语言来描述(比如WSDL)。其次,由标准描述语言描述的服务界面应当是能够被发现的。因此,这一描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描述语言描述的使用协议不仅仅限于服务界面,它将被延伸到Web服务的聚合、跨Web服务的事务、工作流等,而这些又都需要服务质量(Quality of Service,QoS)的保障。安全机制对于松散耦合的对象环境十分重要,因此,需要对诸如授权认证、数据完整(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法进行描述、传输和交换。最后,所有层次上的处理都应当是可管理的,因此需要对管理协议运用同样的机制。
(8)基于文本的简单性和自描述性:Web服务以XML技术为基础,而XML是基于文本的,并且具有自我描述能力。
(9)行业支持:所有主要的供应商都支持SOAP和Web服务技术。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。