Data handling in Business Process Model and Notation (BPMN) is fundamental to effective business processes modeling, as it allows you to represent how data is created, modified and used in various activities. Here’s an overview of the key BPMN elements commonly used to manage data processing.
Data Objects
Data Associations
Example 1a. Processing an Online Order, which only shows the work to be done.
Example 1b. Processing an Online Order, which also shows what data is used.
A helpful way to understand Data Objects is to think of them as local variables in programming - they exist within the process and change as Activities progress.
It is important to be able to distinguish associations from sequential flows.
Key Differences
Feature | Sequence Flow | Data Association |
---|---|---|
What it Represents | Process flow or order of execution. | Data flow (input, output, or storage). |
Connects | Two process elements (Activities, Events, or Gateways). | A process element and a data element. |
Token Usage | Tokens travel along Sequence Flows to show the progress of the process. | Data Associations don’t handle tokens, they only indicate the transfer of data. |
Purpose | Controls the flow of the process. | Shows data being used, produced, or stored. |
Visual Representation | Solid line with a filled arrowhead. | Dotted line with an open arrowhead. |
There are other elements of BPMN that are useful in data modeling. Let's look at two of them: Data Object References and Data Stores.
Data Object References enable the same Data Object to be referenced multiple times throughout a BPMN diagram. These references can indicate different states of the Data Object at different stages of the process.
Let's see how we can use them with a practical example.
Example 2: Employee Leave Request Process
An organization has a leave approval process where an employee submits a request, which is reviewed and approved/rejected by a manager.
Example 2: Employee Leave Request Process
The names of Data Object References are created by combining the name of the Data Object and its state in square brackets, like this: <Data Object Name> [<State>]. In our example, these are the elements “Leave Request [Draft]”, “Leave Request [Approved]”, and “Leave Request [Rejected]”.
A Data Object represents actual data that is used or produced within a process, while a Data Object Reference is a reference or pointer to a Data Object, allowing it to be accessed or shared across multiple activities without duplicating the data itself.
Data Stores are used to represent repositories where data is stored persistently beyond the lifecycle of a single process instance.
They can signify databases or physical storage systems. They allow activities to retrieve or update information as needed.
Example 3: Loan Application Processing with a Subprocess and Data Stores
A bank processes customer loan applications. The main process includes receiving the application, processing it in detail within a subprocess, and notifying the customer of the outcome. Inside the subprocess, the loan application goes through several steps like initial review, credit check, and final decision.
Example 3: Loan Application Processing with a Subprocess and Data Stores
Data Sources used:
Take a look at the table that highlights the key differences between Data Objects and Data Stores in BPMN:
Aspect | Data Object | Data Store |
---|---|---|
Definition | Represents data that is used or manipulated by activities in a process. | Represents persistent storage of data that can be accessed by multiple processes. |
Lifespan | Temporary during the execution of a process or activity. | Persistent across multiple process instances or over a long period. |
Purpose | To show information or data used/produced during process execution. | To store data that needs to be retrieved or updated by various processes over time. |
Visibility | Only visible within the scope of the process or activity. | Visible across different processes and can be accessed by multiple activities or processes. |
Usage | Can be passed between activities (input/output). | Can store data that is retrieved by activities (e.g., databases, files). |
Representation | Shown as a document or data object icon, typically connected to activities or events. | Shown as a database symbol or storage icon, typically connected to processes or data flows. |
Interaction | Data Objects are passed or updated between activities. | Data Stores are typically read from or written to by different activities or processes. |
Example | An invoice, a customer order, or a product specification. | A customer database, inventory database, or system log. |
BPMN offers advanced data modeling concepts that go beyond the basics, including handling collections, transformations, and collaborative data management across multiple processes. These features are valuable when modeling complex, multi-layered systems.
Data handling is a critical aspect of BPMN, and understanding its core elements empowers process modelers to create diagrams that effectively represent information flow.
Data Objects illustrate the creation and use of information in Activities, while Data Associations link Activities and Events to data for greater clarity. Data Object References allow the same data to be reused in multiple stages, showcasing different states, and Data Stores ensure information persists beyond the process lifecycle.
While these basics are essential, mastering BPMN’s advanced data features will help you model even more complex scenarios and drive better business outcomes.
Take the BPMN 2.0 Lesson 8 Quiz