Monday, January 22, 2024

Maximo - Automation scripts vs Java, what is better?

There always has been an open discussion around whether we should choose automation scripts in Maximo or write a java class to achieve the functionalities. IBM has done lot of work around the automation scripts and lot of enhancements have been incorporated lately, especially around bean classes, in Maximo Application Suite, adding support for the app and data bean classes. For more information you can check below URL:

https://moremaximo.com/discussion/msug-automation-scripts-in-maximo-application-suite

You will see lot of posts around this which helps you take some decisions around this and most of them are inclining towards use of automation scripts.

This makes sense since most of the functionalities now can be achieved through automation scripts instead of a java class where you must have a set up ready to write java classes (eclipse IDE or any other tool), testing requires build and deploy which adds downtime efforts etc. However, with these advantages over java, should scripts be always considered as the primary option for any developer?

Below are some of the pros and cons which I thought would be helpful for taking a decision.

Area

Automation Script

Java Class

Environment Set Up

Not Required. IBM Maximo has a built-in editor.

Need to set up Eclipse IDE or like tool for writing a class.

System Downtime

Not required. System reflects the changes automatically as soon as script is saved.

Need to build Maximo ear and deploy. Deployment requires server downtime.

Code Versioning

No tool is available as such for versioning automation scripts.

Lot of tools (Git Hub) available in the market for maintaining java class versions.

Complex business logic

Complex logic requires complex code and possibly a lengthy one. Code readability could be an issue if the code is lengthy. Even though you can write functions just like java, it is still difficult to read and debug a complete transaction at one go.

Complex business logic can be handled in one or more java classes by writing methods. It is also easier to navigate through the code and debug any complete transaction.

Simple/Medium implementation

Less code, better readability.

Less code, better readability but comes at a cost of downtime.

Control over development

Developers can add many scripts at will without giving much thought at times. Code versioning tool unavailability also makes it difficult to track the scripts and changes.

Better control over development since the availability of code version tools where code reviews can happen and approved before moving them up the stack.


Considering the above possibilities, automation scripts are a great way to handle most of the configurations in Maximo but java classes still needs some attention, especially, for complex business logic and development control where scripts may not be that efficient.

Thanks,

Suhas

No comments:

Post a Comment

Maximo Integration: Design Considerations

IBM Maximo Integration Framework (MIF) is a very powerful tool included as a part of Maximo product which helps in data exchange between Max...