Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Architecture Diagrams

Following diagrams are C4 model diagrams (context, container containers and componentcomponents) for CPS Temporal.

(All of them can be seen by navigating thru diagrams tabs using arrows)

Drawio
bordertrue
diagramDisplayName
lboxtrue
revision34
diagramNamecps-temporal-c4
aspectjxYHlsEtXCZLFlEAqQWN
simpleViewerfalse
width1000
aspectHash08e6a9f73512401a812aeec1ce66eabfe85c0f87
linksauto
tbstyletop
diagramWidth481

Data Updated Event Schema

The structure to represent a Data Updated Event for CPS point of view need to to be defined without any ambiguity. This the interface contract to be rely on for:

  • CPS Core to publish data updates
  • CPS Temporal to listen to data updates
  • Any other system listening to data updates

CPS Data Updated Event is a JSON document that adheres to following JSON Schema:

Code Block
languagetext
titlecps-data-updated-event-schema.json
linenumberstrue
{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "urn:cps:org.onap.cps:data-updated-event-schema:1.0.0-SNAPSHOT",
  "$ref": "#/definitions/CpsDataUpdatedEvent",
  "definitions": {
    "CpsDataUpdatedEvent": {
      "title": "CpsDataUpdatedEvent",
      "description": "A CPS data updated event.",
      "type": "object",
      "properties": {
        "schema": {
          "const": "urn:cps:org.onap.cps:data-updated-event-schema:1.0.0-SNAPSHOT",
          "description": "The schema, including its version, that the event adheres to."
        },
        "id": {
          "type": "string",
          "description": "The unique id identifying the event for the specified source. Producers must ensure that source + id is unique for each distinct event."
        },
        "source": {
          "type": "string",
          "format": "uri",
          "description": "The source of the event. Producers must ensure that source + id is unique for each distinct event."
        },
        "type": {
          "type": "string",
          "description": "The type of the event."
        },
        "content": {
          "$ref": "#/definitions/Content"
        }
      },
      "required": [
        "schema",
        "id",
        "source",
        "type",
        "content"
      ],
      "additionalProperties": false
    },
    "Content": {
      "title": "Content",
      "description": "The event content",
      "type": "object",
      "properties": {
        "timestamp": {
          "type": "string"
        },
        "coreReferences": {
          "$ref": "#/definitions/CoreReferences"
        },
        "data": {
          "$ref": "#/definitions/Data"
        }
      },
      "additionalProperties": false
    },
    "CoreReferences": {
      "title": "CoreReferences",
      "description": "All core references for data",
      "type": "object",
      "properties": {
        "dataspace": {
          "$ref": "#/definitions/CoreReference"
        },
        "schemaSet": {
          "$ref": "#/definitions/CoreReference"
        },
        "anchor": {
          "$ref": "#/definitions/CoreReference"
        }
      },
      "additionalProperties": false
    },
    "CoreReference": {
      "title": "CoreReference",
      "description": "A core reference for data",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique id identifying the reference."
        },
        "name": {
          "type": "string",
          "description": "The name of the reference."
        }
      },
      "additionalProperties": false
    },
    "Data": {
      "title": "Data",
      "description": "The json data content payload",
      "type": "object"
    }
  }
}