IBM Support

Maximo updatedb and Industry Solution class files

Question & Answer


Question

Why and how does updatedb modify class files when an Industry Solution is installed?

Cause

Deep documentation

Answer

A Java class file is a compiled file (with the .class filename extension) that contains Java bytecode which can be executed on the Java Virtual Machine (JVM). A Java class file is produced by Java compiler from Java programming language source files (.java files) containing Java classes. To be clear, the term class refers to the Java bytecode, while a class file is the results of the compilation.

Maximo Industry Solutions (IS) include both classes unique to the IS as well as extensions of existing Maximo class files (using IBM Maximo Spatial as an example, Asset.class is extended by PlusSAsset.class from). The extended IS class file does not include all classes from the originating class file. Many Industry Solutions extend the same class file. As a result, class file hierarchy needs to be added to each extended class file.

When a new Industry Solution Asset class is delivered, the hierarchy needs to be rebuilt: For example, PlusSAsset extends PlusDAsset which extends PlusTAsset which extends Asset. It also sets maxobject/maxobjectcfg to use PlusTAsset as Asset. All of this is managed based on the product xml files, including user customizations in a_customer.xml, in \SMP\maximo\applications\maximo\properties.

Aside from updating the database and other tasks, Maximo uses updatedb to modify all extended class files by performing a bytecode injection to set the file inheritance.

Even when only one Industry Solution is installed or updated, updatedb modifies the extended class, and even if the class hasn't been updated by a Fix, and even when there is no change to the inheritance hierarchy. In that case the file will be updated, but no changes will occur to the class file.

[{"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":"--","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"Version Independent","Edition":""},{"Product":{"code":"SSWT9A","label":"Control Desk"},"Business Unit":{"code":"BU004","label":"Hybrid Cloud"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SS5RRF","label":"IBM Maximo for Aviation"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSPJLC","label":"Maximo Anywhere"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLKSJ","label":"Maximo Asset Configuration Manager"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSXQ46","label":"Maximo Asset Health Insights"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SS9NUN","label":"Maximo Asset Management Scheduler"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLKZS","label":"Maximo Calibration"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLL84","label":"Maximo for Life Sciences"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLL8M","label":"Maximo for Nuclear Power"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLL9G","label":"Maximo for Oil and Gas"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSKVFR","label":"Maximo for Service Providers"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLL9Z","label":"Maximo for Transportation"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSLLAM","label":"Maximo for Utilities"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SS5GME","label":"Maximo Health- Safety and Environment Manager"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SS3AXP","label":"Maximo Linear Asset Manager"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSMAZG","label":"Maximo Mobile Suite"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""},{"Product":{"code":"SSG2D3","label":"Maximo Spatial Asset Management"},"Business Unit":{"code":"BU005","label":"IoT"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":""}]

Document Information

Modified date:
17 June 2018

UID

swg21992832