Representational State Transfer Translation Actions (RESTTA)
The idea behind RESTTA answers the following question: How can I develope RESTful APIs that can talk to each other? The goal is a simple, XML based method to allow application developers to set up common standards for resources.
REST
I could go on explaining the details of REST, but this guy does a much better job than I could. Basically, it comes down to using plain ole HTTP, and using URIs to represent resources. A resource could be anything, a jpeg, an XML document, an HTML document, etc. REST, however, is an architectural style, and not a standard.
What can be done with RESTTA
What RESTTA allows individuals to do is to classify resources, and classify what inputs are needed to generate URIs to those resources. One resource could have many different URI patterns depending on the application technology. RESTTA allows one application to translate a URI for a resource for a totally different application. The only agreement is what the format of the resource should be, and what the recommended inputs are.
A RESTTA example could involve a blog API for responding to a remote blog post. The common detail is that there needs to be a resource that will handle the response on the local blog, and the remote blog needs to know what URI to redirect to given only a hostname. Lets call this resource the "remote_comment_processor" The user on the remote site would enter his or her website, and click a button indicating he wants to respond to the entry on his or her blog. The remote blog then would discover the RESTTA document (located in the root of the user's domain), and use it to format a URI that leads to the remote_comment_processor resource. The flow could be seen as follows:
Sample RESTTA document
<restta version="0.1"> <appClass name="blogAPI" detail="http://blogAPI.com"> <resource name="remote_comment_processor"> <input name="remote_uri" type="get" > <queryKey>uri</queryKey> </input> <uriPattern> /path/to/remotecomment.php </uriPattern> <resource> </appClass> </restta>
Further Details
You can find the detailed specifications HERE. If you wish to contact me regarding RESTTA, discuss improvements (after all, its still just a draft), please Contact Me.
Also, you can find a proof-of-concept Wordpress plugin based loosely on the example diagrams, called "Comment Log": cLog
Changelog