Web Service和REST(上)

Posted weixin_43802541

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Service和REST(上)相关的知识,希望对你有一定的参考价值。

目录:

  1. 6.1 Web Servicce

  2. 6.2 RPC和REST

  3. 6.3 REST风格项目接口测试

6.1 Web Servicce

目录:

  1. 6.1.1 SOA

  2. 6.1.2 Web Service

  3. 6.1.3 SOAP

  4. 6.1.4 WSDL

  5. 6.1.5 UDDI

本章会涉及比较多的概念,对后面的接口测试实施影响不大,觉得难以理解可以跳过

6.1.1 SOA

Service Oriented Architecture,面向服务架构,或面向服务的体系结构

在企业计算领域,将紧耦合的系统划分为面向业务的、粗粒度、松耦合、无状态的服务

Web Service就是常见实现SOA架构的一种技术。

6.1.2 Web Service

web service是一个平台独立的、低耦合的、自包含的、基于可编程的web应用程序。可使用开放的xml标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的、互操作的应用程序Web Serivce的主要作用在于:

实现跨平台、跨应用程序的通信,例如java开发系统和.net开发的系统,A系统和B系统之间通信

Web Serivce主要由三个技术组成:

  1. SOAP(实现访问)

  2. WSDL(接口封装)

  3. UDDI(目录查找)

后面用到REST其实也算是广义上Web Service技术的一种

6.1.3 SOAP

6.1.3.1 概念

Simple Object Access Protocol,简单对象访问协议

SOAP是基于XML在分布式环境中交换信息的简单协议

SOAP消息的基本结构:
在这里插入图片描述

SOAP消息能与不同的底层传输协议绑定,SOAP消息可以在多种消息传输模式中使用,包括http,smtp,MIME(多用途网际邮件扩充协议),还支持RPC大多数SOAP消息还是绑定在http传输,但是不代表SOAP=HTTP+XML或SOAP是HTTP的POST请求的一个专用版本

6.1.3.2 实例:

SOAP请求:
在这里插入图片描述

SOAP响应:
在这里插入图片描述

6.1.4 WSDL

WSDL 指网络服务描述语言 (Web Services Description Language)。

WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。

6.1.4.1 WSDL 文档结构

元素:
在这里插入图片描述

结构:
在这里插入图片描述

WSDL 端口

元素是最重要的 WSDL 元素。

它可描述一个 web service、可被执行的操作,以及相关的消息。

元端口定义了指向某个 web service 的连接点。可以把该元元素比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。

WSDL消息

元素定义一个操作的数据元素

每个消息均由一个或多个部件组成。可以将这些部件比作编程语言中函数的参数

WSDL数据类型

元素定义Web Services使用的数据类型

WSDL使用XML Schema语法来定义数据类型

WSDL 绑定

元素为每个端口定义消息格式和协议细节

WSDL可以看做是Web Service接口的一种标准格式的"文档",通过阅读WSDL就可以知道如何调用Web Service接口

例如,绑定到SOAP
在这里插入图片描述

6.1.5 UDDI

UDDI,英文为"Universal Description, Discovery and Integration",可译为“通用描述、发现与集成服务”。

6.1.5.1 什么是UDDI

UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。

UDDI 是一个独立于平台的框架,用于通过使用 Internet 来描述服务,发现企业,并对企业服务进行集成。

UDDI 指的是通用描述、发现与集成服务

UDDI 是一种用于存储有关 web services 的信息的目录。

UDDI 是一种由 WSDL 描述的 web services 界面的目录。

UDDI 经由 SOAP 进行通信

UDDI 被构建入了微软的 .NET 平台

6.1.5.2 UDDI基于什么

UDDI 使用 W3C 和 IETF的因特网标准,比如 XML、HTTP 和 DNS 协议。

UDDI 使用 WSDL 来描述到达 web services 的界面

此外,通过采用 SOAP,还可以实现跨平台的编程特性,大家知道,SOAP 是 XML 的协议通信规范,可在 W3C 的网站找到相关的信息。

注释:IETF - Internet Engineering Task Force

6.1.5.3 UDDI如何使用

假如行业发布了一个用于航班比率检测和预订的 UDDI 标准,航空公司就可以把它们的服务注册到一个

UDDI 目录中。然后旅行社就能够搜索这个 UDDI 目录已找到航空公司预订界面。当此界面被找到后,旅行社就能够立即与此服务进行通信,这样由于它使用了一套定义良好的预订界面。

【未完待续…】

以上是关于Web Service和REST(上)的主要内容,如果未能解决你的问题,请参考以下文章

Java Web Service REST 正确设计最佳实践

Web Service和REST(下)

APEX_WEB_SERVICE.MAKE_REST_REQUEST 导致 ORA-29248:使用无法识别的 WRL 打开钱包

WCF Web API WCF REST 和 Web Service 的区别

怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现

Web Service进阶浅谈SOAP Webservice和RESTful Webservice