在使用SOAP的系统中,REST的传统对应方式是什么

时间:2018-08-11 19:40:30

标签: rest api soap architecture

与SOAP相比,我有很多次听说过REST,而SOAP被认为是苹果与梨的比较(例如,在此处,关于stackoverflow:SOAP vs REST (differences)

尽管它们确实是不同的东西,但是这种有缺陷的比较告诉我,旧的SOAP系统将与某种体系结构风格并驾齐驱,因为人们将它们紧密地结合在一起,所以人们错误地将其标记为SOAP。

此外,如果REST是一种建筑风格,那么主要使用的通信协议是什么?

总结一下,
REST适用于X协议,而Y体系结构则适用于SOAP协议。
什么是X和Y?

2 个答案:

答案 0 :(得分:0)

它们都是解决类似体系结构问题的两种方法-服务之间的松散耦合。我们可以在此列表中添加发布/订阅消息传递,竞争的消费者模式等。在SOAP和ReST的情况下,它们通常连接Web服务,SOAP触发业务交易引入了具体的实施指南,而CRST操作的ReST仅引入了一种模式。

第二点,ReST通信通常是通过HTTP来实现的,理论上,它可以在其他通信协议上运行,尽管我不了解主流协议。

答案 1 :(得分:0)

您是正确的,它们是两种不同的网络协议,但是它们具有不同的用途。

REST更现代,更易于理解和编程。 REST服务通常公开类似URL的API。请求以HTTP请求的形式传递,有效负载通常以JASON结构的形式传递。许多(如果不是大多数)公共服务都使用REST。

REST的诞生是一种以比SOAP可能的方式简单得多的方式访问Web服务的方式。

SOAP是一种较旧且更复杂的协议,旨在用于各种安全服务。它更可靠,更安全-例如,如果消息丢失,它的内部协议可以重试,并且它还对安全性和数据库事务提供了强大的支持。 SOAP可以使用HTTP,SMTP,TCP,UDP协议进行操作,并且消息主体采用XML编码。

取决于应用程序REST或SOAP仍然是正确的选择。他们提出自己的问题,并在特定情况下具有优势。但是,在不断增长的基于公共Web的服务世界中,REST是迄今为止最常见的选择。

因此,实际上没有正确的答复:

  

REST适用于X协议,而Y体系结构则适用于SOAP协议。   什么是X和Y?

您可能会说:

REST旨在提供直接的数据交付服务 SOAP是为了保护安全的交易服务(可能还在服务器上正在更新复杂状态的地方)。

尽管我相信很多人都会对此进行改进:-)