老李分享:Web Services 特性


 

web service 具备以下特殊的行为特征:

基于 XML

web service 在数据表示层和数据传输层使用 XML。使用 XML 就避免了和任何网络、操作系统或者平台的绑定。基于 web service 的应用在其核心层面上是高度可互操作行的。

松耦合

一个 web service 的消费者并不会直接绑定到该 web service。web service 接口可以在不影响客户端与服务交互能力的情况下随时改变。一个紧耦合的系统意味着客户端和服务器逻辑彼此紧密地联系在一起,也就是说如果一个接口改变了,其他人必须进行更新。采用一个松散耦合的体系结构会让软件系统更易于管理并可以让不同的系统之间进行简单集成。

粗粒度

诸如 Java 之类的面向对象的技术通过个体方法对服务进行公开。个体方法的精细的操作带来的是提供给企业层面上任何有用的能力。从头构建一个 Java 程序需要创建多个细粒度(Fine-Grained)的方法,然后将它们组合成一个粗粒度(Coarse-Grained)的被客户端或者其他服务调用的服务。
业务所公开的接口应该是粗粒度的。web service 技术提供了一种自然的方式定义粗粒度的服务来对适量的业务逻辑进行访问。

同步或异步的能力

同步性(Synchronicity)是指将客户端和服务的执行进行绑定。同步调用的时候,客户端是阻塞的,它在继续做其他事情之前等待服务完成它的操作。异步(Asynchronous )操作允许客户端调用一个服务,然后执行其他功能操作。
异步客户端在稍后的某个时间点检索它们的执行结果,而同步客户端只有在服务完成之后才能收到它们的执行结果。具备异步性是支持松耦合系统的一个关键要素