Skip to content

Commit

Permalink
Adding extension for BAM
Browse files Browse the repository at this point in the history
  • Loading branch information
katallaxie committed Apr 18, 2024
1 parent 561c5e5 commit 7a9e8f4
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 0 deletions.
1 change: 1 addition & 0 deletions cloudevents/extensions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ for more information.
## Known Extensions

- [Auth Context](authcontext.md)
- [BAM](bam.md)
- [Dataref (Claim Check Pattern)](dataref.md)
- [Distributed Tracing](distributed-tracing.md)
- [Expiry Time](expirytime.md)
Expand Down
96 changes: 96 additions & 0 deletions cloudevents/extensions/bam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Business Activity Monitoring (BAM) Extension

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.

This extension defines attributes that can be included within a CloudEvent
to describe the business activity that the event is associated with.

Produces and consumers are free to define an out-of-band agreement on the
semantic meaning, or valid values, for the attribute.

## Notational Conventions

As with the main [CloudEvents specification](../spec.md), 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](https://tools.ietf.org/html/rfc2119).

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.

## Attributes

### businessTransactionId

- Type: `String`
- Description: A unique identifier for the transaction.
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED as monotonically increasing and contiguous identifier that is lexicographically-sortable.

### businessProcessId

- Type: `String`
- Description: A unique identifier for the business process associated with the event.
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED a alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.

### businessProcessTransactionId

- Type: `String`
- Description: A unique identifier for the business process transaction associated with the event.
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED a alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.

### businessProcessTransactionStepId

- Type: `String`
- Description: A unique identifier for the business process transaction step associated with the event.
- Constraints
- REQUIRED
- MUST be a non-empty string
- RECOMMENDED a alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.

### businessProcessTransactionStepStatus

- Type: `String`
- Description: The status of the business process transaction step associated with the event.
- Constraints
- OPTIONAL
- MUST be a non-empty string
- RECOMMENDED a alphanumeric string that contains non-whitespace characters and only hyphens, underscores, and periods.

### businessProcessTransactionCompletion

- Type: `Boolean`
- Description: Indicates if the business process transaction associated with the event has completed.
- Constraints
- OPTIONAL
- MUST be a boolean value

## Usage

When this extension is used, producers MUST set the value of the `businessTransactionId`, `businessProcessId`, `businessProcessTransactionId`, and `businessProcessTransactionStepId` 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 `businessTransactionId`, `businessProcessId`, `businessProcessTransactionId`, and `businessProcessTransactionStepId` attributes.

## Use cases

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.

## References

- [Gartner Business Activity Monitoring](https://www.gartner.com/en/information-technology/glossary/business-activity-monitoring-bam)
- [Business Activity Monitoring](https://en.wikipedia.org/wiki/Business_activity_monitoring)
- [What is Business Activity Monitoring (BAM)?](https://www.ibm.com/topics/business-activity-monitoring)
- [Business Activity Monitoring (BAM)](https://learn.microsoft.com/en-us/biztalk/core/business-activity-monitoring-bam)
2 changes: 2 additions & 0 deletions cloudevents/languages/he/extensions/bam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# OPC UA
מסמך זה טרם תורגם. בבקשה תשתמשו [בגרסה האנגלית של המסמך](../../../extensions/bam.md) לבינתיים.
6 changes: 6 additions & 0 deletions cloudevents/languages/zh-CN/extensions/bam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# OPC UA

本文档尚未被翻译,请先阅读英文[原版文档](../../../extensions/bam.md)

如果您迫切地需要此文档的中文翻译,请[提交一个issue](https://github.com/cloudevents/spec/issues)
我们会尽快安排专人进行翻译。

0 comments on commit 7a9e8f4

Please sign in to comment.