User1974
User1974

Reputation: 386

Sync a Maximo table to a GIS table (in real-time)

I want to sync the MAXIMO.WORKORDER table to a GIS.WORKORDER table.

MAXIMO.WORKORDER --> GIS.WORKORDER --> Maximo map


The catch is that the sync needs to be real-time.

For example, if an INSERT or UPDATE is made to MAXIMO.WORKORDER, I want that change to show up in GIS.WORKORDER in less than 1 second.

The reason for the urgency is:

Maximo uses the GIS.WORKORDER table in the Maximo map. When a user INSERTS or UPDATES a WO in MAXIMO.WORKORDER, I want that WO to show up immediately in the Maximo map. Otherwise, if there is a delay, it becomes quite clunky to use the Maximo map when making edits to WOs.


Is there a way to sync work orders from Maximo to GIS in real-time?

Upvotes: 0

Views: 348

Answers (2)

JPTremblay
JPTremblay

Reputation: 900

You could do this in an object launch point automation script on your WO onadd/modified save event.

JDBC method: In your script you would open a JDBC connection to your GIS Oracle DB and perform your insert/update. Creating/opening the connection is costly though, so ultimately you could find a way to get an already created one and reuse it everytime.

Web API method: If ArcGIS exposes an API that you can use to post new work orders information, that could be a good solution too.

Depending on when you want this sync to occur (before save, after save, after commit), you could guarantee that both systems are in sync because the sync process would be part of the Maximo workorder save process... https://www.ibm.com/support/knowledgecenter/SSANHD_7.6.1.1/com.ibm.mbs.doc/autoscript/c_obj_lp.html

Upvotes: 1

User1974
User1974

Reputation: 386

What I've tried:

  1. I've tried a publish channel/event listener that sends messages to a GIS map service.

    • Unfortunately, the sync takes 15-30 seconds, which is too long.
  2. I've also tried omitting the GIS.WORKORDER table entirely by creating a view in GIS that connects to MAXIMO.WORKORDER via a dblink.

    • But that takes 5 seconds, which is too long as well. And it results in a lot of unnecessary load/queries on the Maximo database -- which creates it's own problems.

Upvotes: 0

Related Questions