Page Status: Updated for London
Component Status: Pending PTL updates and ArchCom Review
Last Reviewed on:
Certified by:
DMaaP (Data Movement as a Platform):
1 High Level Component Definition and Architectural Relationships
DMaaP is component that provides data movement services that transports and processes data from any source to any target. It provides the capability to:
Support the transfer of messages between ONAP components, as well as to other components
Support the transfer of data between ONAP components as well as to other components.
Data Filtering capabilities
Data Compression capabilities
Data routing (file based transport)
Message routing (event based transport)
Batch and event based processing
2. DMaaP API definitions
DMaaP provides the following interfaces:
Interface Name | Interface Definition | Interface Capabilities | API Spec (Swagger) |
---|
DMaaP-1 | DMaaP Bus Controller Interface Allows a DMaaP User to control the behavior of DMaaP | Provides services to enable a DMaaP user to:
Provision a Topic in Message Router Creates the topic on MR instanceCreates topic Permissions in AAFCreates topic Roles in AAF with appropriate PermissionsAssociates ONAP application identities to topic Roles
- Provision a Feed in Data Router
- Associates publisher credentials with Feed
- Creates any ingress rules for publish route optimization
- Provision a Subscriber in Data Router
- Associates subscriber credentials with feed delivery
- Creates any egress rules for delivery route optimization
- Tracks the deployment of DMaaP components vs some network location
| onap-dmaap-dbcapi swagger |
DMaaP-2 | DMaaP Message Router Source Interface
Provides a message sending service to the DMaaP user
| The message publisher can:
Provision (create/modify/delete) Message Router topicsRetrieve individual topic detailsRetrieve a list of all topics on the message routerPublish messages to a message router topic
| onap-dmaap-messagerouter swagger |
DMaaP-3 | DMaaP Message Router Consuming Interface
Provides a message receiving service to the DMaaP user
| The message consumer can:
Retrieve a list of all topics on the message routerRetrieve individual topic detailsSubscribe / Unsubscribe to message router topicsReceive (with filter) messages
| onap-dmaap-messagerouter swagger |
DMaaP-4 | DMaaP Data Routing Source Interface Provides a bulk data publishing service to the DMaaP user | The data publisher can: - Create/Update/Delete a data feed
- Retrieve a representation of the data feed
- Publish data to a data feed
- Delete a published data from a data feed
| onap-dmaap-datarouter swagger |
DMaaP-5 | DMaaP Data Routing Consumption Interface Provides a bulk data consumption service to the DMaaP user | The data consumer can: - Retrieve a representation of the data feed
- Subscribe / Unsubscribe to a data feed
- Retrieve data from a data feed.
| onap-dmaap-datarouter swagger |
The current API documents can be found at:
The following interface is part of the strimzi ecosystem and can be deployed in ONAP to offer a REST based interface to the kafka cluster
Interface Name | Interface Definition | Interface Capabilities | API Spec |
---|
Strimzi Kafka Bridge | Strimzi kafka bridge interface
| The kafka bridge can: - Retrieve individual topic details
- Retrieve a list of all topics
- Publish messages to a topic
- Subscribe / Unsubscribe to topics
| strimzi.io bridge openapiv2.json |
The following interfaces are consumed by DMaaP
Interface Name | Purpose Reason For Use | API Spec (Swagger) |
---|
N/A | N/A |
|
3. Component Description:
DMaaP consists of 3 software systems
Message Router (MR) - Message Router is a reliable, high-volume pub/sub messaging service with a RESTful HTTP API. It is intended to be deployed by Platform Service providers so that it is available to Platform clients as a web service. The service is initially built over Apache Kafka.- Data Router (DR) - The Data Routing System project is intended to provide a common framework by which data producers can make data available to data consumers and a way for potential consumers to find feeds with the data they require. The interface to DR is exposed as a RESTful web service known as the DR Publishing and Delivery API
- Data Bus Controller (BC) - Provisioning API of the Data Movement Platform that can be used for provisioning feeds in Data Router.
4. Known system limitations
Current known system limitations
- DMaaP Data Router uses persistent volumes to store data used by its feeds.
The K8s persistent volumes assigned must have enough storage space to handle the anticipated volume.
5. Used Models
DMaaP does not use any models.
6. System Deployment Architecture
DMaaP consists of 3 main components:
- DMaaP Message Router
- DMaaP Data Router
- DMaaP Buss Controller
7. New Capabilities in this Release
The optional inclusion of the Strimzi kafka bridge (deployed as part of strimzi) to provide REsT access to the kafka deployment.
8. References
- DMaaP Wiki: Data Movement as a Platform Project
- DMaaP on readthedocs: https://docs.onap.org/en/latest/guides/onap-developer/developing/index.html#dmaap-data-management-as-a-platform
Message Router: https://docs.onap.org/projects/onap-dmaap-messagerouter-messageservice/en/latest/index.html#master-index- Bus Controller: https://docs.onap.org/projects/onap-dmaap-buscontroller/en/latest/index.html#master-index
- Data Router: https://docs.onap.org/projects/onap-dmaap-datarouter/en/latest/index.html#master-index