WSDL 2.0,WADL& XRD?

时间:2010-02-07 02:17:06

标签: web-services rest wsdl wadl

  • WSDL 2.0:www.w3.org/TR/wsdl20 /
  • WADL www.w3.org/Submission/wadl /
  • XRD www.oasis-open.org/committees/download.php/35274/xrd-1.0-wd10.html

这三个都可以用作REST API描述符。有什么区别?我知道这是一个激烈的问题,但我只想进行比较,而不是火焰战:P

2 个答案:

答案 0 :(得分:37)

WADL(Web应用程序描述语言)

WADL是描述基于HTTP的Web应用程序(通常是REST Web服务)的标准。因此,WADL可以被视为WSDL 1.1的REST等价物。

WSDL(Web服务描述语言)

WSDL 2.0可用于描述REST Web服务,因此可与WADL竞争。但它的范围更广。

XRD(可扩展资源描述符)

引用Eran Hammer-Lahav的this blog帖子(经常为OAuth,Discovery,XRD和其他新兴社区驱动的规范和标准做出贡献 - 以及雅虎标准制定总监) !):

  

XRD是一种简单的通用格式   描述资源。资源   描述符文档提供   机器可读的信息   资源(资源元数据)   促进互操作性的目的,   并协助与未知的互动   支持已知的资源   接口

     

例如,关于网页的网页   即将召开的会议可以提供   描述符文档的位置   会议组织者的空闲/忙碌   有可能协商的信息   不同的时间。一个描述符   社交网络资料页面可以   识别用户的位置   地址簿以及帐户   其他网站。一个Web服务   实现API协议可以   宣传协议的哪一个   支持可选组件。

摘要

因此,虽然WSDL 2.0与WADL竞争 REST Web服务描述语言(WDL 2.0有更多但暂时忘记了),XRD是元数据发现格式对于任何URI(OpenID发现是主要用例之一)。 XRD(其根源于Identity社区)看起来不同。

答案 1 :(得分:14)

根据M. Elkstein博士的REST tutorial

  

WSDL是Web服务描述语言。它通常用于详细说明SOAP服务器提供的服务。虽然WSDL在服务绑定选项方面很灵活(例如,可以通过SMTP邮件服务器提供服务),但它最初并不支持GET和POST以外的HTTP操作。由于REST服务经常使用其他HTTP谓词,例如PUT和DELETE,因此WSDL是记录REST服务的不良选择。

     

WADL是Web应用程序描述语言。 WADL由Sun Microsystems支持。与REST的其余部分一样,WADL比WSDL更轻量级,更易于理解且更易于编写。在某些方面,它不像WSDL那样灵活(没有绑定到SMTP服务器),但它足以支持任何REST服务,而且不那么详细。