【问题标题】:Is SOAP Outdated? [closed]SOAP 过时了吗? [关闭]
【发布时间】:2012-11-09 21:21:43
【问题描述】:

我希望向 Android、iOS 和 Windows 8/Windows Phone 开放我的 PHP 网站。

我一直在查看 PHP SOAP 库,并且已经开始工作了。

虽然我已经这样做了,但我看到有人在网上发布说 SOAP 已经“过时”了。

是吗,如果是的话,有什么替代方案?

【问题讨论】:

  • 那是什么网站,或者你们提供什么服务?
  • 说它完全过时肯定是不正确的。 SOAP 有其优点,特别是对于实际事务,SOAP 是无价的。对于简单的日常数据,JSON 会是更好的选择,因为它更容易解析。

标签: android ios web-services soap windows-8


【解决方案1】:

SOAP 在设计和使用时通常非常“繁重”,并且它基于 XML。对于更轻量级的方法,您可能希望查看更容易实现、采用并且可以纯粹基于 JSON 的 REST 样式 API,这使得通过 Javascript/客户端技术使用这些服务变得容易:

https://en.wikipedia.org/wiki/REST

虽然 SOAP 可能有很好的用例 - 但我认为您会发现这些主要用于重型企业应用程序。

【讨论】:

  • 我真的很喜欢肥皂风格的网络服务,他们有一个签名文件,您可以在其中实际提供给人们,他们会理解它的作用,其他人可以使用您的肥皂网络服务,而无需您解释它是什么做了什么,它可以返回接受。所以这真的取决于应用程序,但如果允许我自己选择,我总是会选择 SOAP。
  • 我喜欢你的评论@GabrielNetto。 SOAP 绝对有其巨大的优势,尤其是您提到的那些。然而,这并不容易,需要更多的大脑和代码来解析。这就是 JSON 出现的地方。总的来说,我猜开发人员说 SOAP 已经过时了,他们从来没有真正理解过 SOAP 的意义。尽管如此,在移动应用领域,JSON 通常是首选武器。
  • @GabrielNetto REST 最常用于 HTTP 和 XML/JSON。在 SOAP 中,您基本上是在执行远程方法调用。您在 SOAP 信封中指定方法和参数。在 ROA(Resource Oriented Architecture,基本上是指基于 HTTP 的 REST)的情况下,方法由通用 HTTP 动词、GET、PUT、POST、DELETE 等指定。主体仅包含数据和元数据。只要服务的创建者遵循定义为 REST 的约定,他们就可以使用 XSD 和 WADL 文件定义合同。
  • @GabrielNetto 换句话说,您不调用方法,而是更改资源的状态。它围绕着将 CRUD 操作映射到 HTTP 动词的众所周知的原则展开。这是description of what you can do with HTTP methods。 REST 更加简单和轻量级,因为它利用并包含现有协议,而不是要求您在 XML 中指定完全相同的内容,而解析可能需要很长时间。
  • 至于一个替换另一个。我认为 SOAP 将继续存在,至少在接下来的几年里。我认为丰富的工具和附加标准(提高安全性和可靠性)将继续使其更适合商业环境。不过,在公开可用的 API 和移动客户端方面,REST 是赢家。
猜你喜欢
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
相关资源
最近更新 更多