SEMDA communication schema and data flow

Saturday, September 21, 2024

SEMDA allows bidirectional communication. Local CMS can send request to SEMDA to retrieve or modify data in RI- systems and return the results back to the Local CMS.

SEMDA behaves like server to the connected Local CMS and like a client to RI systems. SEMDA does not store or internally process any data! It passes them either to RI or to the Local CMS.

Communication channels (queues) with particular Local CMS are separated from each other. Clients do not share requests or data with other clients.

Communication schema

Data flow

The diagram on the right shows the data flow.

  • The data flow is always initiated by the Local CMS, where the request is created.
  • Local CMS passes the request to SEMDA and waits for response. At that point the callback in Local CMS is defined.
  • SEMDA validates the request and returns OK or response containing the validation errors to Local CMS.
  • In success case the request is queued internally in SEMDA and passed to RI as soon as possible. There may be multiple messages sent to RI for one request received from the Local CMS.
  • RI performs the desired action and returns OK or error.
  • In both cases the RI response is received by SEMDA, transformed and passed to Local CMS as completion message to the callback. Multiple response messages from RI can be consolidated into one unified notification message to Local CMS.
  • Local CMS must implement a notification service for correct internal processing of the completion messages. The simplest way is to write the content of the notification message into a log. But also a sophisticated notification center can be implemented by the Local CMS.

Connection, authorization and authentication must be successfully completed prior to communication with SEMDA.