Skip to content
This repository was archived by the owner on Feb 14, 2023. It is now read-only.

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

IDS Standard

See implementation details here.

Specification

Compliance Issues

The EDC will not be IDS compliant in every way. This section contains a list of issues, where the non-compliance is a conscious decision.

1. No Self-Description Response at API Root

At the root path of the API IDS requires the connector to return a self-description. This is a requirement the connector will never fulfil. The self-description is only returned on the corresponding REST or Multipart requests.

2. Only one Information Model version supported at a time

The EDC connector will not be able to support more than one IDS Information model per running instance.

Key Components

Dispatch Architecture

Modules

  • ids-api-[x]-endpoint-v[x] modules marshall requests and responses between the EDC and a transport. They are tied to a specific infomodel version.
  • ids-transform-v[x] modules contain transformers. They are tied to a specific infomodel version. EDC model to IDS infomodel and vice versa.
  • Two different endpoint modules may use the same transformers if they share a common infomodel.

Controller

  • MultipartController reads messages from a transport and dispatches to a Message Handler based on RequestMessage type.
  • Performs basic validation and may return an error response

Message Handler

  • MultipartRequestHandler processes a RequestMessage type (subclass).
  • Performs validation and may return an error response

Sub Handler

  • DescriptionRequestHandler processes a DescriptionRequestMessage by delegating to a Sub Handler.
  • This handler directly maintains a map of Sub Handlers keyed by the scheme-specific part of the requestedElement field.
  • The Connector Description Sub Handler is dispatched to as the default handler. This Sub Handler will use the ConnectorDescriptorService.

Transformers

  • A TransformerRegistery dispatches to Transformers to map between IDS and EDC types. Handlers/Sub Handlers should use these to marshal requests and responses to and from the EDC core.
  • Type mapping should preferably be done in the handlers, not services (we need to look at this further, e.g. ConnectorDescriptionService).