blob: e6537a7d283482fcf17d23b479f1ffd1cffb0172 [file] [log] [blame]
Saryu Shahef28b6d2017-11-14 03:00:56 +00001
2.. This work is licensed under a Creative Commons Attribution 4.0 International License.
3.. http://creativecommons.org/licenses/by/4.0
4
5***************************
6PDP-D Software Architecture
7***************************
8
9.. contents::
10 :depth: 3
11
12Overview
13^^^^^^^^
14
Saryu Shah1a13e302017-11-15 20:58:18 +000015| In ONAP, PDP-D is the Policy component that executes Operational Policies (see `Control Loop Operational Policy`_ ). It uses `drools`_ as the underlying rule based engine to execute policies.
16|
17| The PDP-D name may not be reflective of its nature, as it is generic middleware, a maven based drools rules based application container.
18|
19| The PDP-D generic application container is maintained in the policy/drools-pdp repository (https://git.onap.org/policy/drools-pdp).
20|
21| The Control Loop Operational Policies and support libraries applications are maintained in the policy/drools-applications repository (https://git.onap.org/policy/drools-applications/).
Saryu Shahef28b6d2017-11-14 03:00:56 +000022
23
24PDP-D application container
25^^^^^^^^^^^^^^^^^^^^^^^^^^^
26
Saryu Shah1a13e302017-11-15 20:58:18 +000027| The PDP-D lightweight application container provides generic services to the drools applications (0..n) running on it. (https://git.onap.org/policy/drools-pdp)
Saryu Shahef28b6d2017-11-14 03:00:56 +000028
29There is the distinction of **core** software and optional **extensions** to the core functionality.
30
31Core Software
32-------------
33
Saryu Shah1a13e302017-11-15 20:58:18 +000034The core critical functionality that always runs in any PDP-D container is maintained in those projects named with the "*policy-*" prefix. These are:
35
Saryu Shahef28b6d2017-11-14 03:00:56 +000036- policy-utils (utilities)
37- policy-core (drools libraries interfaces)
38- policy-endpoints (networking)
39- policy-management. (management of the platform)
40
Saryu Shah1a13e302017-11-15 20:58:18 +000041This is the **minimum** set of services that any PDP-D application provides to their executing drools-applications.
Saryu Shahef28b6d2017-11-14 03:00:56 +000042
43The intent is that this functionality is kept stable, fast, and minimal. As new development is added, the intent is that this functionality is resilient to breakage as side effects to new development.
44
45Extensions
46----------
47
48Extensions are optional modules that are commonly known as **features** that extends the PDP-D core functionality with new enhancements.
49
50**Features** can be enabled or disabled. When a feature is disabled, it is a *hard disable* with no side effects on the *core functionality*, meaning no additional libraries, configuration, etc. that may have side effects on the core functionality described above.
51
52The current extensions supported are:
53
54- Feature Test Transaction (disabled by default)
55- Feature State Management (disabled by default)
56- Feature EELF (disabled by default)
57- Feature Healthcheck (enabled by default)
58- Feature Session Persistence (disabled by default)
59- Feature Active/Standby Management (disabled by default)
60
61.. seealso:: Please see the individual feature wiki pages for more information
62
63
64.. _Control Loop Operational Policy: https://wiki.onap.org/display/DW/Control+Loop+Operational+Policy
65.. _drools: https://www.drools.org
66
67
68End of Document
69
70.. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/PAP+Software+Architecture
71
72