CDP4WspDal Overview - STARIONGROUP/COMET-SDK-Community-Edition GitHub Wiki
Introduction
The CDP4WspDal library is a C# library that provides an implementation of ECSS-E-TM-10-25A Annex C.2, the JSON REST API. The purpose of the CDP4WspDal is to communicate with any implementation of the ECSS-E-TM-10-25A Annex C.2. This includes the the CDP4-COMET Web Services and the ESA OCDT WSP. The JSON REST API is based on HTTP and makes use of GET and POST requests.
The ESA OCDT WSP is so-called ESA Community Software and is only available to organizations that reside in ESA member states.
The CDP4WspDal library is a very light weight library, it exposes only one class:
- CDP4WspDal: The class used to perform GET and POST requests on the CDP4-COMET Web Services. It implements the IDal interface and extends the abstract Dal super class.
- CDP4WspDal library does NOT support the COMET-Data-Model#ECSS-E-TM-10-25A-Annex-A-Extensions.
DalExport
The CDP4WspDal class is decorated with the DalExportAttribute. This allows it to be dynamicaly loaded using the Managed Extensibility Framework (MEF).
HttpClient
The CDP4WspDal is a wrapper around the the C# HttpClient. It takes care of all the nitty gritty details of the ECSS-E-TM-10-25A Annex C.2. It uses the Cdp4JsonSerializer to handle the deserialization of the [DTO]] objects that are returned from the CDP4-COMET Web Services and the serialization of [Classless DTO.
For each GET or POST request a Token
is generated. This token is used to identify the request and responses that are being sent to the CDP4-COMET Web Services. The Token
is used in NLog statements in order to be able to use these logs for debugging purposes.