· Jul 28, 2021

Updating active Business Processes

I have a BPL Business process which always processes messages - mainly it waits for responses since downstream systems are seriously async.

I need to update this process.

Wwould the existing instances of this Business Process complete correctly after the update?

My BPL changes would result in:

  1. New S method in the Thread class
  2. New OnResponse method in the context class

Both changes are in the middle of the process, so there are S/OnResponse methods before and after my change.

What if it's only a new S method? What if it's only a new OnResponse method?

Product version: IRIS 2020.4
$ZV: IRIS for Windows (x86-64) 2020.4.0ML (Build 694U) Mon Jan 11 2021 22:59:37 EST
Discussion (4)1
Log in or sign up to continue

For the case where only a new OnResponse method is added the workaround is executing these update queries:

UPDATE process.Context__ResponseHandlers
SET  "_ResponseHandlers" = 'OnResponseXYZ'
WHERE "_ResponseHandlers" = 'OnResponseABC'

Where ABC is an old method name, XYZ is a new method name.

In a case of several new methods they should be executed from the largest number first.

Hello Eduard,

The following isn't a answer to your literal question, as that would probably take specific testing to see what the behavior would be. However, the best practice would be to stop a component while you're updating it. That applies to a business process and any other situation where you're updating an active component, to prevent any sort of compatibility or timing issues that could cause unexpected behavior in your production.