From: Bruno Sakoto Date: Tue, 7 Sep 2021 22:21:59 +0000 (-0400) Subject: Finalize architecture documentation X-Git-Tag: 1.0.1~12^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=a24713b1daed8afeb51e0578700b06ace3a0f6ee;p=cps%2Fcps-temporal.git Finalize architecture documentation Issue-ID: CPS-447 Signed-off-by: Bruno Sakoto Change-Id: I87ef8a9aee216dfc8f54749243d27d5c0b3d3981 --- diff --git a/docs/_static/images/cps-temporal-c4-container.png b/docs/_static/images/cps-temporal-c4-container.png new file mode 100644 index 0000000..c857166 Binary files /dev/null and b/docs/_static/images/cps-temporal-c4-container.png differ diff --git a/docs/content/architecture.rst b/docs/content/architecture.rst index 18f4cc3..69aafef 100644 --- a/docs/content/architecture.rst +++ b/docs/content/architecture.rst @@ -8,6 +8,31 @@ CPS Temporal Architecture ========================= -.. warning:: Draft +CPS Temporal is a dedicated service, **distinct** and **decoupled** from CPS +Core. CPS Temporal service is an **independently deployable** unit. -* Subsystem and components architecture +Integration between Core and Temporal is **event notification based, +asynchronous, send and forget**. By doing this, we are avoiding the dependency +from CPS Core on CPS Temporal and its API. It reverses the +dependency, which makes more sense from a conceptual point of view. + +For each data modification handled by CPS Core, + +* CPS Core is **publishing**, to a dedicated topic, an event representing the + data configuration or state. +* CPS Temporal is **listening** to the same topic for the event and is + responsible to keep track of all data over time. + +In the future, some other services can be created to listen to the same topic +to implement additional functionalities or storage forms. + +The event messaging system for this integration is **Kafka**, whose running +instance is deployed independently from CPS. It could be either: + +* the ONAP Kafka instance from ONAP DMaaP component, +* or any specific Kafka instance deployed independently from ONAP + +The following diagram is the C4 Model representing CPS System Containers: + +.. image:: /_static/images/cps-temporal-c4-container.png + :alt: C4 Model Diagram: Containers for CPS Software system diff --git a/docs/diagrams/cps-temporal-c4.drawio b/docs/diagrams/cps-temporal-c4.drawio new file mode 100644 index 0000000..4e6c6e3 --- /dev/null +++ b/docs/diagrams/cps-temporal-c4.drawio @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +