Sun’s WADL, Google REST Describe and OpenLaszlo
A few months ago I read Marc Hadley's article on the Web Application Description Language (WADL). I like the concept of describing REST web services in that way and envisioned a generator taking a the WADL and generating LZX classes connecting to the services described in the WADL document. It would even be possible to generate the corresponding server side for Java, Grails, Rails, Symfony, Cake and other frameworks.
I never found the time to get back to that idea, and this week I saw that there has been a lot of interesting development around WADL. WADL is now hosted at wadl.dev.java.net/ as part of the Glassfish project.. Thomas Steiner has been working since February on Automatic Multi Language Program Library Generation for REST APIs.
Since February 2007 I have started working on my Final Year Project whose (working) title is "Automatic Multi Language Program Library Generation for REST APIs". This project was suggested by Patrick Chanezon, Checkout API Evangelist with Google Inc. The project's main goal is to create a compiler which allows for automatic client code generation in various programming languages. This should be based on a meta description of a RESTful web service. After a first "market" survey of the available description languages, and having been in touch with Marc (thanks again), my choice for the meta description language will probably be Marc Hadley's approach named WADL.
The project code page at code.google.com has some more information on the goals:
This project's goal is to implement a compiler for meta descriptions of REST APIs. Currently the meta description language is Marc Hadley's WADL (https://wadl.dev.java.net/). The compiler should be capable to automatically create client libraries in various programming languages based on the API meta description. It should be embedded into a Rich Web Application implemented with the Google Web Toolkit.
The first beta release was out in April, the current version number is 0.7.2. Here's a screenshot of the REST Describe web interface:
You can test run REST describe online, the project's source code can be found at code.google.com/p/rest-api-code-gen/, there's a YouTube video showing how the tool works and a page with a good documentation of the approach and functionality.
REST Describe and OpenLaszlo
As you probably can imagine I'd love to see an LZX generator for REST Desribe. As soon as Thomas is back from his parental leave - his daughter Lena was just born on Sept 22, all the best for you, your wife and your daughter - I'll contact him to find out if he's interested in working with us on LZX support for REST desribe. An to all our readers: if you'd like to work with us on such an LZX generator, please contact me. You'll find the contact information in my blog at www.openlaszlonaut.de.









