在客户端透视图中的实际差异b / w WCF和REST

时间:2013-11-06 05:45:07

标签: wcf rest soap

从客户角度看,WCF与REST服务的实际差异是什么? 我知道以下区别 WCF支持多个传输协议,托管,WS- *功能以及基于SOAP消息等。 REST服务基于 URI的HTTP动词,JSON / XML格式和超媒体作为状态管理,不需要WSDL文档等。 我可以通过JQUERY使用JQUERY(例如“服务名称/方法名称”)和JSON DATA轻松地从JavaScript客户端使用WCF服务,我从来没有遇到任何关于 SOAP消息的复杂问题,所以我认为这适用于任何作为客户端,我发现所有REST专家都指出它最适合任何类型的客户端,因为没有SOAP消息的复杂性。那么请指导/建议REST在客户端方面的主要优势? (忘掉WSDL文档)。高级谢谢你的好答案

1 个答案:

答案 0 :(得分:0)

首先,请注意,通常所谓的REST并不是REST的意思。我不知道它何时以及如何开始,但是大多数人似乎都认为REST只是将HTTP方法映射到CRUD,或者使用JSON,或者漂亮的URI,或类似的东西。

您在设备上运行并连接到服务器的专用客户端应用程序与浏览器之类的通用客户端之间的区别是相同的。

REST在客户端的主要优点是客户端和服务器实现之间缺乏耦合。使用SOAP,您将被绑定到客户端和服务器之间签订的实现,如果有人在没有通知的情况下进行更改,则预计交互会中断。

使用REST,除了入口点和可用的可用媒体类型之外,客户端不应具有该服务的任何先前信息。服务器应该提供客户端将导航的链接以找到它感兴趣的资源,这样他们就可以更加优雅地处理更改。如果内部情况发生变化,客户甚至不会注意到。我们只是获取新链接并像往常一样关注它们。如果事情发生了巨大变化,理想情况下客户不应轻易破坏,并且可以继续逐步适应变化。

想想一个像Stack Overflow本身这样的网站。当您进入家庭时,您已经知道什么是问题,答案和用户,因此您知道入口点和媒体类型。根据提供的内容,该网站为您提供问题和用户的链接,您只需按照它们操作即可。您有一个通用客户端,一个浏览器,可以在任何类似的网站上运行,而不是在桌面上运行的连接到Stack Overflow服务器的专用客户端应用程序。这就是区别。 REST是一种遵循Web本身架构的架构风格。