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

有帮助吗?

解决方案

谷歌第一击 看起来相当全面。

我认为这里的问题是有太多的其中一种或另一种的拥护者,可能最好通过谷歌搜索并自己更多地了解赞成/反对并做出自己的决定。

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

其他提示

简单对象访问协议 (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 服务,同时使服务器端能够发展和扩展。客户可以选择使用该服务的部分或全部方面,并将其与其他基于网络的服务混合在一起。

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 会更有用。

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

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

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top