|
|
Web服务(Web Services)定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTP(S)协议传送用XML表示及封装的内容。
|
|
|
|
Web Services是面向服务的体系结构,如下图所示。
|
|
|
|
|
|
.服务提供者:发布自己的服务,并且对使用自身服务的请求进行响应。
|
|
|
.服务注册中心:注册已经发布的服务提供者,对其进行分类,并提供搜索服务。
|
|
|
.服务请求者:利用服务注册中心查找所需的服务,然后使用该服务。
|
|
|
Web Services体系结构中的组件必须具有上述一种或多种角色。在这些角色之间使用了三种操作:
|
|
|
.发布(publish)操作:使服务提供者可以向服务注册中心注册自己的功能及访问接口。
|
|
|
.查找(find)操作:使服务请求者可以通过服务注册中心查找特定种类的服务。
|
|
|
.绑定(bind)操作:使服务请求者能够真正使用服务提供者。
|
|
|
|
Web Services的核心技术包括简单对象访问协议(Simple Object Access Protocol, SOAP),Web服务描述语言(Web Services Description Language, WSDL),统一描述、发现及集成(Universal Description Discovery and Integration, UDDI)及可扩展标记语言(Extensible Markup Language, XML)。
|
|
|
.XML:Web Services中信息描述和交换的标准,它使用标记来界定内容,允许用户定义任意复杂度的结构,具有良好的扩展性。它具有自描述性,适合数据交换和共享。它的另一个优点是无关性,独立于具体的平台和厂商,确保了结构化数据的统一。
|
|
|
.SOAP:一组基于XML的无状态、单向、轻量级的消息传递协议,用于无中心、分布式远程过程的调用。它主要由三部分组成:一个基于XML的消息内容的Envelope式封装机制,一组用于各种数据类型的编码规则和一个提供远程过程调用(RPC)与响应的机制。
|
|
|
.WSDL:用于描述服务,WSDL把Web服务抽象地用XML描述为一组包含在面向文档或面向过程信息的消息上执行操作的端点的集,而具体的端点必须绑定到具体的网络协议和消息格式上来定义。这种抽象描述为端口重用提供了一种实现机制。
|
|
|
.UDDI:是一个基于SOAP协议的,为Web服务提供信息注册中心的实现标准,同时也包含一组提供Web服务注册、查找和调用的访问协议。它通过XML将用户提供的Web服务注册在UDDI中心的公共注册表内,供其他用户查询和使用。
|
|
|
|
Web Services的主要目标是跨平台的互操作性,适合使用情况如下:
|
|
|
|
|
|
|
|
|
.局域网上的同构应用程序:直接通过TCP等协议调用会更有效。
|
|
|
随着云计算的普及,Web服务逐渐融入到云计算SaaS服务中。
|
|
|