OData metadata generation - HxGN SDx - Update 63 - Administration & Configuration - Hexagon

HxGN SDx API Services Configuration

Language
English
Product
HxGN SDx
Search by Category
Administration & Configuration
SmartPlant Foundation / SDx Version
10

You must look at your own system metadata and fully understand the schema model to construct any OData syntax.

The OData metadata document is a fundamental component of any OData API and is located at the API root. For example, . . /api/v2/$metadata.

For most systems, you cannot simply expose the different data types to the metadata document. The document would be too large and take too long to generate, and could also inadvertently expose sensitive data. For this reason, HxGN SDx uses instances of API Entry Point class definitions to represent the different object types in OData.

The OData metadata document represents the domain model of an API in a standard XML format. Applications that consume the API can use the metadata document to understand the entities or types that are available.

Entity Types are comprised of:

  • Properties that are on each of the entity types. Entity properties are based on column sets on the underlying properties, some of which may be relationships or edges. Each column item in the column set appears as a property on the entity in the OData metadata document.

  • Navigation properties that exist between different entity types. Navigation properties are links generated dynamically in the metadata based on:

    • Relationship starting and ending interfaces.

    • Edge start interfaces and end relationship interfaces.

    • End entities that are exposed in the model.

ODataEntites

Entity Sets are comprised of entity types.

ODataEntitySets

Actions or Functions are comprised of the parameters for the actions being carried out.

ODataActions

ODataFunctions

  • Administrators can use API Entry Point instances to create a managed view of their domain model to be consumed by applications using the OData API.

  • Administrators can use an instance of an API Entry Point to manage the naming and access control on a particular object type and specify which column sets should be used to represent that type.