Information Technology Reference
In-Depth Information
The
bpmn2:inputSet
and
bpmn2:outputSet
tags represent the list of variables
that will be expected inside the activity context. This looks redundant, but don't worry:
most of the time, all of this XML code will be generated automatically by the tooling. We,
as developers, just need to know its structure.
The
bpmn2:dataInputAssociation
and
bpmn2:dataOutputAssociation
tags are where the magic happens. In this section, we will map the information from our
process scope to the activity internal variables and vice versa. In this case, the
bpm-
n2:dataInputAssociation
tag is copying the information from the process vari-
able called
reqDescription
to the task input called
_3_requirementInput
.
Note that the information will be copied and not moved. Inside the flow object, we will be
able to modify this information without affecting the process scope information. If we
want to modify or add more information to our process scope variables, we need to create
a
bpmn2:dataOutputAssociation
tag that will be in charge of copying informa-
tion from inside the activity scope to the process scope. In this case, we are copying the
content of the
_3_ActorIdOutput
variable in the activity scope to a variable called
developerId
in the process scope. This action will override the value of the
de-
veloperId
variable with the content generated inside the activity object.
When we want to map information for an abstract task (or any other task type), we use the
same XML structures and rules. You can take a look at the complete process and how all
the variables are mapped by looking at the file called
sprintManagement-
V1.bpmn2
.
The following diagram shows where the data is generated or moved:
The data inputs are omitted in all the activities and only the necessary information is
copied for each task. At this point, don't worry if you feel a little bit confused by all the
XML elements we have to use in order to define a business process. Most of the times,
these processes are designed using a visual tool. We will cover one of these tools in
by-step tutorial on how we can model this process (all three different versions) in it.