Hi all,
Last week i sent the current rest configuration api to the geo-web-rest group and got some good feedback. Here is the thread:
http://groups.google.com/group/geo-web-rest/browse_thread/thread/bbc91cfa9314d870
I have some ideas on how to proceed but wanted to bounce off the list for additional feedback.
The first has to do with "discovery". Currently the way the api is structured it relies on a lot of pre-existing knowledge built into the client. Which actually makes it non-RESTful. Instead, as enlightened by Sean, the workflow should be hypertext driven, where a client should be able to request a "discovery" document, and determine the uri structure dynamically, drilling down so to speak.
Sean also pointed me at the scheme used by opensocial:
http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/restful-protocol
(See section 5, discovery).
Basically they have adopted a URI-template scheme which describes the URI's available to the client in an xml document. I think this method makes a lot sense, and naturally fits into our implementation.
Currently, our "discovery mechanism" so to speak is the IndexRestlet that David describes in a previous email:
"The longer, but more technically accurate answer is that it does expose
one endpoint; that being an index page which lists all non-parameterized
REST pages. The idea is that you can find out what services are
provided and, if the developers have made the effort to keep them
HTML-friendly, navigate them through the browser."
The idea of a formal discovery document takes this a step further.
Thoughts? Opinions? Ideas?
-Justin
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.