Activity Chaining

I've been told that ubiquitous activity chaining is a bad practice, but why is this the case? It seems to me that there are applications where activity chaining is necessary end to end, and indeed I've seen such applications function just fine.

Is it a performance concern, or more a contrast with clean code philosophy?

 

Thanks

  Discussion posts and replies are publicly visible

Parents
  • For the most part i'm with you on that - and conscientious activity chaining is 100% necessary for a friendly UX within any given process flow. The main reasoning I've heard for not using ALL activity chaining (like, at least allowing chaining to break for asynchronous side-flows where chaining doesn't directly help), is that chained process flows take the highest priority within the execution engine(s) and therefore potentially have negative performance impact on other users if used too much. I've never directly observed this, though.
  • Certified Senior Developer
    in reply to Mike Schmitt

    Why do we need to break activity chaining if process is asynchronous can you please help me to understand that and I have a question why we use long activity chaining so I am not clear when to use it and when not to use or we canbreak it from between or not

  • Certified Lead Developer
    in reply to jignesht0001

    That is simple. Just do NOT use chaining, except you have a specific need for it. The reason is, that any chained node runs with the highest possible priority in the process execution engines. And this leads to performance issues on the platform.

    Just out of my mind, the situations where your need chaining are:

    - Make the UI refresh only after a specific node in the process

    - Make a web API response wait for a specific node in the process

Reply
  • Certified Lead Developer
    in reply to jignesht0001

    That is simple. Just do NOT use chaining, except you have a specific need for it. The reason is, that any chained node runs with the highest possible priority in the process execution engines. And this leads to performance issues on the platform.

    Just out of my mind, the situations where your need chaining are:

    - Make the UI refresh only after a specific node in the process

    - Make a web API response wait for a specific node in the process

Children