一、什么是Web Service 1. 什么是Web Service呢?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进...
一、什么是Web Service
1. 什么是Web Service呢?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
2.Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。WebService平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。
3.WebService 为Internet 上的组件服务 通过网络提供,以URL 定位方法调用 以Internet技术为基础 未來的分散式应用程序
二、Web Service的标准
1. SOAP(Simple Object Access Protocol)
2. UDDI(UnviversalDescription ,Discovery,andIntegration) 统一描述发现和集成协议ndash;公开的,或是企业自己的注册与查询
3. WSDL(Web Service Description Language)ndash;WebService 描述语言
三、Web Service的标准
1. XMLWeb Service 通过标准的Web 协议向Web 用户提供有用的功能。多数情况下使用SOAP 协议。
2. XMLWeb Service 可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通信。这种说明通常包含在称为Web 服务说明语言(WSDL)文档的XML 文档中。
3. XMLWeb Service 已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说明和集成(UDDI)来完成的。
4.XMLWeb Service 体系结构的主要优点之一是:允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信。
5.我们将XMLWeb Service 定义为:通过SOAP 在Web 上提供的软件服务,使用WSDL 文件进行说明,并通过UDDI 进行注册。
四、SOAP
Soap 是XML Web Service 的通信协议。
SOAP 是一种规范,用来定义消息的XML 格式 。包含在一对SOAP 元素中的、结构正确的XML 段就是SOAP 消息。
SOAP 规范的其他部分介绍如何将程序数据表示为XML,以及如何使用 SOAP 进行远程过程调用 (RPC)。这些可选的规范部分用于实现 RPC 形式的应用程序,其中客户端将发出一条 SOAP 消息(包含可调用函数,以及要传送到该函数的参数),然后服务器将返回包含函数执行结果的消息。目前,多数 SOAP 实现方案都支持 RPC 应用程序。SOAP 还支持文档形式的应用程序,在这类应用程序中,SOAP 消息只是 XML 文档的一个包装。文档形式的 SOAP 应用程序非常灵活,许多新的 XML Web Service 都利用这一特点来构建使用 RPC 难以实现的服务
五、SOAP
SOAP 规范的最后一个可选部分定义了包含SOAP 消息 的 HTTP 消息的样式。此 HTTP 绑定非常重要,因为几乎所有当前的OS(以及许多以前的 OS)都支持HTTP. HTTP 绑定虽然是可选的,但几乎所有 SOAP 实现方案都支持HTTP 绑定,因为它是SOAP 的唯一标准协议。由于这一原因,人们通常误认为 SOAP 必须使用 HTTP。其实,有些实现方案也支持 MSMQ、MQ 系列、SMTP 或 TCP/IP 传输,但由于 HTTP 非常普遍,几乎所有当前的XML Web Service 都使用它。由于 HTTP 是 Web的核心协议,因此大多数组织的网络基础结构都支持HTTP。
到目前为止,SOAP 最引人注目的特征是它可以在许多不同的软件和硬
件平台上实现。这意味着SOAP 可用于链接企业内部和外部的不同系统。
HTTP 的普及和SOAP 的简单性使您几乎可以从任何环境调用它们,
因此成为XMLWeb Service 的理想基础。 SOAP 的用户并不直接编写SOAP 消息,而是使用SOAP 工具包来创建和分析SOAP 消息。这些工具包通常将函数调用从某种语言转换为SOAP 消息。
五、UDDI
UDDI 目录条目是介绍所提供的业务和服务的XML 文件。UDDI 目录条目包括三个部分。
白页介绍提供服务的公司:名称、地址、联系方式等等;
黄页包括基于标准分类法的行业类别;
绿页详细介绍了访问服务的接口,以便用户能够编写应用程序以使用 Web 服务。
服务的定义是通过一个称为类型模型(或 tModel)的 UDDI文档来完成的。多数情况下,tModel包含一个WSDL 文件,用于说明访问 XMLWeb Service 的SOAP 接口,但是tModel非常灵活,可以说明几乎所有类型的服务。
UDDI 目录还包含若干种方法,可用于搜索构建您的应用程序所需的服务。例如,您可以搜索特定地理位置的服务提供商或者搜索特定的业务类型。之后,UDDI目录将提供信息、联系方式、链接和技术数据,以便您确定能满足需要的服务。
UDDI 允许您查找提供所需的Web 服务的公司。如果您已经知道要与谁进行业务合作,但尚不了解它还能提供哪些服务,这时该如何处理呢?WS-Inspection规范(英文)允许您浏览特定服务器上提供的XML Web Service 的集合,从中查找所需的服务。
五、wsdl
Web Service Description Language (WSDL):用来定义WebService交换的文件格式以及提供服务方式的说明文件
WSDL 表示 Web服务说明语言,是一个 XML文档,用于说明一组 SOAP 消息以及如何交换这些消息。WSDL对于 SOAP 的作用就象TLD 对于Tiglib的作用。由于WSDL 是 XML 文档,因此很容易进行阅读和编辑;但大多数情况下,它由软件生成和使用。
要查看 WSDL 的值,可以假设您要调用由您的一位业务伙伴提供的SOAP 方法。您可以要求对方提供一些 SOAP消息示例,然后编写您的应用程序以生成并使用与示例类似的消息。WSDL 通过明确的表示法指定请求消息必须包含的内容以及响应消息的样式。
WSDL 文件用于说明消息格式的表示法以XML 架构标准为基础,这意味着它与编程语言无关,而且以标准为基础,因此适用于说明可从不同平台、以不同编程语言访问的XML Web Service 接口。除说明消息内容外,WSDL 还定义了服务的位置,以及使用什么通信协议与服务进行通信。WSDL 文件定义了编写使用 XML Web Service 的程序所需的全部内容。
当前,许多 SOAP工具包都包括从现有程序接口生成 WSDL 文件的工具,但却几乎没有直接用于编写WSDL 的工具,而且 WSDL的工具支持也很不完整。但不久就会出现编写 WSDL 文件的工具,接着还会有生成代理和存根的工具(与 COMIDL 工具很相似),这些工具将成为多数SOAP 实现方案的一部分。到那时,WSDL将成为创建 XML Web Service 的 SOAP接口的首选方法。 由W3C制定的标准