Business Activity Monitoring (BAM) was originally coined by analysts at Gartner, and refers to the aggregation, analysis, and presentation of real-time information about activities inside organizations, customers, and partners.
The activity monitoring consists of a model of a business process,
which can consists of multiple transactions (e.g. order, payment, invoice),
and these transactions can have multiple steps. The technical processing
represented by a transaction instance bamtxid
is then correlated with
the steps in those transactions of the business process.
This extension defines attributes that can be included within a CloudEvent to describe the business activity that the event is associated with.
Producers and consumers are free to define an out-of-band agreement on the semantic meaning, or valid values, for the attribute.
As with the main CloudEvents specification, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
However, the scope of these key words is limited to when this extension is used. For example, an attribute being marked as "REQUIRED" does not mean it needs to be in all CloudEvents, rather it needs to be included only when this extension is being used.
- Type:
String
- Description: A unique identifier for the instance of a transaction. This identifier connects the actual processing in the distributed system (e.g. payment, invoice, warehouse) with the model of this process.
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED as monotonically increasing and contiguous identifier that is lexicographically-sortable.
- Type:
String
- Description: A unique identifier for the model of the business process
that is associated with instance of the transaction
bamtxid
. A business process is a collection of transactions. These transactions can run in sequence or parallel (e.g. payment, invoice, warehouse). - Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED an alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.
- Type:
String
- Description: A unique identifier for the model of a transaction that constructs a business process (e.g. payment, invoice, warehouse).
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED an alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.
- Type:
String
- Description: A unique identifier for the specific step in a business process transaction (e.g. start, processing, finish).
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED an alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.
- Type:
String
- Description: The status of the specific step in a business process transaction (e.g. success, waiting, failure).
- Constraints
- OPTIONAL
- if present, MUST be a non-empty string
- RECOMMENDED an alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.
- Type:
Boolean
- Description: Indicates if the instance of the transaction (
bamtxid
) has actually been completed, or if the transaction has somehow failed. This is a mechanism to indicate a final completion or failure that is not captured by the model of the business process. - Constraints
- OPTIONAL
- if present, MUST be a boolean value
When this extension is used, producers MUST set the value of
the bamtxid
, bampid
, bamptxid
, and bamptxsid
attributes
to the unique identifiers of the business process, transaction,
and transaction step associated with the event.
Intermediaries MUST NOT change the value of the bamtxid
,
bampid
, bamptxid
, and bamptxsid
attributes.
This extension can be used in cases in which a business activity monitoring system is used to monitor the progress of a business process, and the events generated by the process are used to track the progress of the process. Usually these systems have their own modelling language to describe the business process, and the events generated by the process are used to track the progress of the process.