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.