We recently held a workshop on the topic “Why and how to housekeep items in IBM BAW”. We would like to take this opportunity to share some of our key takeaways from the event.
IBM Business Automation Workflow
Keeping your IBM Business Automation Workflow environments clean and performant might be a tricky task, nevertheless this approach brings much more pros than cons.
From our experiences, IBM BAW administrators and stakeholders should start thinking about housekeeping, otherwise sooner or later the abundance of BAW environment related items will bite you.
Not just performance degradation but raising costs linked to database and landscape growth are motivating factors for such practice.
What items might be good candidates for cleaning up? And which tools does the platform offer us for this? Erasing snapshots, instances, and tasks should be discussed with the business as this might bring the most value out of this exercise.
Luckily BAW platform itself provides various sets of tools to accomplish the goal. Based on the approach you might decide whether a WAS administrator’s approach (wsadmin commands) suits your requirements and current capacities or you could rather use a developer’s approach (Operations REST API).
Before anything is truly cleared from the system, please bear in mind that a well-designed plan for such activity will only benefit you.
Let us share with you some essentials recommendations:
- Always think about BAW housekeeping in regards to the time frame. When does your BPM platform experience its highest usage? This window should be avoided, naturally.
- Backup, backup, backup. Especially before wiping any BAW artifacts. This will especially mitigate the risk of losing any previous effort and data..
- Keep system toolkits, obviously.
- Plan your activities, clean up the instances before cleaning snapshots. Always pay attention to artifact dependencies
BAW platform
Besides the variety of tools, this provides a monitoring facility, System Maintenance Status.
This feature gives you the opportunity to design and use critical and warning thresholds, for example on the number of active artifacts.
One may focus on snapshot cleanup as the most effective way of preventing degradation of platform performance.
Deciding whether the administrator or developer approach suits your projects can heavily depends on your capacities as mentioned above:
- Using the WAS administrator’s approach requires some scripting skills and is not “container-ready”, even so it is usually the fastest way.
- Developer’s approach is about querying the BPM database directly and then using the Operations REST API to delete platform artifacts. Requires more development skills, but at the end of the day it brings user-friendly GUI.
What could go wrong? What are the limitations?
From our experience, multiple issues might be faced while deleting snapshots, using both approaches. Just to name some:
- Related tasks under a process instance that belongs to a different snapshot
- Deadlocks caused by parallel processing of asynchronous ‘delete snapshots’ jobs
- Deletion of orphaned toolkits in multiple iterations