FIWARE Connector
Introduction
The FIWARE Data Space Connector is an integrated suite of components every organization participating in a data space should deploy to “connect” to a data space. Following the DSBA recommendations, it allows to:
- Interface with Trust Services aligned with EBSI specifications
- Implement authentication based on W3C DID with VC/VP standards and SIOPv2 / OIDC4VP protocols
- Implement authorization based on attribute-based access control (ABAC) following an XACML P*P architecture using Open Digital Rights Language (ODRL) and the Open Policy Agent (OPA)
- Provide compatibility with ETSI NGSI-LD as data exchange API
- Supports the TMForum APIs for contract negotiation
Note: Although the FIWARE Data Space Connector provides compatibility with NGSI-LD as the data exchange API, it could also be used for any other RESTful API by replacing or extending the PDP component of the connector.
The functionalities mentioned above can be used by an organization to connect to the data space in its role as data (processing) service provider, consumer of data (processing) services, or both.
Key points
- Final and ready-to-use software (versus the framework approach of Eclipse)
- (Partial support for) IDS Dataspace Protocol (DSP)
- Not as agnostic as Eclipse, although its modular approach makes it possible (in theory) to extend its capabilities.
- It is not very tested; expect bugs and error reporting work.
- Development is relatively slow.
Getting started
The Minimum Viable Data Space Infrastructure repository provides a ready-to-use, minimal deployment of a FIWARE Data Space Connector. Its main purpose is to offer an easy way to deploy the FIWARE connector locally.
Minimum Viable Data Space (Local)
Check out the examples/kind_minimal_ds_local exmple. This example is composed of the following blocks:
- Fiware Data Space (FDS) Operator or Trust Anchor: Trust Anchor that manages the issuers and credentials.
- FDS Connector A (Provider): Entity that provides and consumes data from the data space.
- FDS Connector B (Consumer): Entity that only consumes data from the data space.
For further details and to get started, please visit the repository on GitHub.