How REST-ful are OGC Services?
I got around this question about REST and OGC Services, while writing a paper. And I am still struggeling in two ways with the question. First way, are my conclusions right and second, is this really a relevant question?
But first a short introduction. The term REST stands for Representation State Transfer and was coined in the phd thesis of Fielding. REST in my view proposes principles about web-based software architecture design (a.k.a. architectural styles). It does not give guidelines, but extracts certain properties (called constraints), which should be inherited from these REST-ful components (such as Web Services). These properties reflect also the basic concepts of the Web. So a REST-ful web service has to be:
- stateless
- talking over HTTP (POST and/or GET)
- Using URLs
Even these properties are somehow applied on a web service technology view. Most of the articles on the Web somehow do forget about that. So for instance assuming, that REST is XML based or is on the same stage as SOAP, is not the case. However it can be compared to SOAP/WSDL, if you want to compare them on a level of fine-grain web architecture design. Doing so, it becomes clear that, REST seems to be sufficient in most of the projects and it only has to be extended, if real enterprise applications have to be bring to the market (and then use SOAP/WSDL).
Ok, so far, that is theory. Now back to the question. If I only look at the specifications of OGC Services I would definitely say that OGC Services (as WMS, WFS, WCS) are actually fulfilling these REST-properties. But you barely find any evidence, that OGC Services are REST-ful. A recent post at the Surveying, Mapping and GIS blog links somehow REST and OGC, but does not identify a clear link, between the both.
Regarding the second question, I would say, that the question is relevant, to assess the development stage of such a specification. You can clearly see, that OGC pushes their specifications towards SOAP/WSDL if they are mature enough (e.g. WMS). Additionally it shows, that OGC’s specification process (at least the results) are quite software driven and always attached to a real implementation scenario.