Skip to main content

Power of Federated MBOs - Retrieve data from external system using JSON in Maximo

Greetings!
Maximo Integration Framework supports the sharing of data between Maximo Asset Management and external systems based in many different ways. The most
common is to replicate data between the systems. However a new feature, Federated Resource, allows the sharing of external system data with Maximo without the need to replicate the data into Maximo. With Federated Resource integration,you can associate Maximo Asset Management objects with data from an external system, and persist the data outside of the Maximo Asset Management database. To do this, the external data must be exposed through a JSON REST API in order for the data to be available as a Maximo MBO.
For example - if user need Location related data like temparature, Lat or Long etc in Maximo, we can get this data from different available API. For this example I have used OpenWeatherMap api. You need to have your appid and by this you can fetch location related weather and other information.
http://api.openweathermap.org/data/2.5/weather?q=bedford&appid=<your api id>

which returns data in JSON format as-
{"coord":{"lon":-0.47,"lat":52.14},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"},{"id":721,"main":"Haze","description":"haze","icon":"50d"}],"base":"stations","main":{"temp":293.42,"pressure":1009,"humidity":64,"temp_min":291.15,"temp_max":295.15},"visibility":10000,"wind":{"speed":7.7,"deg":200},"clouds":{"all":40},"dt":1534078560,"sys":{"type":1,"id":5144,"message":0.0063,"country":"GB","sunrise":1534048878,"sunset":1534102274},"id":2656046,"name":"Bedford","cod":200}

To get this data into Maximo, go to Integration > JSON Resource and create new JSON resource as-
Copy paste  sample JSON data which we are receiving from API.
In case you want this data to be used with some object in Maximo, you can choose as Parent Object for example -LOCATIONS.

For dynamically generating response we can use set URL as -
http://api.openweathermap.org/data/2.5/weather?q={LOCATIONS.SITE}&appid=<your api id>
Click on Process button.
Now go to Database Configuration and you will see a new custom non-persistent federated MBO has been created and has attributes which are coming from JSON response.

Search for Parent Object (if any) which is LOCATIONS , go to relationship tab and you will be able to see an relationship created with same name as custom federated mbo.
Now with application degsigner, we can add new tab in Location application and using this relationship we can display data to users.

Comments

Popular posts from this blog

Maximo OSLC Integration with External System- Get data in JSON format

Greetings! If you have noticed recent version of Maximo, couple new application in Integration module has been added which are OSLC Resources and OSLC Provider.These modules gives us ability to integrate with external system in JSON. OSLC is an open community that creates specifications for the integration of products and/or tools.  IBM is a leading contributor to this community and many software products within the IBM Software Group are implementing OSLC in order to enable cross-product integrations. An OSLC integration requires 2 players-  1. OSLC Consumer application 2. OSLC Provider application.   An OSLC provider application makes containers of associated resources(data) available for integration through service providers. Consumer applications then use these service providers to query resources and to create, update, and delete resource data.  The consumer application sends a query to the service provider for resource data. The service p...

Power of Maximo Formulas - Build logic w/o Custom Java code or Automation Script

Greetings! Maximo 7.6 has lot of additional capabilities added in Tivoli Automation Engine as compared to older versions of Maximo which aim to allow users to make change in applications for small requirements without actually going to customization route. Automation scripts is one of such tool given for users and technical developers to change the behavior of Maximo in case where functionalities can't be changed only via use of configuration. If we have a requirement to populate some field on basis of other fields , we can easily do that with automation script but in order to do that you still need to have knowledge of Jython or Javascript to write the logic. Maximo formula is one the tool given by IBM which can be used for such business requirements and user can make changes to Maximo logic via configuration without getting into difficulties of coding. Formulas are available from Maximo version 7603. With release of Maximo version 7606, there has been addition of new capabil...

Call publish channel w/o enabling Event Listener in Maximo

Greetings! Generally if we have to send data to external system via MIF, we create Publish Channel and enable Event Listener on publish channel. Once event listener is enabled, Maximo listens for event and send data to end point via publish channel for each Save of related MBO . But t here are many scenarios where we need to send data to external system using publish channel on specific event and not for every save. In order  to send to external system on specific event, for example - sent data to Ariba when PO status in Maximo is changed to APPR, we can use automation script or java code to call publish channel on the go. Below code can be used in automation script - server = MXServer.getMXServer() userInfo = mbo.getUserInfo() whereClause = <CONDITION> server.lookup("MIC").exportData("<Publish Channel Name>", "<External System Name>", whereClause, userInfo, 1000) Via Java class - MXServer server = MXServer.getMXServer(); ...