The GeoServices REST Specification: An open standard for GIS Web services

At the plenary session of the 2010 Esri International User Conference, company president Jack Dangermond announced, “In a few weeks [Esri] will release a new REST API into the open world using a standards process”. Dangermond likened this to Esri’s release of the shapefile specification and promised that it “will pioneer open access in the Web environment.”

His promise was fulfilled with this week’s rollout of the GeoServices REST Specification, Version 1.0, a document on the Esri Web site which is freely available through the Open Web Foundation license agreement.

The GeoServices REST Specification describes a way to develop GIS Web services that follow an expected pattern of communication. The introduction of the document describes how you would implement the specification:

“To implement the GeoServices REST Specification, developers architect the back-end server to respond to specifically structured REST requests in an expected way. For example, if someone issues a request to the server to export a map image, such as http://<mapservice-url>/export?bbox=-127.8,15.4,-63.5,60.5, the server should return a map image with a lower left coordinate of (-127.8, 15.4) and an upper right coordinate of (-63.5, 60.5). How the server generated the image is not so important as the fact that it responded in an expected way when issued a URL whose structure followed the GeoServices REST Specification.”

Services that follow the specification will “speak the same language” as the REST-ful Esri Web services. That means clients can consume them with the popular ArcGIS APIs for JavaScript, Flex, Silverlight, iOS, and Android; as well as other Esri client APIs. However, you don’t have to own or use any Esri software in order to implement the specification or to build a client that works with the services.

As you examine the specification, you’ll probably notice that it looks like the ArcGIS REST API. This is deliberate. The pattern we have used at Esri for exposing REST-ful GIS services has been embraced by thousands of developers who use the ArcGIS Web APIs. It is a simple and intuitive way of structuring and talking to GIS Web services. We wanted you to feel free to implement services that follow the same pattern.

This entry was posted in Services and tagged , , . Bookmark the permalink.

Leave a Reply

2 Comments

  1. sterlingdq says:

    @Ryan – specVersion is a special case. The GeoServices REST Specification had to be completely ArcGIS Server-neutral, so currentVersion could not be a required property. It is an optional property (that should have been listed here- that is a mistake) that could represent any “software version”, as applicable to the service implementor/vendor.

    specVersion is also an optional property that if not listed is assumed to be 1.0.

  2. sterlingdq says:

    @Ryan – Following up on the above thread, the spec has been replaced with a corrected document that explains specVersion and currentVersion. The only sections with changes are 3.0 and 3.0.3.