10

有没有人有关于在 REST 与 SOAP 之间做出决定的文档或指南的链接?我了解这两个方面,但我正在寻找一些关于关键决策点的参考资料,例如安全性,这可能会让你倾向于其中一个。

4

4 回答 4

6

谷歌的第一击似乎相当全面。

我认为这里的问题是其中一个或另一个的拥护者太多,可能最好在谷歌上搜索并自己掌握更多的赞成/反对意见并做出自己的决定。

我知道这听起来有点蹩脚,但最终这类设计决策落到了开发人员/架构师的工作上,而且99% 的时间,问题域将是决定因素(或者至少应该是),而不是网上的指南。

于 2008-08-26T19:53:04.103 回答
2

简单对象访问协议 (SOAP) 标准是一种定义消息架构和消息格式的 XML 语言,被 Web 服务使用,它包含对操作的描述。WSDL 是一种基于 XML 的语言,用于描述 Web 服务以及如何访问它们。将在 SMTP、HTTP、FTP 等上运行。需要中间件支持、定义良好的机制来定义 WSDL+XSD、WS-Policy 等服务 SOAP 将返回基于 XML 的数据 SOAP 提供安全性和可靠性标准

具象状态转移 (RESTful) Web 服务。它们是第二代 Web 服务。RESTful Web 服务通过 HTTP 而不是基于 SOAP 的服务进行通信,并且不需要 XML 消息或 WSDL 服务 API 定义。对于 REST,不需要中间件,只需要 HTTP 支持。WADL 标准,REST 可以返回 XML、纯文本、JSON、HTML 等

许多类型的客户端更容易使用 RESTful Web 服务,同时使服务器端能够发展和扩展。客户可以选择使用服务的部分或全部方面,并将其与其他基于 Web 的服务混合。

REST uses standard HTTP so it is simplerto creating clients, developing APIs 
REST permits many different data formats like XML, plain text, JSON, HTML where  as  SOAP only permits XML.
REST has better performance and scalability.
Rest and can be cached and SOAP can't 
Built-in error handling where SOAP has No error handling
REST is particularly useful PDA and other mobile devices.

REST 是易于与现有网站集成的服务。

SOAP 具有一组协议,这些协议提供安全性和可靠性等标准,并与其他符合 WS 的客户端和服务器互操作。SOAP Web 服务(例如 JAX-WS)在处理异步处理和调用方面很有用。

对于复杂 API 的 SOAP 会更有用。

于 2013-10-19T07:25:39.113 回答
0

我认为 REST 和 SOAP 都可以用来实现类似的功能,但一般来说,当需要 SOAP 的特定功能时应该使用 SOAP,而 REST 的优势使其通常成为最佳选择。但是,REST 和 SOAP 都经常被称为“Web 服务”,并且经常使用一种来代替另一种,但它们是完全不同的方法。REST 是一种用于构建客户端-服务器应用程序的架构风格。SOAP 是用于在两个端点之间交换数据的协议规范。

我非常同意 +Rob Cooper 在他的帖子中的观点。是的,有很多拥护者。我已经列出了肥皂和休息之间的区别

于 2014-06-12T12:04:29.420 回答
0

您可以使用一个很好的流程图来帮助您在 REST 与 SOAP 之间做出决定。

流程图链接:https ://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit

文章链接:https ://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol-for-your-needs

我用来做这个决定的另外两个因素是:

1) 服务的客户端是否需要 XML 以外的媒体类型(例如 JSON)。如果是,则使用 REST。

2) 服务的客户端是否总是应用程序/服务器(例如,不是 RIA 或 AJAX 客户端)。如果不是,这倾向于 REST,因为在使用 AJAX 时更容易使用 REST 服务。

于 2017-07-10T02:17:04.043 回答