WebService–基础–01–介绍

  • Post author:
  • Post category:其他

WebService–基础–01–介绍


1、介绍

  1. 是一种 跨编程语言 和 跨操作系统 的远程调用技术,即跨平台远程调用技术。
    1. 总结:不管是J2EE架构,还是.net架构,只要按照”规范”就可以进行通信,就可以实现数据交互。

1.1、规范

  1. Webservice平台 提供一个协议,让客户可以调用Webservice,Webservice 就是一种部署在网络上的API。
  2. 客户端 根据协议,对远程调用Webservice,这种协议是一种远程过程调用协议(RPC)。

1.2、RPC

  1. RPC(Remote Procedure Call 远程过程调用),调用远程计算机上的服务,就像调用本地服务一样。

  2. RPC 可以基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性。

  3. WebService可以理解为实现RPC的一种方式,传输数据格式为XML,采用SOAP协议,RPC的实现方式为SOAP RPC。

2、xml

  1. xml 是webservice的跨平台的基础
  2. XML 主要的优点在于它既与平台无关,又与厂商无关。

3、XSD

  1. 是W3C为webservice制定了一套传输数据类型,使用xml进行描述,即XSD(XML Schema Datatypes)
  2. 任何编程语言写的webservice接口在发送数据时都要转换成webservice标准的XSD发送。

4、SOAP

  1. SOAP(Simple Object Access Protocol) 简单对象访问协议
    1. 基于XML 的协议
    2. 基于XSD 的协议
    3. 基于HTTP 的协议
  2. SOAP 属于w3c标准。
  3. SOAP协议 传输的是xml数据。
  4. SOAP协议 = HTTP协议 + XML数据格式。
  5. SOAP 协议版本:主要使用soap1.1、soap1.2。
  6. SOAP不是webservice的专有协议,其他应用协议也使用SOAP传输数据。例如,SMTP、tr069等。

4.1、WebService 使用 SOAP

WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。

4.2、SOAP消息的格式

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  1. 必需的 Envelope 元素,可以把此 XML 文档标识为一条 SOAP 消息;
  2. 可选的 Header 元素,包含头部信息;
  3. 必需的 Body 元素,包含所有的调用和响应信息;
  4. 可选的 Fault 元素,提供在处理此时所发生错误的有关信息。
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

 soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
    <soap:Header></soap:Header>
    <soap:Body>
        <soap:Fault></soap:Fault>
    </soap:Body>
</soap:Envelope> 

5、WSDL(Web Services Description Language)

  1. 是一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。通俗理解Wsdl是webservice的使用说明书
  2. 它是WebService客户端和服务器端都能理解的标准格式。
  3. WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。
  4. 客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。
  5. 采用wsdl作为描述语言即webservice使用说明书,wsdl属w3c标准。

6、UDDI(Universal Description, Discovery and Integration,通用描述、发现与集成服务)

  1. 是一种目录服务
  2. 通过UDDI,企业可以使用它对 Web services 进行注册和搜索。
    1. 企业将自己提供的Web Service注册在UDDI,也可以使用别的企业在UDDI注册的web service服务,从而达到资源共享。
    2. UDDI旨在将全球的webservcie资源进行共享,促进全球经济合作。
  3. 目前大部分企业使用webservice并不是必须使用UDDI,因为用户通过WSDL知道了web service的地址,可以直接通过WSDL调用webservice。

7、webService存在三要素

  1. soap
  2. wsdl
  3. UDDI

版权声明:本文为zhou920786312原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。