blob: c414e6df66c29fb28ff79a40c01a6d2e9420c411 [file] [log] [blame]
.. This work is licensed under a
.. Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
..
.. Copyright (C) 2021 Bell Canada
===================
CPS Temporal Design
===================
Exposed APIs
============
CPS Temporal is providing a REST HTTP API to query historical CPS data.
Its OPEN API Specification can be found either:
* In :download:`openapi.yml <../_static/openapi/swagger/openapi.yml>`
file
* At ``https://<cps-temporal-host>:<cps-temporal-port>/swagger/openapi.yml``
endpoint available on CPS Temporal running instance
Swagger UI is also available at:
* ``https://<cps-temporal-host>:<cps-temporal-port>/swagger-ui.html``
And following Postman collection can be used to send requests to any running
instance:
* :download:`CPS Temporal Postman Collection <../_static/postman-collections/cps-temporal-postman-collection.json>`
Event Integration
=================
CPS Core and CPS Temporal are integrated with an event driven architecture.
Integration between these two components is event notification based.
For each data modification handled by CPS Core,
* CPS Core is publishing, to a dedicated Kafka 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.
Refer to :doc:`modeling` for more details on the event structure.