3

I have read the book "Restful Web services". In that book it described WADL and it's purpose to describe RESTful web applications.

That book was written in 2007, and at that time there weren't many web applications using WADL.

I wonder if that has changed. How many web applications and which popular web applications are using WADL to describe it's RESTful API?

ajsie
  • 77,632
  • 106
  • 276
  • 381

2 Answers2

5

A wadl works very effective when you want to test your webservices using SoapUI. Just copy paste your wadl and your ready to go.

In my opinion that is very helpful.

There are alot of iPhone apps that talk to wadl based webservices. Most of the time the people that build the webservice need to explain the service to the people that build the iPhone apps. And a wadl helps in those cases

Metalmini
  • 111
  • 2
  • 6
1

If you do REST properly you really don't need WADL. The API itself should be self-describing. The important thing to document is the media-types and link relations that you use.

Darrel Miller
  • 139,164
  • 32
  • 194
  • 243
  • 1
    Client side DTOs and web methods can be auto generated from WADL / XSD definitions, this ensures continuous integration with the web service. Are you aware of any other specification document that can also achieve this? -1 for not even considering the benefits, the OP now assumes WADL are useless, you should be ashamed. – S-K' Apr 03 '13 at 15:52
  • @S-K' Client side DTOs and generated "web methods" are by their very nature not RESTful has they generate out of band coupling. If you don't believe me Roy explains the rules here: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven – Darrel Miller Apr 03 '13 at 20:52
  • it seems like you are only considering public APIs and have a perverted obsession over implementing "perfect" REST. Consider an enterprise webservice that a variety of different clients depend on; iphone, android, blackberry, windows phone, symbian, J2ME, HTML5, web. To ensure DTOs and "web methods" are consistent with the web service across all platforms, code generation is essential. WADL / XSD definitions are perfect for this. Oh and by "web methods", I mean HTTP connection code, so handling; headers, query strings, template variables and request / response objects. – S-K' Apr 04 '13 at 12:12
  • 1
    @S-K'The web has this notion called `Media Types` that are part of the contract between clients and servers and are completely cross platform. You are building distributed applications on the web presumably because you believe the web is a successful platform and yet you choose to ignore the architectural characteristics that make it successful. That's your choice. However, when someone on SO asks about REST, I'm assuming that they want to know about REST as it was conceived. – Darrel Miller Apr 04 '13 at 12:40
  • So please explain how I can continuously integrate a client and server using `Media Types` as the contract? – S-K' Apr 04 '13 at 13:45
  • @S-K' Feel free to ask a question with the REST tag. There are lots of knowledgeable people here on SO. Comments are not really the place to try and clarify this. – Darrel Miller Apr 04 '13 at 14:15
  • That was a rhetorical question, it is not possible. Hence the reason why WADL / XSD specifications are used.. – S-K' Apr 04 '13 at 15:41