CPS Temporal Modeling

Event Structure

Data manipulated by both CPS Core and CPS Temporal to represent a Data Updated Event is a JSON structure that is defined by following Json Schema:

And following is an example of an event compliant with this schema:

{
    "schema": "urn:cps:org.onap.cps:data-updated-event-schema:v2",
    "id": "38aa6cc6-264d-4ede-b534-18f5c1f403ea",
    "source": "urn:cps:org.onap.cps",
    "type": "org.onap.cps.data-updated-event",
    "content": {
        "observedTimestamp": "2021-06-09T13:00:00.123-0400",
        "operation": "UPDATE",
        "dataspaceName": "my-dataspace",
        "schemaSetName": "my-schema-set",
        "anchorName": "my-anchor",
        "data": {
            "interface": {
                "name": "itf-1",
                "status": "up"
            }
        }
    }
}

Event versions

The following table lists the data-updated-event schema evolution over releases :

Version

Release

Compatibility Type (with previous version)

Upgrade First

v1

Istanbul

n/a

Any order

v2

Jakarta

Backward

Consumer (Temporal)

Compatibility Types

Several compatibility types exist when an event schema definition is evolving from one release to the next one:

  • Backward compatibility means that consumers using the new schema can read data produced with the previous schema.

  • Forward compatibility means that data produced with a new schema can be read by consumers using the previous schema.

  • Full compatibility means that schemas are both backward and forward compatible: old data can be read with the new schema, and new data can also be read with the previous schema.