|
|
|
- **Introduction**
|
|
- **OSDU Platform Events**
|
|
- **OSDU Platform Events**
|
|
- **Event Producers**
|
|
- **Event Producers**
|
|
- **Event Consumers**
|
|
- **Event Consumers**
|
... | @@ -6,6 +7,14 @@ |
... | @@ -6,6 +7,14 @@ |
|
- **Design Option 2**
|
|
- **Design Option 2**
|
|
- **Security**
|
|
- **Security**
|
|
|
|
|
|
|
|
**Introduction**
|
|
|
|
|
|
|
|
All CSPs implemented notification and register service but there is no clear guidelines on when and how to use notification and register service.
|
|
|
|
|
|
|
|
Notification is something that happens in the backend, there is no API Spec to enforce the consistency implementation across the CSPs. This is document will provide guidelines and design options.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**OSDU Platform Events**
|
|
**OSDU Platform Events**
|
|
|
|
|
|
OSDU Platform events can be used to connect internal and external services/apps. The Notification platform provides an event-driven message architecture to enable services to communicate internal and external to the OSDU Platform.
|
|
OSDU Platform events can be used to connect internal and external services/apps. The Notification platform provides an event-driven message architecture to enable services to communicate internal and external to the OSDU Platform.
|
... | @@ -31,6 +40,23 @@ OSDU Platform events can be used to connect internal and external services/apps. |
... | @@ -31,6 +40,23 @@ OSDU Platform events can be used to connect internal and external services/apps. |
|
- WKS
|
|
- WKS
|
|
- External consumers
|
|
- External consumers
|
|
|
|
|
|
|
|
**Registration and Notification**
|
|
|
|
|
|
|
|
The Register service allows consumers to register for event notification. You can find more details in the [docs](https://community.opengroup.org/osdu/platform/system/register/-/blob/master/docs/tutorial/ActionService.md)
|
|
|
|
|
|
|
|
The Notification service push events to all registered subscribers. You can find more details in the [docs](https://community.opengroup.org/osdu/platform/system/notification/-/blob/master/docs/tutorial/DataNotification.md)
|
|
|
|
|
|
|
|
|
|
|
|
A typical workflow using notification is:
|
|
|
|
|
|
|
|
* Consumer finds a "topic" that they want to keep up to date with any changes in OSDU.
|
|
|
|
* Consumer creates Push endpoint, that is used to receive notifications on the interested topic.
|
|
|
|
* Consumer creates a Subscription in OSDU Notification System, and proves the ownership of the Push endpoint.
|
|
|
|
* Consumer starts to receive notifications for that topic and processes the message to synchronize with the OSDU state.
|
|
|
|
* Consumer periodically rotates the "secret" used for subscription.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Design 1 - Internal vs External**
|
|
**Design 1 - Internal vs External**
|
|
|
|
|
|
In this design, we are separating the internal and external flow.
|
|
In this design, we are separating the internal and external flow.
|
... | | ... | |