span8
span4
span8
span4
This article has been depreciated, for current information on working with FME and REST, see the FME Server REST API Training course.
Traditional RPC (Remote Procedure Call) web services (including SOAP) were very popular in the 90s and 2000s as it was easy to build without having to understand HTTP. However, these web services reimplemented fundamental pieces of the HTTP standard and this was done many, many times over. Around 2006 there was a significant shift away from RPC web services towards a more comprehensive, native use of HTTP for web services: summarized as REST.
As an example of RPC vs. REST, take a look at a few of these OGC WMS calls and how they might be implemented with a native HTTP, REST approach.
RPC | REST |
http://<host>:<port>/service?request=GetCapabilities | http://<host>:<port>/ service/capabilities |
http://<host>:<port>/service?request=GetMap&service=WMS | http://<host>:<port>/ service/wms/map |
http://<host>:<port>/service?request=GetFeatureInfo&service=WMS&info_format=application/json | http://<host>:<port>/wms/features (HTTP Request-Header) Accept: application/json |
However, just because the RPC approach is old, doesn’t mean that they are going away. For example, many spatial apps already have support for the RPC-based OGC web services and the INSPIRE initiative in Europe is completely invested in them. FME supports consuming and creating INSPIRE and OGC web services as well.
REST Web Services allow you to interact with a server or another node on a web network using the simplicity of the HTTP standard. The REST concept itself is not a standard, but rather a set of guidelines that promote simple easy to use web APIs.
The guidelines include using:
The majority of REST APIs will accept and respond with specific variants of either JSON or XML formatted data. In the last few years we have seen a movement away from XML towards JSON as it is more easily supported in web applications. FME Server can support any number of formats including XML, but in this tutorial we will focus mostly on JSON data.
Creating REST Web Services: 9. Conclusion (2015)
Tutorial: Creating REST Web Services (2015)
Creating REST Web Services: 2. Defining the Web Service (2015)
Creating REST Web Services: 3. Authorization and CORS (2015)
Creating REST Web Services: 4. First an RPC Web Service (2015)
Creating REST Web Services: 5. Defining the REST API (2015)
Creating REST Web Services: 6. Supporting HTTP POST (2015)
Creating REST Web Services: 7. Supporting HTTP PUT (2015)
Creating REST Web Services: 8. Supporting HTTP DELETE (2015)
© 2019 Safe Software Inc | Legal