Web Services from a Workspace

We have seen how we can use FME to consume data from web services but FME Server can also create its own web services to provide information to other applications based on the results of a workspace.

The Planning Portal example we saw earlier is an example of how FME can be used to provide an API to web client that allows a user to pass information into a Workspace and the new FME Server Apps are also examples of this capability.

FME provides services and orchestration:

FME can also be used though to pass data between business systems, the example below shows how FME can act as a central hub for managing and validating customer records between different custom facing systems. An update to the customer CRM system (OpenCRM) can call an FME API to push a record out to the customer support system (ZenDesk) and the mail-shot platform (SurveyMonkey).

Conversely the support system can call an API that pushes information on support issues back to the CRM so that the sales team or account managers can see the support issues a particular customer is raising.

All of these interactions take place automatically and via a series of APIs across the different platforms. The FME API's are just workspaces designed to translate the messages between the different systems.

Workspace-based Services:

FME Server can be used to provide a workspace-based services. FME Server can provide a single API from a single Workspace or multiple Workspaces can be used to provide multiple APIs.

In larger organisations FME can be used with an API Gateway tool such as Amazons AWS API Gateway or an on premise open source solution like Kong that provides a single API interface onto the multiple APIs/Workspaces FME Server provides alongside other web services. This provides a uniform interface, is easily extensible, insulates clients from specific technologies delivering the API and simplifies the client logic.

For example a city is starting to roll out an API for public and internal use. The Parks Board is the first department to build a web service, but other departments will be doing the same soon. The Parks Board decided to use FME Server to implement the service, but this will actually be invisible to users of the API. Other departments may choose to use FME Server, other software providing GIS web services, or simply host some static files if their data is fairly simple and not updated frequently. This will all integrate neatly into the same API.

The operations are accessible through a RESTful web service, which can be expanded in the future to include services from other municipal departments as required.