November 10, 2012

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).



Services

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.

Channels

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.

11 comments:

  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.

    Regards,
    Megha

    ReplyDelete
    Replies
    1. I think you should take a look at WebServices Interactions: http://www-01.ibm.com/support/docview.wss?uid=swg21414565

      Delete
  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?

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

      Delete
  3. Hi Alaa,

    We are using the BIRT Report. And using Maximo 7.5.0.0

    ReplyDelete
  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

    ReplyDelete
    Replies
    1. 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

      Thanks

      Delete
  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.

    Thanks
    Rahul

    ReplyDelete
  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!!

    ReplyDelete
  7. 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

    ReplyDelete
    Replies
    1. Using MxLoader it will take 1 hour or so...
      https://www.ibm.com/developerworks/community/groups/community/MxLoader

      Delete