/ Development  

The ultimate game-changer; The mind-blowing "retry" option revolutionizing the BPM service calls

Hi there AppWorks fans,

Welcome to a new installment of AppWorks tips.

Is it mind-blowing!? Well, for our team it is as this topic shows something I couldn’t figure out (yet!), and I always work around it. It’s a feature that makes sure when ^&%$&^%$ hits the wall on the other side of the (service) line, we (from the AppWorks low-code team) simply sit and wait until it is fixed…AND when it is never fixed we’ll simply make sure to inform the maintenance team who will jump over the wall to kindly ask the “other side” to do what they are supposed to do…Fixing it!

You can see this introduction as a little “wink”, but you don’t want to know how many times we (from the AppWorks low-code team) need to implement workarounds to call an unreliable service call that makes a solution unnecessary complex just to please architectural decisions. Always validate your choices with the developers as they have the deepest know how if something is smart to do (or not) and how it will impact an AppWorks solution!


Let get right into it…

What issue are we facing here? Well, it’s an external system (exposed over a ReST API) we need to call (over the HTTP connector) in a BPM. When this service is not responding, you need to act on it. In the past I would simply create a loop (with an index), and if (after X-times) the service is still not responding, we jump out of the loop and move to a maintenance activity/task. So, something like this:

retry_001

But…after a tip from my college (you know who you are!), I get added details on how to manage such situation much, much easier!

Be aware…The below trick only works for BPMs with execution mode ‘long-lived’! So, don’t always make every “only services” BPM directly ‘short-lived’…Use it wisely, as ‘short-lived’ has also its disadvantages!


The trick

Watch this optimized BPM! WHAT!?!?

retry_002

NO WAY……Yes, my friend! I feel you!

Now don’t tell me you knew this long before it passed my AppWorks journey AND (!) never informed me about it…In that case, we need to have a chat. 😱


I give it a retryable “DONE”; There is no need to step out the flow (yet!). Just sit and wait until it solves itself; If not, then it’s time to inform the maintenance team. A great lesson learned again! Keep communicating about the platform brings our daily fruit on the table which you (and I) benefit from. Also, send in your feedback, questions, comments, or any other thoughts…They are welcome, I read them, and even pick them up to help you further on your knowledge. Have a great weekend; See you next week…

Don’t forget to subscribe to get updates on the activities happening on this site. Have you noticed the quiz where you find out if you are also “The AppWorks guy”?