In this page I will collect all the resources that I develop or find for customizing and extending Maximo/TPAE using Java. This includes Maximo Business Objects (MBO), application beans (AppBean and DataBean), actions, conditions, MIF user entry/exit class, and any possible usage of Java within TPAE.
Note that starting from TPAE 7.5 there is a powerful scripting feature that is a good alternative to Java customization.
Learning Java
- Introduction to Programming Using Java: Online and printable book for beginners.
- Thinking in Java: A great book about Java freely downloadable in PDF format.
- The Java Tutorial: Original Sun/Java tutorial.
Where to Start
- Setup the development environment
- Understanding Maximo Business Objects
- Extending Maximo Business Objects
- Deploy custom code
- How to debug Maximo
Basic Topics
- How to query and fetch MBOs
- How to read and update attributes
- How to get current/previous/initial values of an attribute
- How to add a record to an MboSet
- How to navigate relationships
- Read system property in a Java class
- TPAE Java coding standard
Intermediate Topics
- What methods to override
- Best way to loop through an MboSet
- Flags for setValue method
- Retrieve multiple attribute values from an Mbo
- Field validation (link1, link2)
- Field domain and getList() method
- How to check for null values
- Reset the value of a field when another field is modified
- Set a field required after save
- Execute or evaluate a conditional expression (link)
- Stateful MBOs
- Run a Birt Report on click of a Button (link)
Advanced Stuff
- Java MBO performance golden rules
- Avoiding Java classes conflicts using a_customer.xml file
- Logging and tracing
- Formatting and converting data types
- Action class
- Condition class
- Role’s Custom Class
- Invoking a Maximo method from another JVM through RMI
Application cutomizations
- AppBean and DataBean (link1, link2)
- How to call a Java method on action menu or toolbar button click
- Display a custom message
- How to display a YES/NO dialog and get user input
- Display a custom dialog box (link)
- Virtual beans (link)
- Application events handling (link)