Skip main navigation (Press Enter).
Log in
Toggle navigation
Log in
Community
Topic Groups
Champions
Directory
Program overview
Rising Champions
IBM Champions group
User Groups
Directory
Benefits
Events
Dev Days
Conference
Community events
User Groups events
All TechXchange events
Participate
TechXchange Group
Welcome Corner
Blogging
Member directory
Community leaders
Resources
IBM TechXchange
Community
Conference
Events
IBM Developer
IBM Training
IBM TechXchange
Community
Conference
Events
IBM Developer
IBM Training
Maximo
×
Maximo
Come for answers, stay for best practices. All we're missing is you.
Group Home
Threads
11K
Blogs
344
Events
0
Library
789
Members
9K
View Only
Back to Library
Maximo Business Object Development - Best Practice
Like
Share
Share on LinkedIn
Share on X
Share on Facebook
Fri March 27, 2020 08:12 AM
Tom Sarasin
If you are an IBM client, business partner, consultant, or even a IBM Maximo developer you should be following the Maximo Development Best Practices when customizing Maximo Business Objects (MBO's). As a Maximo developer and Lab Advocate, I have dealt with many clients who have extended Maximo business objects and have made their own customizations. When extending the MBO's you should be aware that if done incorrectly, it could lead your end users to experience poor performance, out of memory errors and/or system crashes amongst other things, which leads to user frustration and potential downtime.
You must keep in mind that constructing MBO's is expensive (system resources). If you have a MBO available to use, do not refetch the MBO, just reuse it. If you use the same relationship from the same MBO, it will get you the same MboSet already created. While using object oriented programming you can pass the MBO as a parameter, in order to be used within a method. Use the information that already resides in memory whenever possible, and avoid getting new MBO's from the database. Do not implement a cache that holds on to MBO's because this could prevent the system from releasing the MBOs and can cause out of memory problems.
Another common problem that has been seen in custom code are open MboSets. When a MboSet is fetched from the database and is then set in memory; you need to make sure that you close the set when you are done using it, otherwise locking or even dead locking can occur in some databases. If a MboSet is used for traversing forward only and not to be saved, then you can mark the MboSet as a "DISCARDABLE" set. Using the discardable flag enables the release of MBO's quicker. Garbage collection usually cleans up the left over MBO's and MboSet's, but it could be slower that what you need, therefore discardable MboSets are recommended.
If two MboSets contain MBO's pointing to the same record in the database and you modify both you will get "Record has been updated by another user". This is why you should use the same relationship to obtain the record.
#AssetandFacilitiesManagement
#Maximo
#MaximoEAM
Statistics
0 Favorited
36 Views
0 Files
0 Shares
0 Downloads
Powered by Higher Logic