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 diagram below tries to illustrate the idea:
2) Rich web application for WADL file creation
In my opinion RESTful web services are in broad use because of their simplicity for human beings. However, writing a (WADL) description for already existing web services can be a rather annoying manual job. The project's second goal is thus to implement a rich web application which allows for more or less interactive WADL creation based on "copied and pasted" example code which is usually available in textual form in the human-readable docs of the web service. Below the correspondent diagram:
This is very much work in progress, i.e. there are no concrete results yet. However, for all those interested in the process, there are two main, and one minor resources you can have a look at every now and then:
- The project's report, published as an auto-updating Google document:
- The project's hosted code base:
- (My personal blog for background information):
* Please note: REST Describe and REST Compile are no official Google products.