An ArcGIS – IBM Maximo integration keeps one asset register in Maximo and one spatial picture in ArcGIS, joined by a stable key. Locations and assets are synchronised, work orders and service requests are shown and created on the map, and inspection results captured in Field Maps are posted back through the Maximo REST or OSLC API. Maximo Spatial adds map context inside Maximo itself.
Swedish Technology delivers the integration as a documented, versioned service with a field-level mapping specification, reconciliation reports and a hand-over your own team can maintain.
What problem does this solve?
Maximo and ArcGIS both claim to describe the same asset, and in most organisations they disagree. Maximo has a locations hierarchy built around maintainable systems; ArcGIS has feature classes built around geometry and network topology. Assets exist in one and not the other, identifiers were entered by different teams at different times, and the only person who knows how they line up keeps the mapping in a spreadsheet. Every reporting cycle then starts with a reconciliation exercise instead of an analysis.
The operational cost shows up in the field. A planner schedules work against a Maximo location that a crew cannot find, because the coordinates are either missing or came from a geocoded street address. Inspection results are captured on paper or in a mobile app that Maximo does not read, so condition data never reaches the maintenance plan. Managers asking "what is the backlog in this district" have to export both systems and join them by hand.
The failed version of this project is equally recognisable: a nightly script that copies rows in one direction with no error handling, no idempotency and no reconciliation report. It works for a quarter, then silently stops on a record with a bad character, and nobody notices until an audit. Integration is not a copy job — it is a contract about which system owns which field.
How the solution works
Start by deciding ownership field by field, not system by system. Maximo normally owns asset and location master data, classification, status and the work-management lifecycle. ArcGIS owns geometry, network relationships, spatial hierarchy and anything derived from location. The integration service then moves only what each side does not own, in one direction per field, keyed on a stable identifier — usually Maximo's asset number or location code stored as an attribute on the GIS feature, with the GIS GlobalID stored back on the Maximo record.
On top of that, three flows deliver most of the value: work orders and service requests published to a GIS layer so backlog and crews are visible on the map; inspection and condition results captured in ArcGIS Field Maps and posted into Maximo as work-order completions, meter readings or new service requests; and the reverse map context — Maximo Spatial or a map widget inside Maximo so planners can see the asset without leaving their application. Swedish Technology builds these as custom development against the Maximo REST and OSLC APIs and the ArcGIS REST API, with a field-mapping specification and a reconciliation report as deliverables.
- 1Input Maximo locations, assets, classifications and work orders; ArcGIS feature classes with geometry and network relationships. A key strategy defines which identifier joins them and how new records are matched.
- 2Capture Changes are detected on both sides: Maximo publish channels or object structures emit created/changed records; ArcGIS changes are picked up from editor tracking, attribute rules or a change-detection query.
- 3Processing The integration service validates against the field-mapping specification, translates domains and code lists, resolves the key, derives geometry where needed (route/measure, address geocoding, snap to network) and rejects records that fail validation into an exception queue.
- 4Integration Records are written through the Maximo REST/OSLC API (or an integration framework object structure) and through ArcGIS feature-service applyEdits, with idempotency keys so a retry never creates duplicates.
- 5Action Planners see work orders and service requests on the map and can create them from a selected feature; crews receive assignments in Field Maps; geofence or inspection triggers raise Maximo service requests automatically.
- 6Reporting Dashboards show backlog, overdue PMs and condition by district or corridor; a scheduled reconciliation job lists records present in one system only, key mismatches and rejected messages.
Reference architecture
Four moving parts: the two systems, a broker between them, and the mapping specification that governs both. Keep business logic in the service, not in database triggers on either side.
| Layer | What it contains |
|---|---|
| IBM Maximo | Maximo Manage (Maximo Application Suite or Maximo 7.6) with object structures, publish channels and enterprise services configured for the integration; optional Maximo Spatial for in-application map context. |
| Integration service | A small API and worker set (ASP.NET Core, Java or Python) holding credentials for both systems, the field mapping, domain translation, queue with retry and dead-letter, idempotency and audit logging. |
| ArcGIS Enterprise | Enterprise geodatabase and feature services for assets, work orders and inspections; attribute rules for validation; branch versioning where editing must be reviewed; Field Maps and dashboards on top. |
| Mapping & governance | The field-mapping specification (source, target, direction, transformation, domain), the key strategy, exception handling rules, and the data-owner sign-off for each field. Version-controlled alongside the code. |
| Identity & security | Service accounts with least privilege in both systems, secrets in a vault, TLS everywhere, and end-user SSO (Entra ID or portal) for the map applications so ArcGIS permissions still apply. |
| Monitoring | Queue depth, error rate, last successful sync per entity and reconciliation counts exposed as a dashboard, with alerting when a flow stops. |
Deployment options: Both Maximo (on-premise or on OpenShift as part of Maximo Application Suite) and ArcGIS Enterprise commonly run inside the customer network in the UAE. The integration service is deployed in the same network or DMZ; no traffic needs to leave the environment. A cloud-hosted variant is possible where policy allows.
Key capabilities
Asset and location synchronisation
One asset exists once, with the same identifier in Maximo and ArcGIS, and new assets created in either system appear correctly in the other.
custom developmentWork orders and service requests on the map
Planners and managers see open, overdue and completed work spatially instead of in a list, and can filter by crew, district or asset class.
custom developmentCreate a work order from a feature
A user selects an asset on the map or in ArcGIS Pro and raises a Maximo service request or work order with the asset context already filled in.
custom developmentInspection results posted back
Field Maps inspection forms become Maximo work-order completions, meter readings or condition records, ending re-keying from paper.
custom developmentMap context inside Maximo
Planners see the asset and its surroundings without switching applications, using Maximo Spatial or an embedded ArcGIS web map.
availableGeometry derivation and validation
Assets with an address or a route/measure get correct coordinates automatically, and records without usable location are flagged rather than silently mapped to the office.
custom developmentReconciliation reporting
A scheduled report lists orphan records, key mismatches and rejected messages so data quality is managed, not discovered during an audit.
custom developmentBilingual field forms
Arabic and English labels on inspection forms and map applications for government field crews.
availableIntegrations
A Maximo–ArcGIS integration rarely stands alone; these are the adjacent connections that usually appear in the same programme.
| System | Integration point & data exchanged | Direction |
|---|---|---|
| IBM Maximo (Manage) | Asset and location master data, work orders, service requests, meter readings and condition monitoring via REST API, OSLC and integration framework object structures. | bi-directional |
| ArcGIS Enterprise / Online | Feature services for assets, work orders and inspections; Field Maps for capture; dashboards and Experience Builder for supervision. → ArcGIS Experience Builder Custom Widgets | bi-directional |
| ArcGIS Pro | Planner and editor workflows: raise or inspect Maximo records for a selected feature through a custom add-in. → ArcGIS Pro Add-in Development | bi-directional |
| RFID / RTLS platform | Tag-based asset verification and last-seen location used to validate Maximo asset existence and support inventory counts. → ArcGIS RTLS & RFID Integration: Live Location in GIS | inbound |
| Pavement / condition survey data | Road condition indices loaded to ArcGIS and used to generate Maximo work orders on defined thresholds. → Road Inspection & Pavement Condition Intelligence in GIS | outbound |
| Document management | Drawings, permits and inspection reports linked from both the map feature and the Maximo record. → Document Management & Correspondence System | bi-directional |
Industry use cases
Water and electricity utilities
Network features in ArcGIS drive Maximo location hierarchy; leak and fault service requests appear on the network map and crews are dispatched from it.
Roads and transport authorities
Pavement condition surveys in ArcGIS create Maximo work orders above defined thresholds; the backlog is reviewed on a corridor map, not a spreadsheet.
Municipal facilities
Buildings, parks and street furniture inspected in Field Maps; completions and meter readings post back to Maximo the same day.
Oil, gas and industrial plants
Plot-plan features linked to Maximo equipment for turnaround planning; inspection findings recorded spatially and against the equipment record.
Airports and ports
Airside and terminal assets maintained in Maximo, visualised on operational maps with live work status for shift supervisors.
UAE & GCC considerations
In the UAE and GCC both Maximo and ArcGIS Enterprise are typically deployed inside the entity's own data centre or a national cloud region, and integration traffic is expected to stay within that boundary — an important design constraint when vendors propose cloud middleware. Government maintenance programmes are also audited on data quality and on KPI reporting, which makes the reconciliation report as much a deliverable as the interface itself. Field crews often work bilingually, so inspection forms, domain values and dashboards are delivered in Arabic and English, with right-to-left aware layouts. Procurement usually requires the field-mapping specification, source code and hand-over documentation as named deliverables, and we scope them that way from the start.
Implementation approach
- 1Discovery (2–3 weeks) Workshops with the maintenance and GIS teams; inventory of Maximo object structures, GIS feature classes, existing interfaces and identifiers in use.
- 2Key strategy and data profiling Profile both datasets to measure how many records can actually be matched today. This number, not the API design, determines project scope.
- 3Field-mapping specification Field by field: source, target, direction, transformation, domain translation, mandatory/optional, and the data owner who signs it off.
- 4Interface design Decide per flow between REST, OSLC, publish channels or batch; define error handling, idempotency, volumes and the reconciliation approach.
- 5Build and unit test Iterative development against Maximo and ArcGIS test environments, with a stub for whichever system is not yet available.
- 6Data clean-up and initial load Fix duplicates, orphan locations and missing geometry; run the initial synchronisation in controlled batches with a rollback plan.
- 7Pilot (4–6 weeks) One district, asset class or plant area runs live, including field inspections, with daily reconciliation and a defect log.
- 8Roll-out, hand-over and support Extend by area, deliver runbooks, monitoring dashboards, admin training and source code; agree a support window covering Maximo and ArcGIS upgrade cycles.
Security & deployment
The integration runs under dedicated service accounts with least-privilege roles in both Maximo and ArcGIS, and their credentials live in a vault rather than in configuration files. End users authenticate to the map applications with Entra ID or portal SSO, so ArcGIS layer and Maximo security-group permissions continue to apply — the integration never widens what a user can see. All traffic is TLS, message payloads are logged with the identifiers but with sensitive attributes masked, and every write carries a correlation ID that can be traced end to end during an audit. The service can be deployed fully on-premise, in a UAE-region private cloud, or in an air-gapped environment with local package deployment.
Limitations & prerequisites
- Integration cannot fix a bad key strategy. If Maximo asset numbers and GIS identifiers were never aligned, data clean-up is a real project of its own and usually longer than the interface build.
- Maximo's location hierarchy and a GIS network model are different shapes; a one-to-one mapping rarely exists and some assets will need a documented aggregation or split rule.
- Maximo Spatial and the ArcGIS integration options depend on your Maximo version and licensing (Maximo 7.6 versus Maximo Application Suite); the available approach must be confirmed with your licence position before design.
- Near-real-time in both directions increases cost and failure modes. Many organisations are better served by real-time in the direction users see and a scheduled batch the other way.
- Attachments, long text and rich inspection media do not move cleanly through record-level interfaces; a document platform or object storage is usually needed alongside.
- Upgrades on either side can change APIs and object structures; regression testing must be budgeted as part of the Maximo and ArcGIS Enterprise upgrade cycles.
- Any interface that writes to a work-management system needs an agreed exception process; without a named owner for the exception queue, rejected records accumulate unnoticed.
Integration options between ArcGIS and Maximo
Four patterns, from lightest to heaviest. Most organisations end up with a mix rather than one.
| Criterion | Map context only | Scheduled batch sync | Custom integration service | Maximo Spatial |
|---|---|---|---|---|
| What the user gets | Read-only map in or beside Maximo | Both systems agree overnight | Near-real-time work orders and inspections both ways | Maps and spatial tools inside the Maximo UI |
| Write-back to Maximo | No | Limited, batch | Yes, per flow | Yes, within Maximo |
| Effort | Days to weeks | Weeks | Weeks to months | Configuration plus licensing |
| Handles data quality issues | Exposes them | Poorly — errors hide in logs | Yes, exception queue and reconciliation | Depends on underlying data |
| Dependency on Maximo version | Low | Medium | Medium — REST/OSLC availability | High — licence and version specific |
| Field capture in ArcGIS | No | No | Yes, via Field Maps | No |
| Best for | Quick visibility, early proof | Reporting and analysis | Operational maintenance workflows | Planners who live in Maximo |
A common sequence is map context first to prove value, then a custom service for the two or three flows that change daily work, with Maximo Spatial added if planners need spatial tools inside Maximo itself.
FAQ
The number of entities and flows (assets, locations, work orders, service requests, meters, attachments), whether each flow is one-way or bi-directional, the state of the identifiers in both systems, and how much data clean-up is needed before the first load. Field capture with Field Maps forms and bilingual labels adds scope on the ArcGIS side.
Discovery and the field-mapping specification take 3–5 weeks. A first production flow — usually work orders to the map — is typically live in 8–12 weeks. Full bi-directional coverage with inspections and reconciliation is generally a three to six month programme, mostly driven by data clean-up rather than code.
Yes, and in the UAE it usually must. Maximo, ArcGIS Enterprise and the integration service all run inside your network; nothing needs to leave the environment. Air-gapped deployment is possible with local package installation and offline documentation.
Only if planners need to work with maps inside the Maximo interface. If your users work in ArcGIS web apps or Field Maps, an integration service plus ArcGIS applications covers the same needs without the additional licensing. We assess this in discovery against your Maximo licence position.
A Maximo extract of locations, assets and a month of work orders; the ArcGIS feature classes with their schemas; documentation of any existing interfaces; and access to test environments for both systems. From these we can measure how many records match today.
Matching accuracy depends entirely on your identifiers. Where a shared key already exists, matching is essentially complete; where it does not, expect an initial matched share well below 100 % and a clean-up backlog. We report the measured figure during profiling rather than promising a percentage in advance.
On the Maximo side, the Maximo REST API and OSLC resources, or integration framework object structures and publish channels for higher-volume batch flows. On the ArcGIS side, the ArcGIS REST API feature-service operations, with attribute rules and editor tracking used for validation and change detection.
You own the source code, the field-mapping specification and the deployment scripts, and they are handed over as named deliverables. We can maintain the integration under a support agreement, including regression testing when Maximo or ArcGIS Enterprise is upgraded.
Two asset registers that disagree?
Send us a Maximo location/asset extract and your GIS feature classes. We reply with a proposed key strategy, a field mapping draft and the integration options with effort and risk.
Book an Integration WorkshopSources & evidence
- IBM — Maximo Application Suite documentation — product and API documentation by release
- IBM — Maximo Manage documentation — object structures, integration framework, REST API
- OSLC — Open Services for Lifecycle Collaboration, Core specification
- Esri — What is a feature service? (ArcGIS Enterprise)
- Esri — ArcGIS Field Maps documentation — field capture used for inspection write-back
Vendor and product names are trademarks of their respective owners; references are for technical context and do not imply partnership, certification or endorsement unless stated on the vendor's official pages.