Web service基础 - littleboy12580/learning_python GitHub Wiki

Web Service概念

Web Service 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开发和部署的软件,能够利用这一平台实现分布式计算的目的;可以把Web Service理解成位于远程机器上的函数库,把网络上不知道什么地方的一些函数看做是一组服务,然后我再通过网络就可以使用这些服务;总结来说Web 服务就是一种部署在 Web 上的对象或者是应用程序组件。

Web Service结构

在Web 服务的体系结构中,涉及到三个角色: Web 服务提供者, Web 服务中介者,以及 Web 服务请求者;
同时还涉及到三类动作:发布,查找,绑定。

  • Web服务提供者
    Web 服务的拥有者,它会等待其他的服务或者是应用程序访问自己;可以发布 Web 服务,并且对使用自身服务的请求进行响应
  • Web服务中介者
    也称为服务代理,用来注册已经发布的 Web服务提供者,并对其进行分类,同时提供搜索服务;Web 服务中介者的作用就是把一个 Web 服务请求者和合适的 Web 服务提供者联系在一起,充当一个管理者的角色,一般是通过 UDDI来实现
  • Web服务请求者 Web 服务功能的使用者,它通过服务注册中心也就是 Web 服务中介者查找到所需要的服务,再利用 SOAP 消息向 Web 服务提供者发送请求以获得服务
  • 发布
    Web服务提供者通过发布操作,可以向 Web 服务中介者注册自己的功能以及访问的接口
  • 发现(查找)
    使得 Web 服务请求者可以通过 Web 服务中介者来查找到特点的种类的 Web 服务
  • 绑定
    实现让服务请求者能够使用服务提供者提供的服务

Web Service基本元素

Web Service里有三种基本元素:SOAP,WSDL,以及UDDI

  • SOAP
    SOAP(Simple Object AccessProtocol )也就是简单对象访问协议,是一种用于访问 Web 服务的协议;它是基于XML 和 HTTP 的 ,其通过XML 来实现消息描述,然后再通过 HTTP 实现消息传输;具体的SOAP介绍可以看我的另一篇Wiki:
    地址:https://gitlab.ngbit.com/wanzeyao/my_project/wikis/soap%E5%9F%BA%E7%A1%80
  • WSDL WSDL (Web Services Description Language)也就是 Web 服务描述语言,是基于 XML的用于描述 Web 服务以及如何访问 Web 服务的语言;服务提供者通过服务描述将所有用于访问 Web服务的规范传送给服务请求者;
    WSDL 描述了 Web服务的三个基本属性:
    1. 服务所提供的操作
    2. 如何访问服务
    3. 服务位于何处(一般通过 URL 来确定)

具体的SOAP介绍可以看我的另一篇Wiki:
地址:https://gitlab.ngbit.com/wanzeyao/my_project/wikis/wsdl%E5%9F%BA%E7%A1%80

  • UDDI UDDI(Universal Description, Discovery and Integration)即通用描述、发现与集成服务;UDDI 是一个独立于平台的框架,用于通过使用 Internet 来描述服务,发现企业,并对企业服务进行集成;UDDI 使用 WSDL 来描述到达 web services 的界面,通过采用 SOAP来实现跨平台的编程特性;概括的说,UDDI 就是一个目录,只不过在这个目录中存放的是一些关于 Web 服务的信息而已

Web Service开发步骤

  1. 开发阶段
    实现一个 Web 服务,使这个 Web 服务能响应和接收 SOAP 消息;定义好逻辑模块(该Web服务的功能);最后撰写 WSDL 文件
  2. 部署阶段
    指定 Web 服务的传输协议,将 Web 服务注册到相应服务描述部署文件
  3. 发布阶段
    将 Web 服务的接口和调用的地址公开给客户端调用,常用的发布方式为基于 Web 提供的WSDL 的链接,当然 UDDI 也是一个选择