老李分享:Web Services 特性
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。
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 )操作允许客户端调用一个服务,然后执行其他功能操作。
异步客户端在稍后的某个时间点检索它们的执行结果,而同步客户端只有在服务完成之后才能收到它们的执行结果。具备异步性是支持松耦合系统的一个关键要素。
支持远程过程调用(RPC)
web service 允许客户端使用基于 XML 的协议调用过程、函数、和远程对象上的方法。远程过程公开一个 web service 必须支持的输入和输出参数。
使用 EJB 和 .NET 组件的组件式开发在过去的几年中日益成为企业架构和部署的一部分。这两种技术都是通过各种 RPC 机制以具备分布式和可访问性。
一个 web service 通过提供自己的服务来支持 RPC,相当于传统的那些组件,或者通过将进入的调用转换成一个对 EJB 或 .NET 组件的调用。
支持文档交换
XML 技术的主要优势之一是其通用标记性,不仅仅是对于数据,而且还包括复杂的文档。这些文档可以像表示一个当前地址那样简单,也可以像表示一整本书或者询价单(RFQ)那么复杂。web service 支持促进业务集成的透明文档交换。