Merge "Added validation on matching required fields"
[policy/engine.git] / docs / platform / swarch_pdp.rst
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
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/).
22
23
24 PDP-D application container
25 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
26
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)
28
29 There is the distinction of **core** software and optional **extensions** to the core functionality.
30
31 Core Software
32 -------------
33
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
36 - policy-utils (utilities)
37 - policy-core (drools libraries interfaces)
38 - policy-endpoints (networking)
39 - policy-management. (management of the platform)
40
41 This is the **minimum** set of services that any PDP-D application provides to their executing drools-applications.
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
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)
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)
62
63 .. seealso:: Click on the individual feature links for more information 
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