This topic applies only to the IBM Business Process Manager Advanced configuration.

Versioning of human tasks

You can create new versions of your human task, so that multiple versions of the same task can co-exist in a runtime environment.

You can include versioning information when you model the stand-alone human task in Integration Designer. A timestamp is used to determine the currently valid version of task. This means that different versions of a task can have the same task name, but different timestamps. The version of a task that is used at run time is determined by whether the task is used in an early-binding scenario or a late-binding scenario.
Early binding
With early binding, the decision on which version of the task is used is made either during modeling, or when the task model is deployed. The calling component invokes a dedicated, statically-bound task according to the Service Component Architecture (SCA) wiring. The client always invokes the statically-bound version of a task, even if a newer version of the task exists.

An example of early-binding is an SCA wire. If you wire a stand-alone reference to a human task component, every invocation of the task using this reference is targeted to the specific version of the human task component.

Late binding
With late binding, the decision on which version of a human task is used happens when the task instance is created. In this case, the version of the task that is currently valid is used. Existing task instances continue to run with the task with which they were associated when they started. This leads to the following categories of tasks:
  • Currently valid tasks. These tasks are used for new task instances.
  • Tasks that are no longer valid. These tasks are still used for running task instances.
  • Tasks that become valid in the future according to their valid-from date. These tasks apply only to tasks that were deployed using Integration Designer.

Follow-on tasks and subtasks are always invoked using late binding.

If the human task is deployed from Process Center as part of a process application, the following additional considerations apply to late binding.
  • A human task must not be contained in a toolkit. A toolkit can be deployed many times as part of different process applications. If the toolkit contains a human task, this results in different human tasks with the same name that are not versions of each other. Late binding chooses the latest deployed version of the target human task regardless of which process application it belongs to.
  • Do not use the same name for a human task that is deployed as part of a process application, and a human task that is not part of a process application unless they are versions of each other.
  • If a human task is part of a branch other than the main branch, late binding chooses the latest deployed version of the target human task regardless of which branch it belongs to.
  • The human task names must be unique across all process applications. If two human tasks in different process applications have the same name, they are considered to be different versions of the same human task. In this case, the version of the human task with the latest timestamp is chosen as the target human task.