|This page describes behavior related to managing data streaming resources and container level objects.|
The figure below demonstrates the activity sequence for the three key processes of the data management subsystem, Register, Subscribe and Publish.
Figure 1. Registration, Subscription, Publication Activities (OV-6)
When the stream is registered, the producer describes the structure of the data to the system at that time. The system responds with an identifier/reference to that structure description.
The producer can update this structure at a later time and may receive an updated reference in return.
When the producer streams data to the system it is a unidirectional conversation. Each data message contains a reference to the structure in the header.
A consumer can request the structure definition of a stream, can request data from that stream in real time, or can request the stream from the beginning of the stream.
The figure below shows the dependencies between capability container level message publishers and subscribers. The following design drivers exist:
- Creation and removal of message broker resources should be symmetrical with clear responsibilities
- Interactions may be a multi-participant interaction, e.g. a service sets up the message queue and the worker process connects to the queue
Figure 2. Container stream publisher and subscriber interactions
Code in Pyon: endpoint module