Hello Everyone,
I'm working on a project that involves integrating IBM Maximo with an external application, and I'd like to open a discussion on the best approaches for querying data from Maximo - especially in cases where the data retrieval requires complex logic or SQL queries.
Use Case
In my scenario, I want to run a query in Maximo based on parameters provided by an external application. I've implemented a solution using Automation Scripts. Here's what I've done:
-
I created an Automation Script in Maximo.
-
This script is triggered via a REST API endpoint, and I pass input parameters to it.
-
The script then runs a custom SQL query on the Maximo database using those parameters.
-
It returns the output of the query as a response to the calling external system.
This approach works well for me because I can execute more complex queries than I could using a standard Object Structure–based integration.
Why Not Object Structures?
While Object Structures and REST APIs are great for standard integrations, they are sometimes limited when:
-
The query requires complex joins or filtering.
-
You need to aggregate or transform data dynamically.
-
The data structure doesn't align well with a single MBO (Maximo Business Object).
My Question to the Community
I know there are several other ways to retrieve data from Maximo in an integration scenario, such as:
-
Using OSLC or REST APIs with complex filters.
-
Building custom Java code and deploying it as a web service.
-
Leveraging Database Views exposed via object structures.
So I'm curious:
What is the best and most efficient way you've used to run dynamic or complex queries from Maximo and return the data to an external system?
Have you used Automation Scripts like I have? Or have you found a better solution for similar requirements?
Looking forward to hearing your thoughts, experiences, and any best practices you can share!
Thanks in advance,
Mohamed Ghareeb
Maixmo Technical
------------------------------
Mohamed Ghareeb
------------------------------