short lived record centric process are preferred over long running processes , why?

short lived record centric process are preferred over long running processes , why?

  Discussion posts and replies are publicly visible

Parents
  • Server health is a big concern, and process archive/delete settings should also be short for this same reason.  Process instances are stored in server memory until archived or deleted - the more, longer processes you have in memory, the more work you will put on the server.  Long process life and/or archive settings is not good for scalability or memory utilization.

    Maintenance is also a concern.  When you are updating say submission and approval interfaces used by a long running process, you will have to consider all of the process instances which are still active - as your previously-started process instances will use the PM and CDT versions as of their start time, but also use the newer interface (your interface may ask for a CDT field which was not available in the version when started).  We have seen processes running for a year have 2 or 3 rounds of enhancements in that time, programming for multiple versions of process models to be used by 1 interface is annoying at best, sometimes easier to create second or third versions of the same interfaces to be used by these different versions, then you have all of these extra objects just to support long-lived processes.  In some processes we have a "version" flag in the CDTs which is used by interfaces.  If version 1, show this field, if version 2-4, show this field, if version 5+, show this field.  The interfaces become messy at best.

    Appian has evolved over the years to support shorter and shorter process capability with their product advancements.  Having been working with Appian since 2009 I can can tell you it has been a blessing for our servers.

Reply
  • Server health is a big concern, and process archive/delete settings should also be short for this same reason.  Process instances are stored in server memory until archived or deleted - the more, longer processes you have in memory, the more work you will put on the server.  Long process life and/or archive settings is not good for scalability or memory utilization.

    Maintenance is also a concern.  When you are updating say submission and approval interfaces used by a long running process, you will have to consider all of the process instances which are still active - as your previously-started process instances will use the PM and CDT versions as of their start time, but also use the newer interface (your interface may ask for a CDT field which was not available in the version when started).  We have seen processes running for a year have 2 or 3 rounds of enhancements in that time, programming for multiple versions of process models to be used by 1 interface is annoying at best, sometimes easier to create second or third versions of the same interfaces to be used by these different versions, then you have all of these extra objects just to support long-lived processes.  In some processes we have a "version" flag in the CDTs which is used by interfaces.  If version 1, show this field, if version 2-4, show this field, if version 5+, show this field.  The interfaces become messy at best.

    Appian has evolved over the years to support shorter and shorter process capability with their product advancements.  Having been working with Appian since 2009 I can can tell you it has been a blessing for our servers.

Children
No Data