网络服务 - 特征
Web 服务具有以下特殊的Behave特征 -
基于XML
Web 服务在数据表示和数据传输层使用 XML。使用 XML 消除了任何网络、操作系统或平台绑定。基于 Web 服务的应用程序在其核心级别具有高度的互操作性。
松耦合
Web 服务的使用者并不直接与该 Web 服务绑定。Web 服务接口可以随着时间的推移而改变,而不会影响客户端与服务交互的能力。紧密耦合的系统意味着客户端和服务器逻辑彼此紧密相连,这意味着如果一个接口发生更改,则必须更新另一个接口。采用松散耦合的架构往往会使软件系统更易于管理,并允许不同系统之间更简单的集成。
粗粒度
面向对象的技术(例如 Java)通过单独的方法公开其服务。单个方法的操作过于精细,无法在公司级别提供任何有用的功能。从头开始构建 Java 程序需要创建几个细粒度的方法,然后将这些方法组合成一个粗粒度的服务,供客户端或其他服务使用。
业务及其公开的接口应该是粗粒度的。Web 服务技术提供了一种定义访问适量业务逻辑的粗粒度服务的自然方法。
同步或异步的能力
同步性是指客户端与服务执行的绑定。在同步调用中,客户端会阻塞并等待服务完成其操作,然后再继续。异步操作允许客户端调用服务,然后执行其他功能。
异步客户端在稍后的时间点检索其结果,而同步客户端在服务完成时接收其结果。异步能力是实现松耦合系统的关键因素。
支持远程过程调用(RPC)
Web 服务允许客户端使用基于 XML 的协议调用远程对象上的过程、函数和方法。远程过程公开 Web 服务必须支持的输入和输出参数。
在过去几年中,通过 Enterprise JavaBeans (EJB) 和 .NET 组件进行组件开发已日益成为体系结构和企业部署的一部分。这两种技术都是分布式的,并且可以通过各种 RPC 机制进行访问。
Web 服务通过提供自己的服务(相当于传统组件的服务)或通过将传入的调用转换为 EJB 或 .NET 组件的调用来支持 RPC。
支持文档交换
XML 的主要优点之一是它不仅可以表示数据,还可以表示复杂文档的通用方式。这些文档可以像代表当前地址一样简单,也可以像代表整本书或报价请求 (RFQ) 一样复杂。Web服务支持透明的文档交换,以促进业务集成。