Optimizing Application Performance by Rethinking BPM Usage

Introduction

In our continuous journey to refine and enhance the technological capabilities of our applications, we encountered a significant challenge with the overuse of Business Process Models (BPMs) in OpenText Appworks. This scenario, particularly prevalent in high-demand operations, illuminated some critical areas needing our attention and strategic intervention. In this blog, we’ll delve into the limitations we discovered, the strategic changes we implemented, and the notable improvements we achieved.

Understanding the Limitations

Our initial setup heavily relied on BPMs within Appworks to manage complex operations. However, we faced several bottlenecks:

BPM Capacity Limits:

BPMs are designed to handle up to 20 parallel instances effectively. When this capacity was exceeded, it led to significant queuing, slowing down our entire process and negatively impacting performance.

Database Overload:

Each entity service within a BPM corresponds to a single interaction with the database. Complex operations requiring multiple entity services created an excessive load, straining our database resources and degrading overall system performance.

Inefficient Looping:

Looping operations within BPMs were identified as a major time sink, with the execution time substantially longer than similar functions performed outside of BPMs, such as in ws-app/java.

Strategic Changes Implemented

To address these challenges and optimize our application performance, we introduced two major changes:

Integration of Custom ws-app Services:

We shifted to using custom ws-app services for complex operations that required detailed handling. This approach allowed us to utilize optimized, single database queries, significantly reducing the number of database transactions and speeding up the processing time of operations.

Optimized Loop Handling:

We minimized the use of looping within BPMs. This strategic change not only simplified the processes but also enhanced performance by reducing processing times.

Post-Implementation Experience

The implementation of these changes marked a turning point in how our applications performed. Not only did we see a marked improvement in processing speed and efficiency, but the overall user experience was also greatly enhanced. By reducing the load on our databases and streamlining our process models, we are now better equipped to handle operations at scale without compromising on performance.

Conclusion

This experience has taught us the importance of constantly reassessing our use of technologies like BPMs, especially in environments where performance and efficiency are paramount. The insights we gained have not only benefited our own operations but also serve as a valuable lesson for others facing similar challenges. We encourage you to look at your own systems and consider whether a similar optimization could enhance your performance and user satisfaction.

We hope that sharing our journey can help other technology teams recognize and tackle similar challenges in their environments. As we continue to learn and adapt, we look forward to discovering even more ways to improve and innovate.

  • Written by

  • Digvijay Sai Vepuri
    Technical Architect
  • May 14, 2024
  • 0 mins read

More to explore