Introduction to Maximo Integration Framework (MIF)

This entry is part of the Maximo Integration Framework series.

What is Maximo Integration Framework?

The Maximo Integration Framework (MIF) is an integral part of the Tivoli Process Automation Engine (TPAE) that allows the synchronization and integration of data and of applications between TPAE and external systems in real time or batch mode by using a variety of communication protocols.

Main Concepts

The three main concepts of MIF are:

  • Object Structures are collection of Business Objects and relationships that define the content of messages for Channels and Services.
  • Services receive data into the system
  • Channels send data out of the system

This picture gives an overview of the MIF architecture and of the available services (depicted in green) and channels (depicted in yellow).


The simplest service is the Object Structure Service. It is synchronous and allows to create, update, delete and query data in TPAE’s database.

Enterprise Services are more powerful allowing to process data (synchronous or asynchronous using JMS queues) and have data processing layers that can transform data. Enterprise Services can use multiple protocols such as Web Services, HTTP, database tables, XML and flat files.

The enterprise service can use the following processing layers:

  • Processing Rules – The integration framework provides a rule engine where you can filter and transform the XML message.
  • XSL Map – Represents an XSLT style sheet that you can use to transform data and perform mapping of the XML message to another format.
  • User Exit and Processing Classes – Represents Java classes that you can use to filter, transform data, and implement business logic.


There are two main types of outbound services (channels).

  • The Publish Channel is asynchronous and can be triggered by a completed transaction on a primary object with an enabled event listener or by a data export.
  • The Invocation Channel is synchronous and can be triggered by an action class called by a user interface control (within an application), a workflow or an escalation.

Both services provides processing rules, XSL map and user/processing classes to transform data.

For more details about MIF go to the Integration Framework page where you can find guides, tutorials and articles.
Another great overview of the Maximo Integration Framework is this IBM White Paper.

Introduction to Maximo Integration Framework (MIF)

15 thoughts on “Introduction to Maximo Integration Framework (MIF)

  1. Hello Bruno.

    We have a requirement that when i click on a button in maximo it gets the data from external system and display it in a search dialog in maximo. Similar to search dialogs in maximo only difference the data is coming from external system.

    Please suggest whats the best way to achieve this? Do you have any examples of synchronous interfaces which might help us?

    Thanks a lot for excellent work and efforts you're putting in these posts.. they are really helpful.


  2. We would like Maximo to automatically print out reports when a database transaction occurs. For instance when items have been issued from a store we would like Maximo to print a report (the employee will sign the document). How can that be achieved?

  3. Hi Ame,
    Which version of Maximo you are using ?
    will you calling ACTUATE or BIRT Report to be printed ?

  4. Hi Bruno

    This seems like a dumb question, but I have not been able to get to the bottom of it. When a user uses an Enterprise Service to upload data, is it possible to find out which user did the upload? When message tracking is enabled for the service, we can see the records that have been processed, but cannot see where (if anywhere) the user doing the upload is recorded.

    Thanks in anticipation

  5. Hi Bruno,

    I have a small query on Maximo integration, I have a requirement to integrate with an external system which will feed asset downtime information.

    I have to report downtime on Asset, I used interface tables, but I am getting error as " ADD is not allowed on the ASSETSTATUS table"

    I looked into issue further. It does appear that ASSETSTATUS is one of those MBOs that are not currently "enabled" for integration.

    I need this feature critically, Could you please guide me on this.


  6. Hello Bruno,

    Hope you doing well..

    I am facing issue with Messagr tracking, Even when the record is processed, It shows status as ERROR for some of the record.

    Any suggestion, where could I get it corrected.

    Thanks in Advance!!

  7. Hi Peter,

    By default maximo will use MXINTADM user for MIF related uploads. However i guess you can provide details of user and map it to changeby column.

    However maximo suggests to use MXINTADM for integration purpose


  8. Bruno, Can you give me a process and rough estimate as to the time it takes to rebuild a MIF (Maximo Interface Framework) upload to take out TWO Location Hierarchy levels (i.e. City and State)? MAXIMO 7.5

  9. Hello, I am new to this forum and I am hoping you may be able to help with this question.

    I use Maximo Asset Management Software on a daily basis. I am not a developer or anything but I am hoping that someone here may be able to assist.

    I am hoping to learn how to create a Macro (or something similar) in order to assist with the task of closing out 200 Preventive Maintenance Work Orders on a monthly basis. I have provided screenshots, highlighted some areas and made a couple notes to hopefully give you a clearer picture of what exactly I am trying to do.

    I am currently running on windows 7, 32Bit Service Pack1

    1st Question: Is it possible to automate the identical portions of the process with a Macro?

    2nd Question: What do I need to do in order to implement this?

    227 KB

    194 KB

  10. I have pictures that go with this post to help with clarity of understanding of exactly what I am trying to do, I just need to know where to send them.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top