blob: 3f3cdf556a641870324ed94abb7a873879334b15 [file] [log] [blame]
pwielebs30355d92019-04-24 11:44:37 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4Architecture
5============
6
7Introduction
8------------
9As most services and collectors deployed on DCAE platform relies on similar microservices a common Software Development Kit has been created. It contains utilities and clients which may be used for getting configuration from CBS, consuming messages from DMaaP, interacting with A&AI, etc. SDK is written in Java.
10
11Some of common function across different services are targeted to build as separate library was created in Dublin release.
12
13Reactive programming
14--------------------
15Most of SDK APIs are using Project Reactor, which is one of available implementations of Reactive Streams (as well as Java 9 Flow). Due to this fact SDK supports both high-performance, non-blocking asynchronous clients and old-school, thread-bound, blocking clients. Reactive programming can solve many cloud-specific problems - if used properly.
16
17
18
19Libraries:
20----------
21
22DmaaP-MR Client
23~~~~~~~~~~~~~~~
24 * Support for DmaaP MR publish and subscribe
25 * Support for DmaaP configuration fetching from Consul
26 * Support for authenticated topics pub/sub
27 * Standardized logging
28
29
30ConfigBindingService Client
31~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 Thin client wrapper to invoke CBS api to fetch configuration based on exposed properties during deployment. Provides option to periodically query and capture new configuration changes if any should be returned to application.
33
34
35A&AI Client
36~~~~~~~~~~~
37 * Standardized logging and error handling
38 * Provides a wrapper on AAI api for identifying node-type and support appropriate enrichment queries
39 * Standardizes PNF update related queries
40
41
42DCAE Common Libraries (ONAP WIKI)
43---------------------------------
44Following link is a reference to an internet site which describes basic features in general.
45DCAE_Common_Libraries_
46
47.. _DCAE_Common_Libraries: https://wiki.onap.org/pages/viewpage.action?pageId=45300259
48
49DCAE SDK
50~~~~~~~~
51Contains some general notes about the project and libraries which were used.
52DCAE_SDK_
53
54.. _DCAE_SDK: https://wiki.onap.org/display/DW/DCAE+SDK
55
56Changelog
57~~~~~~~~~
58Below link is a reference to an internet site which contains information about the changelog.
59Changelog_
60
61.. _Changelog: https://wiki.onap.org/display/DW/DCAE+SDK+Changelog
62
63FAQ
64~~~~
65DCAE SDK Frequently Asked Questions.
66FAQ_
67
68.. _FAQ: https://wiki.onap.org/display/DW/DCAE+SDK+Frequently+Asked+Questions