【问题标题】:What's the specific difference between SOAP Web-Services and an OData-Service?SOAP Web 服务和 OData 服务之间的具体区别是什么?
【发布时间】:2016-07-13 10:26:19
【问题描述】:

我已经在 java 中构建了不同的 SOAP Web 服务(几年前......),并在 abap 中使用 SAP 网关构建了不同的 OData 服务。主要区别(编程语言除外)是我收到带有 SOAP-webservice 的 WSDL(可能是 XML),带有 OData,我可以在 xml 或 json 输出之间进行选择。

两者都实现/实现了 REST-Paradigm,但主要是实现 OData-Service。我知道任何不同的软件都可以轻松使用 OData,但是两种服务之间的优缺点在哪里?我真的不明白。

【问题讨论】:

  • 找到了一些解释here

标签: web-services rest soap odata


【解决方案1】:

他们分享说他们有一个模型,您可以询问该模型可以做什么,您可以使用它来交换数据。

区别:

SOAP 要灵活得多。你可以为任何东西建模。这带来了一些复杂性。它允许您在服务器之间或服务器与复杂客户端之间交换任何数据。

这种灵活性使得 SOAP 在 Web 浏览器中使用起来很复杂。

OData 背后的想法是严格限制您可以建模的内容,使其易于在 JavaScript 中使用:

基本上,它使用插入、更新、删除、列出方法对平面表进行建模。 您可以在 OData 服务中拥有多个此类表,并且可以定义层次结构。

考虑一个客户列表和每个客户的订单。

(OData 可以做得更多,但让我们保持简单)

所有这些都是以 JavaScript 可以轻松使用的方式制作的。

OData 还标准化了一些对 Web 应用程序有用的东西。

现在看看 SAP Fiori:OData 的简单数据模型与那些简单的 Fiori 应用程序一次可以显示的内容相匹配。

希望这能给你一个很好的概览图:

SOAP 用于数据交换,OData 用于 Web 应用程序。

【讨论】:

  • 谢谢卡斯坦。我从来没有用肥皂构建过如此复杂的网络服务。现在对我来说很有意义。非常感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 1970-01-01
  • 2012-03-19
  • 2014-10-22
  • 2018-01-09
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多