W*S and REST, Again
2007-03-19T16:30:43Z | Comments: 4
I'm experimenting with watching Planet Geospatial less, and stalking more keywords on Technorati. This led me to a blog I hadn't seen before, and a post asserting the RESTful-ness of OGC W*S, a notion that I thought we'd put to bed last year.
Statelessness, HTTP transport, and use of URLs are necessary but insufficient elements of RESTful architecture. Statelessness is only one aspect of "hypermedia as engine of application state". Using HTTP as a simple pipe, ignoring request and response headers, is not RESTful. Finally, the important thing about URLs is that they can be dereferenced to obtain a resource. This WFS query:
http://example.com/cgi-bin/wfs? typename=PointsOfInterest& maxfeatures=50& SERVICE=WFS& VERSION=1.0.0& REQUEST=GetFeature& SRS=EPSG%3A4326& BBOX=3.048788%2C36.755769%2C3.071012%2C36.773231
is not a resource URL. It's a remote procedure call.

http://example.com/cgi-bin/wfs?view=[query expression]
would point you at a resource. Then if you substitute the actual WFS request for [query expression] you have REST. So REST depends on the plausibility of calling the thing you get back a resource.
I think early on Ron Lake was pushing XQuery, Xpath, and XLink as the means of doing what a WFS does. Would that me more RESTful?
I'm neither a full-bore student of REST, nor a database person, so the distictions may be too subtle for me.