6 Replies Latest reply on May 18, 2009 11:50 AM by tom.baeyens

    changing the process during execution

    charoy

      I'm doing a few tests, changing the process during execution.
      I noticed that there are very few control on what can be done or not.

      Inserting a node during execution works well.

      But a removed node appears as it is still existing. Is there some plan to cope with the evolution of processes during their execution ?
      I've seen that there was a discussion about process instances. Is this related ?

      François

        • 1. Re: changing the process during execution
          tom.baeyens

          changing a process during execution is possible but can give many unexpected side effects. that's why we don't recommend it.

          • 2. Re: changing the process during execution
            charoy

            I understand you may not recommend it but controling the dynamic change of process is a very common requirement.

            If you leave the possibility to change the process dynamically, the side effects should be at least controlled and not unexpected.

            I'm sure this problem will be an issue on the long run and i'm going to look at it

            françois

            • 3. Re: changing the process during execution
              tom.baeyens

              deploying an updated process definition results in a new version.

              the common requirement is that you want to migrate existing process instances to a new version of a process definition.

              that is not trivial either. there are some cases where it is trivial and some cases where it is impossible.

              it'll be a pretty hard to establish the constraints on the updates that people can make for the process to be migratable.

              also consider the logs when you would migrate a running process instance to a new version. what happens with the logs and all the business intelligence applications that use the log information.

              in the basic scenario, that probably works in most cases, is that you specify in the deployment that process instances must be migrated. a mapping between old node names and new node names may be given.

              but then the old process instances should be finished and remain as is. only a pointer should be added to the new execution in the new process definition version. the new process instance has also a backpointer to the old process instsance.

              that way, everything is traceable. logs still refer to their execution with the proper process definition...

              • 4. Re: changing the process during execution
                charoy

                 


                deploying an updated process definition results in a new version.

                ok... this is a way to go but that means that at some point it should be taken into account in the PVM.

                As soon as an execution is created, a change to the process model should results in a new version.


                also consider the logs when you would migrate a running process instance to a new version. what happens with the logs and all the business intelligence applications that use the log information.

                There is some work about that. A migration is only possible if the log of its execution could have been created with the new version of the process (something like that).

                A question there is what belongs to PVM and what belongs to the personnalities ? Suppose that I want to implement a model that allows controlled ad hoc modifications of executing process. I need the PVM to provide me with some minimal support (versions, basic migration may be) and to prevent the generation of inconsistent states (something that I cannot recover from my model).



                • 5. Re: changing the process during execution

                  hi,

                  whats the current state of migrating running process instances from one process version to the next?

                  Are there any support in the new jbpm4?

                  regards

                  • 6. Re: changing the process during execution
                    tom.baeyens

                    not yet. but it is still high on the priority list.