Java中的SOAP和RESTful Web服务之间的主要区别

这个问题在这里已经有了答案:

  • SOAP与REST(差异)12个答案

  • REST几乎总是会更快。 SOAP的主要优点是它提供了一种服务机制来向客户描述自己,并宣传他们的存在。

    REST更轻巧,可以使用几乎所有工具实现,从而带来更低的带宽和更短的学习曲线。 但是,客户必须知道要发送什么以及期望什么。

    一般而言,当您向外部世界发布复杂或可能发生变化的API时,SOAP将更加有用。 除此之外,REST通常是更好的选择。


    REST vs SOAP Web服务

    我看到很多新的Web服务是使用REST风格的体系结构实现的,而不是SOAP。 让我们退一步,解释一下REST是什么。

    什么是REST Web服务

    首字母缩写词REST代表Representational State Transfer,这基本上意味着每个唯一的URL是某个对象的表示。 您可以使用HTTP GET获取该对象的内容,删除它,然后可以使用POST,PUT或DELETE修改对象(实际上大多数服务使用POST来实现此目的)。

    谁在使用REST?

    所有雅虎的网络服务都使用REST,包括Flickr,del.icio.us API使用它,pubsub,bloglines,technorati和eBay,亚马逊都为REST和SOAP提供Web服务。

    谁在使用SOAP?

    谷歌接口在实现其Web服务以使用SOAP时是一致的,但使用XML-RPC的Blogger除外。 您也可以在许多企业软件中找到SOAP Web服务。

    REST vs SOAP

    正如你可能已经注意到我提到的那些使用REST api的公司已经很久没有出现过,并且他们今年的apis大部分都出现了。 因此,如果创建Web服务可能是时髦的(让我们面对它使用肥皂清洗,当你疲倦时休息),REST绝对是创建Web服务的新潮方式。 REST Web服务的主要优点是:

    轻量级 - 不是很多额外的XML标记人性化的可读性结果易于构建 - 无需工具包SOAP还具有一些优势:

    易于使用 - 有时是刚性 - 类型检查,遵守契约开发工具对于使用Web服务,有时候它更容易折腾。 例如,Google的AdWords网络服务真的很难消费(无论在CF中),它使用SOAP标头,还有其他一些其他的东西让它变得困难。 相反,亚马逊的REST Web服务有时可能难以解析,因为它可以高度嵌套,并且结果模式可能会因您搜索的内容而有所不同。

    您选择哪种架构确保开发人员可以轻松访问它,并且记录良好。

    Freitag,P。(2005)。 “REST vs SOAP Web服务”。 2010年6月13日取自http://www.petefreitag.com/item/431.cfm


    肥皂

    简单对象访问协议(SOAP)标准是定义消息体系结构和消息格式的XML语言,由Web服务使用,它包含对操作的描述。 WSDL是一种基于XML的语言,用于描述Web服务以及如何访问它们。 将在SMTP,HTTP,FTP等上运行。需要中间件支持,定义好的机制来定义像WSDL + XSD这样的服务,WS-Policy SOAP将返回基于XML的数据

    REST具象状态传输(RESTful)Web服务。 他们是第二代Web服务。 REST风格的Web服务通过HTTP进行通信而不是基于SOAP的服务,并且不需要XML消息或WSDL服务API定义。 对于REST,不需要中间件,只需要HTTP支持.WADL Standard,REST可以返回XML,纯文本,JSON,HTML等

    链接地址: http://www.djcxy.com/p/12345.html

    上一篇: Main differences between SOAP and RESTful web services in java

    下一篇: Secure Web Services: REST over HTTPS vs SOAP + WS