Features
Find here an overview of functionalities, used IDS libraries, and integrated IDS components.
The Dataspace Connector uses modern technologies, standards (e.g. RFC 7231, IDS Information Model, IDS Usage Control Language), and best practices (pattern implementation, e.g. MVC). Software quality is ensured by adhering to and implementing code style guides and logging and providing high test coverage. Quality checks and project reports can be generated via maven plugin.
Java
Maven
Spring Boot
Spring Data JPA
Spring Security
OpenAPI
HATEOAS
Swagger
LOG4J2
Docker
Kubernetes
JSON(-LD)
OpenTelemetry
Jaeger
TLS
All functionalities and architectural decisions aim at providing a maintainable and easily extensible software that encapsulates the IDS information model from connected systems.
- Identity management: Central Identity Provider/DAPS, IDS certificates (X.509v3)
- Control which DAT issuing DAPS to trust
- IDS DAT validation
- API for (meta) data management and IDS communication
- Partially support of HATEOAS
- Management of metadata (optionally also data) in local database (e.g. PostgreSQL)
- Connection of remote data sources (possibility of queries on data sets)
- Clear interfaces between data model and the IDS Infomodel
- Strict implementation of MVC pattern for data management
- Strict access control to backend, information can only be read and changed by services
- Strict state validation for entities via factory classes
- Storage of remote IDs and addresses to objects for origin tracking
- Communication via IDS protocols
- Interaction with other IDS participants as data provider & consumer
- TLS encrypted communication via IDS Multipart Messages
- Camel-base communication via IDSCPv2
- Automated messaging sequence
- IDS Metadata Broker: un/register connector, un/register resources, query offers
- Clearing House: log contract agreements, data usage, artifact requests, and artifact responses
- IDS Usage Control Language: ten supported Usage Control Patterns and policy negotiation
- Subscription transfer pattern
- Un-/Subscribe to requests, representations, and artifacts as a non-IDS system/app
- Un-/Subscribe to offers, representations, and artifacts as an IDS connector via IDS messages
- Manually and automatically sending Resource Update Messages for receiving latest metadata and data changes
- Integration of OpenTelemetry and export to Jaeger
- Optional http tracing for transparent information and data flow
- Optional bootstrapping for registering resource offers on start-up
- Apps and Routes
- Manage routes via REST API
- Deploy Camel routes at runtime
- Security
- Prevent leaking of technology stack in case of errors/exceptions
- Logger sanitizes inputs to prevent CRLF injections
- Common CVE patches
Libraries
Library | License | Owner | Contact |
---|---|---|---|
IDS Information Model Library | Apache 2.0 | Fraunhofer IAIS | E-Mail IAIS |
IDS Information Model Serializer Library | Apache 2.0 | Fraunhofer IAIS | E-Mail IAIS |
IDS Messaging Service | Apache 2.0 | - | - |
The ConfigManager and its GUI are a part of the IDS Connector and aim to facilitate the configuration of the Dataspace Connector and further IDS Connector implementations. Both projects are also open source and licensed under Apache 2.0.
Update: The IDS Configuration Manager has been directly integrated into the Dataspace Connector core and thus will be maintained in the Dataspace Connector repository. The GUI interacts with all given interfaces to provide all functionality that can also be directly triggered at the Connector’s REST API.
IDS Communication
Component | License | Owner | Contact |
---|---|---|---|
IDS Broker | Apache 2.0 | Fraunhofer IAIS | |
DAPS | Apache 2.0 | Fraunhofer AISEC | Gerd Brost |
ParIS | Apache 2.0 | Fraunhofer IAIS |