How to Use Data Objects in BPMN

Data Objects, is a kind of artifacts, exist outside of the Sequence Flow of the Process, but they are available to all flow objects in a given Process instance. Data Objects allow you to show data flowing through a process by passing information into or out of an Activity. Please note that this flow does not follow Sequence Flows, but Data Associations.

Data Objects in BPMN

There are eight elements representing data in BPMN specification:

  1. Data Object – a Data Object represents information flowing through the process, such as business documents, e-mails, or letters
  2. Data Input – is an external input for the entire process. A kind of input parameter.
  3. Data Output – is data result of the entire process. A kind of output parameter.
  4. Collection of Data Object – represents a collection of information, e.g., a list of order items
  5. Data Input Collection – represents a data input collection of information, e.g., a list of stock items
  6. Data Output Collection – represents a data output collection of information, e.g., a list of stock items
  7. Association – a data association is used to associate data elements to Activities, Processes and Global Tasks
  8. Data Store – is a place where the process can read or write data, e.g., a database or a filing cabinet. It persists beyond the lifetime of the process instance.
  9. Initiating Message – an initialing message represents an item which is transferred, manipulated, or stored during the process.
  10. Non-Initiating Message – a non-initialing message represents an item which is transferred, manipulated, or stored during the process. The filled icon represents a non-initiating message (or a message which a participant has sent in response to a previous message it received)

BPMN data objects

Data Object Example

In the Diagram demonstrates below, there are two different ways of showing data flow. The “Assessment” Data Object is output from the “Make Assessment” Sub-Process using an Association connector. The “Assessment” Data Object is also input to the “Archive Details” Sub-Process. The arrowheads on the Association indicate the direction of the data flow.

The “Rejection Letter” Data Object is attached to the Sequence Flow between “Send Rejection” and “Archive Details.” This is really a sort of shorthand used when the data flow is between two Activities follow each other.

BPMN data object example

Data Object Flow Example

Artifacts can be passed through a process, changing state along the way. We can show this by attaching an artifact to a sequence flow between activities.  In this BPMN example, the data object (an Application) is passed along the sequence flow between three tasks. This application shows a simple hiring process for an employer:

  1. Screen the applicants (data objects)
  2. Approve the applications (mark status for data objects)
  3. Hire the applicant

BPMN data object flow example

In this business process, the application is passed along as an “attachment” to the sequence flow between each task. This approach to attaching artifacts to flows makes it very easy to understand that the application is “passed” as data from one task to other.

Data Input / Output Object Example

Activities and Processes often need data in order to execute. In addition, they can produce data during or as a result of execution.

  • Data requirements are captured as Data Inputs.
  • Data that is produced is captured using Data Outputs.

BPMN data input output example

Datastore Example

  • A DataStore provides a mechanism for Activities to get or update stored information that will persist beyond the scope of the Process.
  • Represents a single unit of information (e.g. database record)

BPMN datastore example

Turn every software project into a successful one.

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.