By Phil Coulthard

Business processes naturally use business data in the form of variables to represent the process state and affect the process flow. However, do not consider this data a system of record (SOR). IBM® Business Process Manager should always work with external systems of record to access and update data. Use the business data in a process only for the purpose of that process; do not expose that data as an SOR for other purposes.

A proper SOR is architected and designed for transactional, efficient, and safe reading and writing and reporting by one or more users and producers. The business data in a process is merely a temporary stateful representation of that data to affect the process flow and user interactions. Process variables and their underlying IBM BPM persistent data store are not designed to be used outside of that process. Considering these process variables as the single source of truth for that data eventually causes issues and requests for typical transactional CRUD access to that data that is not possible or recommended on top of the IBM BPM internal database.

Applicable editions: Express, Standard and Advanced

Applicable releases: All

Source: System-of-Record Architecture for Process-Driven Solutions

Learn more:

    3 responses to “Good practice – Do not use IBM BPM as a system of record”

    1. ammarhassan says:

      So as per what you said.
      What do you suggest?
      1. To keep business information inside our own database
      2. Use Business Monitoring database to refer back to these business data instances.

    2. dim0071 says:

      Ok, It is reasonable – to keep only relevant data in a process.
      But what if I need access to other kind of data both with access to process data in my application ?
      Can I still use coaches to access that other kind of data?

      Kindest –

    Leave a Reply

    Your email address will not be published. Required fields are marked *