一尘不染

JSON,REST,SOAP,WSDL和SOA:它们如何链接在一起

json

目前正在做一些考试,我正在努力学习一些概念。我的笔记中确实“提到”了所有这些内容,但我并不真正了解它们如何相互联系。据我了解:

SOA-使服务使用者/提供者进行通信的解决方案。(据我了解,这是所有其他内容的总称)

WSDL-一种描述提供程序服务的语言。

SOAP-服务用来发送消息的XML协议“包装器”。与WSDL协同工作以提供参数?

REST-一种功能类似于SOAP但避免使用XML的设计模式?(真的不确定这一点)

JSON-使用JavaScript的XML的替代方法?(也不确定这一点)

在互联网上四处张望,似乎没有一个明确的定义,这些都是什么以及它们如何相互链接。


阅读 359

收藏
2020-07-27

共1个答案

一尘不染

假设您正在开发一个Web应用程序,并且决定将功能与应用程序的表示分离开来,因为它提供了更大的自由度。

您创建一个API,并让其他人也可以在其上实现自己的前端。您在这里所做的只是实现一种SOA方法,即使用Web服务。

Web服务使功能构建块可以通过独立于平台和编程语言的标准Internet协议进行访问。

因此,您需要在后端(Web服务)(用于处理和生成有用的东西)与前端(使用数据)之间建立一种交换机制。(Web,移动或桌面应用程序,或其他Web服务)。这里唯一的限制是前端和后端必须“说”相同的“语言”。


这就是SOAP和REST进入的地方。它们是您选择与Web服务通信的标准方式。

肥皂:

SOAP在内部使用XML来回发送数据。SOAP消息具有严格的结构,因此需要解析响应XML。
WSDL 是关于可以发出哪些请求,使用哪些参数以及它们将返回什么的规范。它是您API的完整规范。

休息:

REST是一个设计概念。

万维网代表了符合REST架构风格的系统的最大实现。

它不像SOAP那样严格。RESTful
Web服务
使用标准URI和方法来调用Web服务。当您请求URI时,它返回一个对象的
表示 ,然后您可以对其执行操作(例如GET,PUT,POST,DELETE)。您不仅限于选择XML来表示数据,还可以选择任何东西(包括JSON)

Flickr的REST API更进一步,还可以让您返回图像。


JSONXML 在功能上是等效的,是常见的选择。还有一些基于RPC的框架,例如基于Protobufs的GRPC和Apache
Thrift,可用于API生产者和消费者之间的通信。Web API使用的最常见格式是JSON,因为它易于使用和解析每种语言。

2020-07-27