IBM Support

Maximo Management Interface(MMI) API overview and how to use it

Technical Blog Post


Abstract

Maximo Management Interface(MMI) API overview and how to use it

Body

Do you want to get information about the current state of a Maximo deployment through simple URL?

If so,  use Maximo Management Interface( = MMI ) introduced in Maximo 7.6.

 

Let me introduce new feature MMI.

1.  What is the MMI (Maximo Management Interface) and what kind of information we can get ?  

-  MMI is a new feature introduced in Maximo 7.6

-  a set of REST APIs that enable HTTP-based clients to access information that is related to the current state of a Maximo deployment.

  • The Maximo server processes that are part of the deployment, potentially in a multi-clustered setup.
  • Information about resources, such as the Java Virtual Machine (JVM), memory, operating system, application server, JVM threads, database connection pool, class or classloader, Maximo business object (MBO) count, event topic tree, JMS Queue connectivity, or cache information

-  All MMI requests are HTTP GET requests  (Not intended to modify the state of system)

-  MMI uses a software bus that is based on the RMI to interconnect between the servers that are part of a Maximo deployment. This bus helps MMI to collect information from any live Maximo server

 

2.  Prior knowledges required to use MMI API.    

- MMI uses JavaScript Object Notation(JSON).   To see the collected information easily, JSON viewer ( or addon) can be installed in browser.

- In order for the APIs, the system property mxe.oslc.webappurl must be defined in the System Properties application.

  ex. If maximo server url/port is  http://max76demo.au.ibm.com:9080/maximo,   mxe.oslc.webappurl will be http://max76demo.au.ibm.com:9080/maximo/oslc/

 

3.  How to use MMI API.

-  There are a list of available MMI APIs  in the Monitor Environment Information dialog of the Logging application.

-  The URL template for each API in the table is http://<host>:<port>/maximo/oslc/members/<memberid>/<api>, where <memberid> is the Maximo (cluster) member.

 

<< TEST >>

1.  Run a simple URL(default OSLC URL)  :  http://max76demo.au.ibm.com:9080/maximo/oslc/

image

If you click  http://max76demo.au.ibm.com:9080/maximo/oslc/members, you can see list of members.  For each member, you can track information.

image

Click http://max76demo.au.ibm.com:9080/maximo/oslc/members/MTkyLjE2OC4yMDEuMTQ2OjEzNDAwL01BWElNTw--

You can see SPI lists to track deployment status. 

ex.  If you want to see memory , you can click memory URL.  If you want mbocount , you can click mbocount URL.

image

cf ) MMI APIs are designed to represent the hierarchical nature of the deployment information.  When using JSON viewer,  you can navigate hierarchical information by Hyperlink.

 

4.   If you want to create a new API by your own requirement,  you can reference below URL.

http://www-01.ibm.com/support/knowledgecenter/SSLKT6_7.6.0/com.ibm.mam.doc/troubleshooting/c_ctr_mmi_sample_script.html?cp=SSLKT6_7.6.0%2F0-15-17-0-1-0-1

 

<<  Sample Case  : A system administrator wants to determine how many listeners are associated with each object event type >>

1.  Create an automation script  named as 'LISTENERS' in the Automation Script application

image

2. In the logging application, Click 'Monitor Environment Information.

- Click New

- Add 'listener'  using the script created in above step like below screen shoot

image

Then,  you can track how many listeners are related to some event.

ex)  want to know how many listeners are related for maximo.workorder.add event.

image

 

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11131759