Saryu Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 1 | |
| 2 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 3 | .. http://creativecommons.org/licenses/by/4.0 |
| 4 | |
| 5 | *************************** |
| 6 | PDP-D Software Architecture |
| 7 | *************************** |
| 8 | |
| 9 | .. contents:: |
| 10 | :depth: 3 |
| 11 | |
| 12 | Overview |
| 13 | ^^^^^^^^ |
| 14 | |
Saryu Shah | 1a13e30 | 2017-11-15 20:58:18 +0000 | [diff] [blame] | 15 | | 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 Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 22 | |
| 23 | |
| 24 | PDP-D application container |
| 25 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 26 | |
Saryu Shah | 1a13e30 | 2017-11-15 20:58:18 +0000 | [diff] [blame] | 27 | | 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 Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 28 | |
| 29 | There is the distinction of **core** software and optional **extensions** to the core functionality. |
| 30 | |
| 31 | Core Software |
| 32 | ------------- |
| 33 | |
Saryu Shah | 1a13e30 | 2017-11-15 20:58:18 +0000 | [diff] [blame] | 34 | The 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 Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 36 | - policy-utils (utilities) |
| 37 | - policy-core (drools libraries interfaces) |
| 38 | - policy-endpoints (networking) |
| 39 | - policy-management. (management of the platform) |
| 40 | |
Saryu Shah | 1a13e30 | 2017-11-15 20:58:18 +0000 | [diff] [blame] | 41 | This is the **minimum** set of services that any PDP-D application provides to their executing drools-applications. |
Saryu Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 42 | |
| 43 | The 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 | |
| 45 | Extensions |
| 46 | ---------- |
| 47 | |
| 48 | Extensions 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 | |
| 52 | The current extensions supported are: |
| 53 | |
Saryu Shah | 706cd56 | 2018-04-03 17:52:11 +0000 | [diff] [blame] | 54 | - `Feature Test Transaction <feature_testtransaction.html>`_ (disabled by default) |
| 55 | - `Feature State Management <feature_statemgmt.html>`_ (disabled by default) |
| 56 | - `Feature EELF <feature_eelf.html>`_ (disabled by default) |
| 57 | - `Feature Healthcheck <feature_healthcheck.html>`_ (enabled by default) |
| 58 | - `Feature Session Persistence <feature_sesspersist.html>`_ (disabled by default) |
| 59 | - `Feature Active/Standby Management <feature_activestdbymgmt.html>`_ (disabled by default) |
Saryu Shah | 7cb31ae | 2018-05-15 20:30:13 +0000 | [diff] [blame^] | 60 | - `Feature Distributed Locking <feature_locking.html>`_ (enabled in OOM installation by default) |
| 61 | - `Feature Pooling <feature_pooling.html>`_ (enabled in OOM installation by default) |
Saryu Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 62 | |
Saryu Shah | 706cd56 | 2018-04-03 17:52:11 +0000 | [diff] [blame] | 63 | .. seealso:: Click on the individual feature links for more information |
Saryu Shah | ef28b6d | 2017-11-14 03:00:56 +0000 | [diff] [blame] | 64 | |
| 65 | |
| 66 | .. _Control Loop Operational Policy: https://wiki.onap.org/display/DW/Control+Loop+Operational+Policy |
| 67 | .. _drools: https://www.drools.org |
| 68 | |
| 69 | |
| 70 | End of Document |
| 71 | |
| 72 | .. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/PAP+Software+Architecture |
| 73 | |
| 74 | |