blogccasion

REST Describe and why WADL is so god damn German

REST Describe and why WADL is so god damn German

These days I am dealing a lot with the WADL spec (PDF). WADL is one of the mightiest Web Service description languages out there. With the announcement of the release of the new GData API for Picasa Web Albums, the language's potential to describe features that are not known until run time will be put to the utmost. Imagine you want to describe a request like this:

https://picasaweb.google.com/data/feed/projection/user/userID/albumid/albumID/photoid/photoID?kind=kinds

There are a whole bunch of unknown path variables inside of the request URI:
  • userID
  • albumID
  • photoID
WADL is capable of describing this structure(!).

Anyway, on my way to doing this in an automated way, I moved another small step forward today. Have a look at the screenshot below: now there is one of these fancy in-application windows. This allows for different parameters to be tested directly from within REST Describe which can then be accepted for further analysis. What does the app do so far?
  1. It resolves the URI and extracts
    • the endpoint
    • the request name
    • the request parameters
    • the fragment
  2. It then analysis the request parameters and does basic type guessing based on regular expressions
  3. TODO: It then builds an XML document tree that will be the basis for the final WADL document
Click on the screenshot to see a full-screen view:
REST Describe Request Test dialog
WadlnSo finally back to the confusing header: "Why WADL is so god damn German". You guys probably know this cliché of the typical German with leather pants and beer. In the bavarian dialect a "Wadl" is the calf, the lower part of your leg. Do an image search in order to see what "Stramme Wadln" is. And no, neither do I look like that, nor do I come from Bavaria.

Please note: REST Describe and REST Compile are no official Google products.
Image from lederhosen-aigner.de