Using Json string instead of CDT in process model (long running)

Currently in our workflow, the processes are very long lived (approximately 300,000 active at a time). So, any change we make in the CDT won't get affected on the older processes. Which makes our job a little complex to write logic which is always backward compatible and sometimes we have to make compromise saying that the functionality will work for a new processes only.

Now we are on our way of redesigning our original process model that handles the workflow. Although we are leaning towards short lived processes, there are chances that few processes stays in the memory for a longer period of time.

So, mainly to avoid the CDT backward compatibility (that I mentioned above), we thought of using the JSON string wherever we were using the CDT in the process model. And we can always deJsonify that and get a dictionary using a!fromJson function in the interface/expression. And because the JSON is basically a text, if we change the structure (mostly adding/removing/updating an attribute), the process model won't require any changes.

Is above a good practice? Or using CDT is the preferred way to go. Sorry if there is already a discussion on it, in that case please point me to that thread.

Thanks!

  Discussion posts and replies are publicly visible

Parents Reply Children
No Data