SOAP 还是 REST?具体项目
Posted
技术标签:
【中文标题】SOAP 还是 REST?具体项目【英文标题】:SOAP or REST? Specific Project 【发布时间】:2011-05-16 09:04:21 【问题描述】:我正在尝试确定是否应该将 SOAP 或 REST 用于特定项目。我将解释这个项目是什么或需要做什么,我希望你们中的一些人能给我有用的信息,说明为什么我应该使用一个而不是另一个。
我需要处理的项目完全基于 Web 服务。每个前端实现都需要访问 Web 服务以获取所需的所有信息。但除此之外,我们还有一个 Indesign 插件,可以与这些网络服务对话以上传文档并检查文档的验证等。
因此,简而言之,我需要通过前端 Web gui 和 indesign 插件访问 Web 服务。后者让我想知道我应该使用 REST 还是 SOAP。
非常感谢您阅读本文并发布您的反馈。
【问题讨论】:
【参考方案1】:我发现这篇关于 SOAP 与 REST 优缺点的非常棒的文章:http://geeknizer.com/rest-vs-soap-using-http-choosing-the-right-webservice-protocol/
还有我自己的拙见: 我不喜欢 SOAP,我从来没有。当时它很棒,但它从来没有感觉“正确”。如果您曾经尝试阅读这些巨大的重载 XML 文档之一并将其与 REST 输出(大多数情况下是 JSON)进行比较,您就会明白我的意思。恕我直言,感觉“更好”。 一个问题是您必须更好地记录您的 REST API,但只要不是对所有人开放,这应该不是什么大问题。 特别是如果您使用 Web 服务处理所有数据,我认为您应该使用更轻且带宽消耗更少的选项:REST。 此外,REST 是目前每个人都在使用的新技术……;)
关于您的 indesign 插件:您应该能够包含您想要的任何库,所以这应该不是问题。
【讨论】:
+1 用于 REST。我讨厌肥皂和进行简单通话所需的所有额外步骤 REST 不是“主要是 JSON”。由于带宽使用率较低而选择 REST 就像购买黑色的宝马一样。而且 REST 并不新鲜,它已经有 10 年历史了。 REST 是旧的,当然,但当您谈论它作为 Web 服务的使用时,它是新的。如果它不是通常 JSON - 那是什么?我知道您可以按照自己的方式指定它,但在大多数流行的 API 中,我将 JSON 视为输出。 [我明白了,也许我在那里用错了词] 那是一篇不错的文章,您也已链接。我几乎总是更喜欢 REST 而不是 SOAP,这主要是基于我过去的经验——它们总是使用 REST 更好、更流畅。我认为 REST 通常也让其他人更容易连接到您的 API。在这种情况下,唯一将我吸引到 SOAP 的是通过该机制发布附件的要求。对于复杂的事务,有时 SOAP 强制执行的附加结构会为应用程序提供更稳固的基础结构。以上是关于SOAP 还是 REST?具体项目的主要内容,如果未能解决你的问题,请参考以下文章