Synchronization 将Maximo表同步到GIS表(实时)

Synchronization 将Maximo表同步到GIS表(实时),synchronization,integration,replication,maximo,Synchronization,Integration,Replication,Maximo,我想将MAXIMO.WORKORDER表同步到GIS.WORKORDER表 Maximo和GIS数据库分别是Oracle数据库12c和18c 同步将是单向的 它每天将同步大约100次插入和100次更新 MAXIMO.WORKORDER->GIS.WORKORDER->MAXIMO地图 关键是同步需要是实时的 例如,如果对MAXIMO.WORKORDER进行了插入或更新,我希望该更改在不到1秒的时间内显示在GIS.WORKORDER中 紧迫性的原因是: Maximo使用Maximo地图中的GIS.

我想将MAXIMO.WORKORDER表同步到GIS.WORKORDER表

Maximo和GIS数据库分别是Oracle数据库12c和18c 同步将是单向的 它每天将同步大约100次插入和100次更新 MAXIMO.WORKORDER->GIS.WORKORDER->MAXIMO地图

关键是同步需要是实时的

例如,如果对MAXIMO.WORKORDER进行了插入或更新,我希望该更改在不到1秒的时间内显示在GIS.WORKORDER中

紧迫性的原因是:

Maximo使用Maximo地图中的GIS.WORKORDER表。当用户在MAXIMO.WORKORDER中插入或更新WO时,我希望该WO立即显示在MAXIMO地图中。否则,如果出现延迟,则在编辑WOs时使用Maximo映射会变得非常笨拙

想象一下,在一个应用程序中,当计算机挂起时,每次单击后都必须等待几秒钟。这不好玩! 有没有一种方法可以实时将工作单从Maximo同步到GIS?

我尝试过:

我尝试了一个发布通道/事件侦听器,它向GIS地图服务发送消息

不幸的是,同步需要15-30秒,这太长了。 我还尝试通过在GIS中创建一个通过dblink连接到MAXIMO.WORKORDER的视图来完全省略GIS.WORKORDER表

但这需要5秒,也太长了。它会在Maximo数据库上产生大量不必要的加载/查询,这就产生了它自己的问题。
您可以在WO onadd/MODIFED save事件的对象启动点自动化脚本中执行此操作

JDBC方法: 在脚本中,您将打开到GIS Oracle DB的JDBC连接,并执行插入/更新。但是,创建/打开连接的成本很高,因此最终您可以找到一种方法来获取已创建的连接,并在每次都重复使用它

Web API方法: 如果ArcGIS公开了一个API,您可以使用该API发布新的工单信息,这也是一个很好的解决方案

根据您希望此同步在保存之前、保存之后、提交之后发生的时间,您可以保证两个系统同步,因为同步过程将是Maximo workorder保存过程的一部分。。。

您有没有研究过具有实时捕获功能的Oracle Streams?这些想法真的很有趣。谢谢