The Need for Restful Services for Geospatial Information
July 17th, 2007So far the OGC has mainly interpreted Web Services in non-restful terms. While the idea of linking to remote resources has been part of GML since version 1., it has not been exploited in a restful sense in anything beyond the most simple experiments. As pointed out by Sean Gillies and others (see geo-web-rest@googlegroups.com ) rest depends on having a consistent http interface. Sean has already described this very well, so I will just quote his e-mail here:
“A uniform interface is the “core tenet” of REST:
(http://rest.blueoxen.net/cgi-bin/wiki.pl?RestInPlainEnglish)
For the Web, it is:
- GET: “give me a representation of the resource”;
- PUT: “replace the resource’s representation with this one”;
- POST: “create a new resource from this representation”;
- DELETE: “eliminate the resource”.
The closest thing WxS has to resources are the service endpoints specified by the online resource URLs. What is their HTTP interface?
- GET: “get a capabilities document, a feature collection, or some other thing depending on the values of ’service’, ‘request’, and other parameters”;
- PUT: undefined
- POST: “get a capabilities document, or a feature collection, *or* create, update, or delete features, or do almost anything depending on the values of ’service’, ‘request’, and other parameters”;
- DELETE: undefined
GET and POST are more or less interchangeable, depending on the particular implementation. What’s important to WxS are the other request arameters: “service”, “request”, “typename”, etc. WxS has *no* uniform HTTP interface, and is therefore *not* RESTful.”
So by this definition, our OGC WxS services do NOT appear to be restful. One might wonder if we could also advance toward a more restful architecture by eliminating capabilities documents – factoring these into additional interfaces?
-Ron
(Visit Sean Gillies’ Blog http://zcologia.com/news/)








































