EAMStream

Hands-on IBM Maximo / EAM technical notes — MAS 9, MIF integration, automation scripts, REST APIs, BIRT reports and real-world troubleshooting.

Part 1 — Maximo Automation Testing through Selenium with Python — Dev Environment Setup and SSO

1. Background Comparing to manual testing, automation testing definitely has a lot of advantages: More precise testing, decrease testing time dramatically, integrate with DevOps process, etc. But the major challenge is to implement automation testing, especially for the complicate scenario. For example, some test cases required combine the functional and integration testing together. In my current Maximo project, there are a lot of test cases complicate like this. Each release requires a lot of effort to retest some of the test cases manually, also need to do the full regression testing manually to make sure the updates in the new release not breaking existing functions / interfaces. I started to look into automation testing solution for Maximo. ...

September 8, 2024 · 7 min · 1387 words · Jacky Qiu

Customized Inbound Message Processing Logic for Maximo Enterprise Service through Automation Script

If you don’t have Medium account, you can read this blog through this friend link. In my previous blog “Introduce Maximo Enterprise Service to Accept Inbound Messages from Other Systems”, I introduced how to configure Maximo Enterprise Service for accepting inbound messages. In this blog, we will discuss how to implement customized logic in Maximo Enterprise Service through automation script to meet some special requirement. 1. Automation Script VS Java Maximo provides multiple options to allow you customize out of box (OOO) Maximo function / feature. For the Maximo Integration Framework (MIF), You can develop your customized integration logic through Java or Automation Script. The major difference between the java and Automation Script options is that Automation Script doesn’t require redeploy EAR file, but Java code need to rebuild EAR and redeploy it to Maximo Server. ...

July 6, 2024 · 4 min · 727 words · Jacky Qiu

Introduce Maximo Enterprise Service to Accept Inbound Messages from Other Systems

If you don’t have Medium member, you can try this friend link to read. In my previous blog Maximo Publish Channel for Sending Outbound Messages introduces outbound message from Maximo. How Maximo can accept inbound message from other system? There are 2 ways Maximo can receive outbound message from outside system to update the data in Maximo: (1) Through Object Structure Restful API (You can refer to my other blog “Introduction of Maximo NextGen Rest APIs — Part 2 Update Maximo Data”, or (2) Through Enterprise Service, which will provide step by step instruction in this blog. ...

May 7, 2024 · 9 min · 1787 words · Jacky Qiu

Maximo Asset/Location Hierarchy Query

In Maximo, Asset / Location hierarchy is a pretty standard data format for asset and location management. The following is an example of HVAC asset hierarchy in Maximo asset drilldown function. It would be very common for the business user asks to have asset / location hierarchy report along with other information. There is an out of box (OOO) Asset Hierarchy in Maximo with very limit information (only asset num and description fields). To query the asset / location hierarchy information along with other information, for example, level information, custom format description which can show the layer indent description make it looks like a tree instead of flat table. ...

May 1, 2024 · 3 min · 631 words · Jacky Qiu

Object structure in Maximo is how you construct your data to bind the inbound payload to Maximo

Object structure in Maximo is how you construct your data to bind the inbound payload to Maximo database Originally published on Medium.

February 21, 2024 · 1 min · 22 words · Jacky Qiu

Introduce Maximo Publish Channel for Sending Outbound Messages

Maximo Publish Channel is part of Maximo Integration Frame (MIF) to send outbound message / data from Maximo to external system. This article is to provide the instruction on how to configure Maximo Publish Channel along with other MIF modules to send data from Maximo to other systems. You will gain the following knowledges on the following modules in MIF after following this instruction: (a) Object Structure (OS) (b) Publish Channel (PC) ...

January 16, 2024 · 8 min · 1636 words · Jacky Qiu

Maximo Login Error “loginerror.jsp?group=system&key=NoLogin”

Recently I tried to install Maximo Spatial package to a Maximo instance. After the Spatial package was installed, I tried to login Maximo to verify the result of the installation, got the following error: Login Error You cannot login at this time. Contact the system administrator And the error page parameters are loginerror.jsp?group=system&key=NoLogin Investigated on the log, cannot find any useful information since no exception happened for this case. After research through Mr. Google, looks like it was caused by useAppServerSecurity was updated issue. To verify my assumption, opened the file maximo.properties (default location in Windows C:\IBM\SMP\maximo\applications\maximo\properties), the value mxe.useAppServerSecurity=1, means it will use LDAP authentification. But in my Maximo instance I was configured it used Maximo application authentication. It might be updated during the Maximo Spatial package installation. ...

April 14, 2023 · 3 min · 444 words · Jacky Qiu

Introduction of Maximo NextGen Rest APIs — Part 2 Update Maximo Data

In previous blog “Introduction of Maximo NextGen Rest APIs — Part 1 Query Maximo Data”, I introduced how to query Maximo data through NextGen Rest APIs. In this blog, we will have experiment on how to update Maxim data in through NextGen Rest APIs. We will continue using the MXASSETSPEC OS we built in previous blog for the this experiment. If you don’t get chance going through my previous blog, please follow the section “**2. Object Structure (OS)” **to create MXASSETSPEC OS first. ...

March 30, 2023 · 8 min · 1515 words · Jacky Qiu

Introduction of Maximo NextGen Rest APIs — Part 1 Query Maximo Data

I received couple private messages from audiences for my previous blogs relate Azure IoT integration with Maximo to ask for more detail on the instruction on Maximo NextGen Rest API. I would like to have these serial blogs to introduce how to query and update data through Maximo NextGen Rest API. In this part 1 blog, I will provide the information on Maximo NextGen Rest API, and how to construct Object Structure (OS) in Maximo and query OS data through Maximo NextGen Rest API. In Part 2 blog, I will leverage the same OS in part 1 blog to update Maximo data through NextGen Rest API. After you walk through the experiment of these serial blogs, you should have clear picture on how to query and update Maximo data through IBM recommended approach NextGen Rest API. ...

March 28, 2023 · 9 min · 1827 words · Jacky Qiu

Turn Your Lego EV3 Robot to Azure IoT Device — Part 1 Connect to IoT Hub through MQTT

In my previous serial blogs “Azure IoT integration with Maximo”, introducing how to build a python IoT device simulator sending IoT device sensor data (for example, temperature data) to Azure IoT hub, through Azure Event Grid to pass telemetry to Azure Function. In Azure Function, call Maximo NexGen Rest API to post telemetry data to Maximo Asset meter reading. In this serial blogs, I will introduce how to turn your Lego EV3 robot to be IoT device to replace the IoT simulator in previous blog, and how to connect EV3 through MQTT instead of Azure IoT Device SDK. In the part 2 blog, I will demonstrate how to create Work Order in Maximo through Maximo NextGen Rest API based on the color sensor data from Lego EV3 Robot. ...

March 23, 2023 · 10 min · 2039 words · Jacky Qiu