November 20, 2015

Overview of Maximo Industry Solutions and Extensions

After 2 years of blogging on MaximoDev and more than 100 posts to explain how to configure and customize Maximo I want to spend few minutes to explain how to NOT customize Maximo.
Customizing Maximo may be challenging and fun but should always taken carefully because it can inject problems and generate additional costs and risks when upgrading.

One of the most interesting features of Maximo is its ecosystem of extensions, add-ons, integration modules and industry solutions. This ecosystem is populated by many IBM and non-IBM products and solutions that allows to extend the product's core features.
The following picture describes the IBM portfolio of Maximo extensions and industry solutions.



Before starting to implement your own solution to a common problem, take a look at this list of the available Maximo Industry Solutions and Extensions.

Add-ons

Industry Solutions
  • Maximo for Transportation helps address stringent regulatory requirements and managing all transportation asset types, including fleets of cars, trucks, buses, locomotives and rail vehicles, aircraft and vessels.
  • Maximo for Aviation MRO is designed to transform the managing of maintenance, repair, and overhaul (MRO) activities for service providers working in the Aviation industry.
  • Oil & Gas provides oil & gas companies with best practices to help improve the productivity and efficiency of their critical assets.
  • Maximo for Utilities supports work and asset management for transmission and distribution in water, gas and electric utilities.
  • Maximo for Nuclear Power Supports industry-specific requirements by modeling nuclear objects and business processes, including tech specs, lineups, clearances, permits, surveillance testing, and corrective actions.
  • Maximo for Life Sciences Helps monitor, track and manage equipment, facilities, mobile and IT assets on a single platform and be fully FDA compliant. Consolidates solutions under one umbrella – asset and service management, calibration, mobile calibration, CAPA support – and integrates with RFID, SCADA systems, LIMS.

Mobile Solutions
  • Maximo Anywhere is the brand new mobile solution for Maximo built on IBM Mobile First platform..
  • Maximo Mobile Suite is a family of solutions to provide remote access to the Maximo Asset Management processes for work, asset and inventory management.
  • Maximo Everyplace provides the ability to use Maximo from supported mobile devices and smartphones using a web browser.

Free Integration Modules on ISM Library

November 13, 2015

Avoiding Java classes conflicts using a_customer.xml file

Consider this scenario (which I came across). You have extended psdi.app.workorder.WO out of the box MBO class with your own cust.app.workorder.WO class to implement you own business logic for work orders. After a while you install the Maximo Scheduler extension and you soon discover that all your custom logic has gone because the WORKORDER object handler in Database Configuration is now psdi.skd.app.workorder.SKDWOSet instead of your custom cust.app.workorder.WOSet class. This is because the Maximo Scheduler installation has overwritten your custom handler.

Lesson learned: If you have custom classes and extend the same classes which other products also are extending, then those classes will get overwritten when other products are installed and your customizations will be lost.

In order to maintain the customizations, you must define a_customer.xml file in the applications\maximo\properties\product folder. The following example shows a sample a_customer.xml file.

<?xml version="1.0" encoding="UTF-8" ?>
<product>
  <name>My custom classes</name>
  <version>
  <major>7</major>
  <minor>5</minor>
  <patch>0</patch>
  <build>BUILD</build>
  </version>
  <dbmaxvarname>ACUSTOMER</dbmaxvarname>
  <dbscripts>a_customer</dbscripts>
  <dbversion>V750-0</dbversion>
  <lastdbversion>V750-0</lastdbversion>
  <extensions>
    <mbo objectname='WORKORDER' extends='psdi.app.workorder.WO'>custom.app.workorder.WO</mbo>
    <mboset objectname='WORKORDER' extends='psdi.app.workorder.WOSet'>custom.app.workorder.WOSet</mboset>
  </extensions>
</product>

Also, you need to create a directory called "a_customer" inside your tools\maximo\en directory. This directory can be left empty.

This will tell the Maximo installer to merge your custom code with the add-ons code.

For more details refer to the following articles: