ARC DMaaP Component Description - Dublin



STATUS: Draft

DMaaP (Data Movement as a Platform):

1 High Level Component Definition and Architecteral 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

The data providers and data consumers are

  • Service Design and Creation

  • Policy

  • Data Collection Analytics and Events

  • Other


 

2. DMaaP API definitions

DMaaP provides the following interfaces:

Interface Name

Interface Definition

 Interface Capabilities

Interface Name

Interface Definition

 Interface Capabilities

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 instance

    • Creates topic Permissions in AAF

    • Creates topic Roles in AAF with appropriate Permissions

    • Associates 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

  • Provisions Mirror Maker for any message replication between 2 MR instances

  • Tracks the deployment of DMaaP components vs some network location

DMaaP-2

DMaaP Message Router Source Interface

Provides a message sending service to the DMaaP user

 The message sender can:

  • Provision (create/modify/delete) Message Router topics

  • Retrieve individual topic details

  • Retrieve a list of all topics on the message router

  • Publish messages to a message router topic

DMaaP-3

DMaaP Message Router Consuming Interface

Provides a message receiving service to the DMaaP user

The message receiver can:

  • Retrieve a list of all topics on the message router

  • Retrieve individual topic details

  • Subscribe / Unsubscribe to message router topics

  • Receive (with filter) messages

DMaaP-4

DMaaP Data Routing Source Interface

Provides a data sending service to the DMaaP user

The data sender 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

DMaaP-5

DMaaP Data Routing Consumption Interface

Provides a data consumtion service to the DMaaP user

The data consumer can:

  • Retrieve a representation of the data feed

  • Subscribe / Unsubscriber to a data feed

  • Retrieve data from a data feed.

Note:   xxxI interface is a Component internal interface.  xxxxE interface is a component external interface

The current API documents can be found at:

The following interfaces are consumed by DMaaP

Interface Name

Purpose Reason For Use

Interface Name

Purpose Reason For Use

N/A

N/A



3. Component Description:

DMaaP consists of 4 software syatems

  • 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 - Provisioning API of the Data Movement Platform that can be used for provisioning topics in the Message Router and feeds in Data Router. In addition Bus Controller is also used for provisioning Mirror Maker capability between two Message Router instances to replicate messages

4. Known system limitations

Current know system limitations

  • DMaaP uses persistent volumes to store data used by topics and feeds. Persistent volumes need to have enough storage space to handle 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

This needs to be updated as this is not likely correct.

7. New Capabilities in this Release

This release, DMaaP adds the following Capabilities:

  • DMaaP - Message Router

    • Upgrade Kafka to v1.1.1

    • Support for Authenticated topics

    • Add scalign support

    • Support for multi-site applications

    • Add Mirrormaket to allo for message replication accross Kfka clusters

  • DMaaP - data router

    • Date Router updates to support 5G Bulk PM use case

  • DMaaP - Bus Controller

    • DMaaP Provisioning at OOM deployment time via Bus Controller

8. References

  1. DMaaP on readthedocs: https://docs.onap.org/en/casablanca/guides/onap-developer/developing/index.html#data-management-as-a-platform-data-bus-controller

  2. Message Router: https://docs.onap.org/en/casablanca/submodules/dmaap/messagerouter/messageservice.git/docs/offeredapis/offeredapis.html

  3. Controller: https://docs.onap.org/en/casablanca/submodules/dmaap/dbcapi.git/docs/api.html

  4. Data Router: https://docs.onap.org/en/casablanca/submodules/dmaap/datarouter.git/docs/index.html