X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Farchitecture.rst;fp=docs%2Farchitecture.rst;h=6f29e5d4e98e2ea39017c1bffe140415c2ef3ce2;hb=0fa019897cb79de1def349b8fd0b660d1951681a;hp=0000000000000000000000000000000000000000;hpb=7704d3079906a4fb51cd58f12d56bd3100fca6b2;p=dmaap%2Fdatarouter.git diff --git a/docs/architecture.rst b/docs/architecture.rst new file mode 100644 index 00000000..6f29e5d4 --- /dev/null +++ b/docs/architecture.rst @@ -0,0 +1,56 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Architecture +============ + +Capabilities +------------ +The DMaaP Data Router (DR) provisioning API is an HTTPS-based, REST-like API for creating and managing +DR feeds and subscriptions, which provides a pub/sub architectural model for the transfer of data. + +The DR API also supports `AAF CADI authorization `_. + +To use this feature, the API client must provide a valid AAF AppID / MechID with each request. +To enable this feature, see the :ref:`configuration` section. + +.. note:: In future releases, AAF CADI auth will be enabled by default. + +Usage Scenarios +--------------- +Typically, DR pub clients request the provisioning of a new DR feed. +Once created, DR sub clients can then subscribe to the feed to receive all data published to that feed. + + .. image:: images/dr_pub_flow.png + + +The DR provisioning API is not meant to be used directly by DR end users (publishers and subscribers) +for feed / subscription CRUD (create, read, update, delete) operations. + +Instead, prospective publishers and subscribers should use the DMaaP Bus Controller API, which will call +the DR provisioning API to manage feeds and subscriptions. + + .. image:: images/dr_bc_prov.png + + +See DMaaP Bus Controller API docs for more information: + +`Bus Controller Feeds API `_ + +`Bus Controller Subs API `_ + + +High level Architecture +----------------------- +The following diagram shows the high-level relationship between the system components: + + .. image:: images/dr_arch_only.png + + +DMaaP DR architecture uses the Eclipse Jetty server as an application server to service it's front-end. + * dmaap-dr-prov services all provisioning requests. + * dmaap-dr-node services the publishing of data to feed subscribers. + +DMaaP DR uses MariaDB as it's storage component for the following: + * DR Provisioning data. (feeds, subscribers, etc.) + * Historical logging data related to feed activity. (Publish, Delivery, etc.) \ No newline at end of file