Skip to content

Annex C

Sam Gerené edited this page Dec 6, 2017 · 29 revisions

Introduction

ECSS-E-TM-10-25A Annex C specifies the implementation technology that is required to exchange data that complies with the data model specified in ECSS-E-TM-10-25A Annex A. Annex C prescribes 2 technologies that need to be supported by an implementation for it to be fully compliant with ECSS-E-TM-10-25A:

The CDP4 is fully compliant with the standard. The CDP4-SDK can be used to create applications client and server side that implement the JSON REST API. It also provides an implementation of to read from and write a file that conforms to the JSON Exchange File Format. The CDP4 Desktop application can communicate with a JSON REST API, of which the CDP4 Web Services are an implementation. The CDP4 Web Services can export data to a JSON Exchange File Format and can be seeded from a JSON Exchange File Format.

JSON REST API

The JSON REST API is a particular flavor of REST. Two HTTP verbs are supported: GET and POST, DELETE, _PUT _and PATCH are not supported. GET requests are used to retrieve data. POST requests are used to create, update and delete data; multiple operations are supported in one POST request, allowing an API user to add, update and delete different objects with one request.

GET requests

In order to retrieve data from a server a GET request must be performed. A GET request is performed along the containment hierarchy specified by Annex A. Annex A provides two so-called TopContainer classes, the SiteDirectory and EngineeringModel. The GET requests can only be performed on either the SiteDirectory and EngineeringModel URI's. The subsequent parts of the URI follow the aggregate composition properties of Annex A. To GET a specific Thing the unique identifier, represented by the {iid} token, needs to be specified as well. The {iid} token must be a valid UUID version 4.

nr. Method Request Notes
[1] GET the singleton SiteDirectory object http[s]://cdp4services-public.rheagroup.com/SiteDirectory[/*] Specifying * is not mandatory but allowed and will return the same result
[2] GET the singleton SiteDirectory object specified by its unique identifier http[s]://cdp4services-public.rheagroup.com/SiteDirectory/{iid} The unique identifier can be retrieved using [1]
[3] Get the email address of a person contained in the SiteDirectory http[s]://cdp4services-public.rheagroup.com/SiteDirectory/{iid}/person/{iid}/email/{iid} Note that person and email are all lower-case
[4] GET an EngineeringModel specified by its unique identifier http[s]://cdp4services-public.rheagroup.com/EngineeringModel/{iid} -
[5] GET the Iteration object, specified by its unique identifier, that is contained by the specified EngineeringModel http[s]://cdp4services-public.rheagroup.com/EngineeringModel/{iid}/iteration/{iid} Note that iteration is a property of the EngineeringModel and that it is provided with lower-case.

More information coming soon

POST requests

More information coming soon

Side Effects

More information coming soon

JSON Exchange File Format

More information coming soon

Clone this wiki locally