web-dev-qa-db-ja.com

WSDL 2.0、WADL、XRDの違いは?

  • 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

3つすべてを使用することができますREST API記述子。違いは何ですか?これは白熱した質問ですが、炎の戦争ではなく単に比較したいのです:P

39
jonathanberi

WADL(Webアプリケーション記述言語)

WADLは、HTTPベースのWebアプリケーションを記述するための標準です。通常はREST Webサービスです。したがって、WADLは、WSDL 1.1に相当するRESTと見なすことができます。

WSDL(Webサービス記述言語)

WSDL 2.0は、REST Webサービスを記述するために使用できるため、WADLと競合します。しかし、より広い範囲を持ちます。

XRD(eXtensible Resource Descriptor)

引用 このブログ Eran Hammer-Lahavからの投稿(OAuth、Discovery、XRD、およびその他の新しいコミュニティ主導の仕様と標準への頻繁な貢献者-およびYahoo!の標準開発部長):

XRDは、リソースを記述するための単純な汎用形式です。リソース記述子ドキュメントは、相互運用性を促進する目的で、リソースに関する機械可読情報(リソースメタデータ)を提供し、既知のインターフェイスをサポートする未知のリソースとの対話を支援します。

たとえば、今後の会議に関するWebページは、記述子文書に会議開催者の空き時間情報の場所を提供して、異なる時間を交渉する可能性があります。ソーシャルネットワークプロフィールページの記述子は、ユーザーのアドレス帳の場所と他のサイトのアカウントを識別できます。 APIプロトコルを実装するWebサービスは、サポートされているプロトコルのオプションコンポーネントのいずれかをアドバタイズできます。

概要

したがって、WSDL 2.0はREST Webサービス記述言語としてWADLと競合しますが(WDL 2.0にはもっとありますが、今のところは忘れてください)、XRDは任意のURIのメタデータ検出フォーマット(OpenID検出は主な使用例の1つです)。 XRD(Identityコミュニティにルーツを持つ)は異なって見えます。

38
Pascal Thivent

M. Elkstein博士の RESTチュートリアル によると、

WSDLはWebサービス記述言語です。通常、SOAPサーバーによって提供されるサービスを詳細に説明するために使用されます。 WSDLはサービスバインドオプションに柔軟性がありますが(たとえば、SMTPメールサーバーを介してサービスを提供できます)、元々はGETおよびPOST以外のHTTP操作をサポートしていませんでした。 RESTサービスは多くの場合、PUTやDELETEなどの他のHTTP動詞を使用するため、WSDLはRESTサービスを文書化するための適切な選択ではありませんでした。

WADLはWebアプリケーション記述言語です。 WADLはSun Microsystemsによって支持されています。他のRESTと同様に、WADLは軽量であり、WSDLよりも理解しやすく、簡単に記述できます。いくつかの点で、WSDLほど柔軟ではありません(SMTPサーバーへのバインドはありません)が、RESTサービスには十分であり、冗長性ははるかに低くなります。

15
Hulk1991