我们如何通过设计识别SOAP / REST服务?

时间:2014-10-07 12:37:29

标签: rest soap

有多种资源可供在线使用,但我想听听一个明确的想法,即如何通过查看服务设计来区分服务作为SOAP / REST? (不是用wsdl / wadl)

他们的架构有何不同?

1 个答案:

答案 0 :(得分:1)

作为一名经验丰富的用户,您可能已经阅读了类似问题的所有技术答案such as thisthis,因此我将尝试不同类型的答案,更具隐喻性。

事实上,我们可以通过查看每个人的主要概念来重新描述REST vs SOAP辩论:

  • SOAP是关于通过邮局信箱发送邮件,无论应用程序域是什么。最重要的是信封有效。其他方面(消息的正文,"邮局的位置和数量",将其发送到盒子的方式)是次要的。
  • REST是关于使用资源 aka " stuff"可以在您的应用程序域中识别)的事情。因为这些操作是通用的(创建,读取,更新,删除),所以最重要的是识别资源(URI)及其表示(以XML,JSON或任何格式)。

例如,让我们考虑一下图书投递服务:

  • SOAP版本可以提供发送的服务端点:
    • 预订搜索请求
    • 预订详细信息
    • 图书订单请求
    • 订单取消请求
    • 图书订单状态请求
    • 预订发票申请
  • REST版本将提供以下链接表示:
    • 书籍清单
    • 一本书的详细信息
    • 书籍订单/发票

使用SOAP,您可以定义操作的端点。使用REST,您可以为事物提供端点。