Thursday, April 02, 2009

REST-testing OGC WMTS

REST is an architectural style for building services - based on the architecture of the Web. In RESTful services the primary consideration is which resources are exposed - with a resource being information you want to make available to others. In RESTful services resources are identified by a URI - and the URIs are designed in a way that makes sense based on the type of resource. (Adapted from Flanders, 2008)

For reference, a Uniform Resource Identifier (URI) consists of a string of characters used to identify or name a resource on the Internet - and the Web comes with a standard communication protocol – HTTP – for interacting with these resources and their representations.

So let's put REST to the TEST in the context of the OGC REST WMTS draft spec - not with concepts but with a real service, like this REST WMTS -

Here (click or load this link into your browser)

Here's the full link -

http://cubewerx.com/demo/cubeserv/cubeserv.cgi/tile/wmts/1.0.0/ORTHOIMAGES:CANIMAGE/RGB/ORTHOIMAGES:CANIMAGE$EPSG:4326/13.2523203325326e6/3/3.png


REST states that to retrieve this tile, the client should send an HTTP GET request to the URI above. Unlike with the traditional OGC WMS KVP or XML/SOAP operation encodings, where the URL+body represents an Operation, the RESTful encoding of a WMTS tile request is really the address of the tile resource, with the operation (GET) being specified at the HTTP level. The RESTful encoding of a tile request consists of all nouns, and the HTTP operation indicates what operation is being performed on the addressed resource according to the following syntax -

{WMTSBaseURL}/{layer}/{style}/{firstDimension}/{...}/{lastDimension}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.{format_extension}

So...REST defines an architectural style based on a set of constraints for building things the “Web” way and is simply a way to design things to work like the Web - and I'd say OGC WMTS passes the REST TEST.

Of course, there will also be there will also be information exchange, services and collaboration requirements that can be supported better by SOA standards like OGC Web Services - but REST WMTS could be an important step forward for interoperability.

- Jeff

0 Comments:

Post a Comment

<< Home