SOAP Web服务和OData服务之间的具体区别是什么?

时间:2016-07-13 10:26:19

标签: web-services rest soap odata

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

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

1 个答案:

答案 0 :(得分:1)

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

区别:

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

这种灵活性使SOAP复杂性可以在Web浏览器中使用。

OData背后的想法是严格限制你可以建模的东西,以便在JavaScript中使用它:

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

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

(OData可以多做一点,但让它保持简单)

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

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

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

希望这能为您提供一个很好的概述图片:

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