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

在使用SOAP的系统中,REST的传统对应物是什么,rest,api,soap,architecture,Rest,Api,Soap,Architecture,我曾多次听到REST与SOAP相比,后者被揭穿为苹果与梨的比较(例如,在这里,关于stackoverflow:) 尽管它们确实是不同的东西,但这个有缺陷的比较告诉我的是,旧的SOAP系统将与某种架构风格携手并进,人们错误地将其标记为SOAP,因为它们是如此紧密地耦合在一起 另外,如果REST是一种体系结构样式,那么主要用于它的通信协议是什么 总之, REST与X协议的关系就像Y架构风格与SOAP协议的关系一样 X和Y是什么?它们都是解决类似体系结构问题的方法—服务之间的松耦合。我们可以将发布/订

我曾多次听到REST与SOAP相比,后者被揭穿为苹果与梨的比较(例如,在这里,关于stackoverflow:)

尽管它们确实是不同的东西,但这个有缺陷的比较告诉我的是,旧的SOAP系统将与某种架构风格携手并进,人们错误地将其标记为SOAP,因为它们是如此紧密地耦合在一起

另外,如果REST是一种体系结构样式,那么主要用于它的通信协议是什么

总之,
REST与X协议的关系就像Y架构风格与SOAP协议的关系一样

X和Y是什么?

它们都是解决类似体系结构问题的方法—服务之间的松耦合。我们可以将发布/订阅消息、竞争消费者模式等添加到此列表中。在SOAP和ReST的情况下,它们通常连接web服务,触发业务事务的SOAP带来具体的实现指导,CRUD操作的ReST只带来一种模式


关于第二点,ReST通信通常是通过HTTP实现的,理论上它可以通过其他通信协议运行,尽管我不知道主流中有任何协议。

你是对的,它们是两个不同的web协议,但是它们有不同的用途

REST更为现代,更易于理解和编程。REST服务通常公开类似于API的URL。请求以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用于保护事务性服务(也可能是在服务器上更新复杂状态的情况下)

虽然我相信很多人都希望在这方面有所改进:-)