Web服务 - 特性



Web服务具有以下特殊的行为特征:

基于XML

Web服务在数据表示和数据传输层使用XML。使用XML消除了任何网络、操作系统或平台绑定。基于Web服务的应用程序在其核心级别具有高度互操作性。

松耦合

Web服务的使用者不会直接绑定到该Web服务。Web服务接口可以随着时间推移而更改,而不会影响客户端与服务交互的能力。紧耦合系统意味着客户端和服务器逻辑紧密绑定在一起,这意味着如果一个接口发生更改,则必须更新另一个接口。采用松耦合架构往往使软件系统更易于管理,并允许不同系统之间更简单的集成。

粗粒度

Java等面向对象技术通过单个方法公开其服务。单个方法对于在企业级提供任何有用的功能来说粒度太细了。从头开始构建Java程序需要创建多个细粒度方法,然后将其组合成一个粗粒度服务,该服务由客户端或其他服务使用。

企业及其公开的接口应为粗粒度。Web服务技术提供了一种自然的方式来定义访问适当数量业务逻辑的粗粒度服务。

能够同步或异步

同步性指的是客户端与服务执行的绑定。在同步调用中,客户端阻塞并等待服务完成其操作后再继续。异步操作允许客户端调用服务,然后执行其他函数。

异步客户端在稍后的时间点检索其结果,而同步客户端在服务完成后接收其结果。异步能力是实现松耦合系统的关键因素。

支持远程过程调用 (RPC)

Web服务允许客户端使用基于XML的协议调用远程对象上的过程、函数和方法。远程过程公开Web服务必须支持的输入和输出参数。

在过去几年中,通过企业级JavaBean (EJB) 和 .NET组件进行组件开发已越来越多地成为架构和企业部署的一部分。这两种技术都是分布式的,可以通过各种RPC机制访问。

Web服务通过提供自身的服务(等同于传统组件的服务)或将传入的调用转换为对EJB或.NET组件的调用来支持RPC。

支持文档交换

XML的主要优势之一是它以通用方式表示数据和复杂文档。这些文档可以像表示当前地址一样简单,也可以像表示整本书或询价书 (RFQ) 一样复杂。Web服务支持文档的透明交换,以促进业务集成。

广告