Automatic Multi Language Program Library Generation for REST APIs

Hi all,

* 1) 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. The diagram below tries to
illustrate the idea:

RESTful WS => Meta Desc => AST => Compiler => {Java | PHP | C# | Ruby
| ...} code

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 WADL.

* 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.

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:
  http://docs.google.com/Doc?id=dgdcn6h3_38fz2vn5
* The project's hosted code base:
  http://code.google.com/p/rest-api-code-gen/
(* My personal blog for background information)
  http://blog.tomayac.de

Looking forward to hearing back from you. Thanks.

Best regards,
Tom

-- 
Thomas Steiner
http://blog.tomayac.de
mailto:Steiner.Thomas@gmail.com

Received on Friday, 9 March 2007 06:24:32 UTC