Разница между 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

все три могут быть использованы дескрипторы REST API. В чем разница? Я знаю, что это горячий вопрос, но я просто хочу сравнения, а не войны пламени :P

2 ответов


WADL (язык описания веб-приложения)

WADL-это стандарт для описания веб-приложений на основе HTTP, обычно веб-служб REST. Таким образом, WADL можно рассматривать как эквивалент REST wsdl 1.1.

WSDL (язык описания веб-служб)

WSDL 2.0 может использоваться для описания веб-служб REST и, таким образом, конкурирует с WADL. Но она имеет более широкий охват.

XRD (расширяемый дескриптор ресурсов)

цитирую этот блог сообщение от Eran Hammer-Lahav (частый участник OAuth, Discovery, XRD и других новых спецификаций и стандартов, управляемых сообществом - и директор по разработке стандартов в Yahoo!):

XRD-это простой общий формат для описание ресурсов. Ресурс документы дескриптора обеспечивают машиночитаемая информация о ресурсы (метаданные ресурсов) для цель содействия интероперабельности, и помощь в взаимодействие с неизвестным ресурсы, которые поддерживают известные межфазные границы.

например, веб-страница о предстоящая встреча может обеспечить в своем дескрипторе местоположения организатор встречи свободен / занят информация для возможного согласования разное время. Дескриптор для страница профиля социальной сети может определить местоположение пользователя адресная книга, а также счета на другие узлы. Веб-служба реализация протокола API может рекламируйте, какой из протоколов поддерживаются дополнительные компоненты.

резюме

Итак, в то время как WSDL 2.0 конкурирует с WADL как языки описания веб-службы REST (WDL 2.0 имеет больше, но давайте забудем, что на данный момент), XRD является формат обнаружения метаданных для любого URI (обнаружение OpenID является одним из основных вариантов использования). XRD (который имеет свои корни в сообществе идентичности) выглядит по-другому.


по словам доктора М. Элкштейна в его остальное-учебник,

WSDL-это язык описания веб-служб. Он обычно используется для подробного описания услуг, предлагаемых SOAP-сервером. Хотя WSDL является гибким в параметрах привязки служб (например, службы могут быть предложены через почтовые серверы SMTP), первоначально он не поддерживал операции HTTP, кроме GET и POST. Поскольку службы REST часто используют другие http-команды, такие как PUT и DELETE, WSDL был плохой выбор для документирования услуг отдыха.

WADL-это язык описания веб-приложений. Воддл является отстаивал "Сан майкросистемз". Как и все остальное, WADL легкий, легче понять и легче написать, чем WSDL. В некоторых отношениях он не так гибок, как WSDL (без привязки к SMTP-серверам), но он достаточен для любой службы REST и гораздо менее подробен.