One of our customers’ GIS groups needed a way to read and plot Maximo work orders. But the customer didn’t have a linked ArcGIS feature class synchronized with Maximo. However, they did have XY coordinates in Maximo for each work order. So they asked us for a way to serve that information up so it could be easily consumed and visualized in Esri ArcGIS.
The result: A Koop provider for Maximo Work Orders.
What is Koop?
Koop is an open source GeoSpatial ETL engine that you can find at https://koopjs.github.io/. As defined there:
Koop is a Node.js web-server for on-the-fly transformation of geospatial data. The underlying principle of Koop is that your data remains in its native format and location but can be transformed and served to make it consumable by a multitude of clients. Koop makes this work with a plugin architecture built of Providers (plugins that request data from remote sources and transform it to GeoJSON) and Outputs (plugins that transform GeoJSON to other formats for client consumption). The figure below illustrates the flow of data from remote sources through Koop and to clients.
- Opensource and Apache-licensed
- Built on the Express.js framework for Node.js
- Official supported components are published and installable with NPM
- Koop-CLI can easily and quickly setup of new Koop server instances
- Koop services can be secured using authorization plugins
- Koop cache-plugins can improve performance
So, with this information in hand, one of our developers set out to use this opensource resource and created a Koop provider for Maximo Work Orders.
How is Koop provider for Maximo is used?
With the Maximo Work Order provider for Koop, you get the near equivalent of an ArcGIS feature class, which allows the user to query the Maximo work order data through the REST server and render the work order symbols on an ArcGIS map. [At this point, the feature class is read only.]
Here’s a small clip from the work order layer, as documented in the Koop feature service:
Getting the code
To obtain this Maximo Work Order Koop provider, simply go to: https://bitbucket.org/activeg/koop-maximo-provider. From there follow the instructions in the README and other files to download the source code.
Please note that this is a basic example of a Maximo Koop Provider. It is not meant for a production deployment. There are also other cache-related potential features that we do not use in this example. But, by all means, give it a test run and feel free to expand upon it for your own uses.
If you have questions or need more information, please post comments here, or if you need direct assistance, reach out to us via our contact page, or call (480) 610-0839.