Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
524ffac
initial template for data space deployment documentation
sermars Mar 13, 2025
f0d0285
Merge branch 'develop' into feature/citcom_mvds
sermars Mar 26, 2025
281aee9
mvds trust frameworks, fiware trust anchor
sermars Mar 26, 2025
51ad10e
mvds trust frameworks index
sermars Mar 26, 2025
abe7a3c
api trusted issuer registry
sermars Mar 26, 2025
9dd87fa
Merge branch 'develop' into feature/citcom_mvds
sermars Apr 3, 2025
09acdeb
Merge branch 'develop' into feature/citcom_mvds
sermars Apr 16, 2025
f93c1e6
minimum dataspace arch in svg
sermars May 14, 2025
596a598
Merge branch 'develop' into feature/citcom_mvds
sermars May 14, 2025
76cdea2
Merge branch 'develop' into feature/citcom_mvds
sermars May 14, 2025
81fb870
Merge branch 'develop' into feature/citcom_mvds
sermars May 16, 2025
82c9b37
Merge remote-tracking branch 'origin/develop' into feature/citcom_mvds
sermars May 19, 2025
30e00ee
refactor: update Fiware Trust Anchor documentation for clarity and st…
sermars May 19, 2025
5a9757b
update API documentation and add swagger-ui integration
sermars Jun 2, 2025
1181103
Merge branch 'develop' into feature/citcom_mvds
sermars Jun 24, 2025
d207f9e
Merge branch 'develop' into feature/citcom_mvds
joancipria Jul 2, 2025
4562225
Draft: AWS deployment
joancipria Jul 11, 2025
10849db
Fix formatting and update links in interoperability documentation
sermars Jul 14, 2025
f4f1b7e
Enhance MVDS section with detailed description and context for better…
sermars Jul 14, 2025
5f0c497
Enhance MVDS documentation with deployment context and cross-TEF expe…
sermars Jul 14, 2025
4b3919b
Fix MIMs links in interoperability documentation
joancipria Jul 14, 2025
15ddb38
Refine trust framework descriptions and enhance documentation structu…
sermars Jul 14, 2025
8ea6ba7
Add documentation for Trust Frameworks and related APIs
sermars Jul 14, 2025
7d376a1
Fix formatting issue in FAQ section of documentation
sermars Jul 14, 2025
807398e
Update dataset links in Milano documentation for improved navigation
sermars Jul 14, 2025
1d8b7ee
Fix virtualenv installation command to use --break-system-packages an…
sermars Jul 14, 2025
4f62ee0
Merge branch 'develop' into feature/citcom_mvds
sermars Jul 14, 2025
3a00757
Refactor documentation for Data Spaces: enhance content in index.md a…
sermars Jul 14, 2025
758e71e
Add documentation for Consumer and Provider deployment steps
sermars Jul 14, 2025
d86be60
Refactor Trust Frameworks documentation: remove obsolete files and up…
sermars Jul 14, 2025
789a81c
Refactor Data Spaces documentation: remove outdated deployment and jo…
sermars Jul 23, 2025
750023f
Add initial documentation for getting involved in CitCom.ai data spaces
sermars Jul 23, 2025
2cd4f9c
Refactor Trust Frameworks documentation: remove obsolete deployment i…
sermars Jul 24, 2025
90187e2
Add diagram to data spaces documentation
sermars Jul 24, 2025
76f2e74
Refactor getting started documentation: remove outdated 'Get involved…
sermars Jul 24, 2025
2e4f8bd
Remove Minimum Viable Data Space (MVDS) documentation and Verifier Cr…
sermars Jul 24, 2025
c2d2dc7
Refactor FIWARE Data Space Connector documentation
sermars Jul 24, 2025
86b6ec4
Add MV Data Space deployment guide for AWS Cloud
sermars Jul 24, 2025
5403784
Add Trust Anchor deployment guide for AWS
sermars Jul 24, 2025
07a16b4
Update warnings to emphasize importance in Trust Anchor deployment steps
sermars Jul 24, 2025
20383ec
Add step-by-step AWS deployment guide for FDSC Consumer
sermars Jul 24, 2025
a3bd56b
Add detailed AWS deployment guide for FDSC Provider
sermars Jul 24, 2025
8c67559
Refactor navigation structure in mkdocs.yml for improved clarity and …
sermars Jul 24, 2025
3982401
Update navigation for Verifier Credentials to clarify Keycloak config…
sermars Jul 24, 2025
52713f7
Add documentation for Verifier Credentials and Keycloak integration
sermars Jul 24, 2025
50010b6
Add AI Logging Monitor to Toolbox navigation
sermars Jul 24, 2025
8b56c13
Remove Data Space section from index.md for clarity
sermars Jul 24, 2025
2bdd0fc
Fix link to 'Get involved' section in roadmap.yaml for correct naviga…
sermars Jul 24, 2025
898a130
Refactor Toolbox section in index.md for improved structure and clarity
sermars Jul 24, 2025
12e3f4e
Add cleanup instructions for Trust Anchor, Consumer, and Provider rol…
sermars Jul 24, 2025
571a13e
Add Keycloak configuration documentation and images for user and clie…
sermars Jul 24, 2025
246fb67
Refactor Verifier Credentials documentation by simplifying the Config…
sermars Jul 24, 2025
c8b2b23
Add Verifiable Credentials management section with Keycloak configura…
sermars Jul 24, 2025
f147d50
Refactor cleanup instructions for Trust Anchor, Consumer, and Provide…
sermars Jul 25, 2025
4fb8604
Add Verifiable Credentials documentation and Keycloak configuration
sermars Jul 25, 2025
fdaf110
Fix links in join.md to point to the correct Verifiable Credentials d…
sermars Jul 25, 2025
52fac1c
Refactor index.md to reorganize sections and improve clarity of Data …
sermars Jul 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PYTHON := python3
.PHONY: virtenv_create
## Create virtualenv
virtenv_create:
@python3 -c "import virtualenv" >/dev/null 2>&1 || pip install virtualenv
@python3 -c "import virtualenv" >/dev/null 2>&1 || pip install --break-system-packages --user virtualenv
python3 -m virtualenv $(VENV_NAME)
source $(VENV_NAME)/bin/activate && pip install -r requirements.txt

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
121 changes: 82 additions & 39 deletions docs/documentation/data_space_connectors/fiware/index.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,92 @@
# FIWARE Connector

## Introduction
The [FIWARE Data Space Connector](https://github.com/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](https://api-pilot.ebsi.eu/docs/apis)
* Implement authentication based on [W3C DID](https://www.w3.org/TR/did-core/) with
[VC/VP standards](https://www.w3.org/TR/vc-data-model/) and
[SIOPv2](https://openid.net/specs/openid-connect-self-issued-v2-1_0.html#name-cross-device-self-issued-op) /
[OIDC4VP](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#request_scope) protocols
* Implement authorization based on attribute-based access control (ABAC) following an
[XACML P*P architecture](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml) using
[Open Digital Rights Language (ODRL)](https://www.w3.org/TR/odrl-model/) and the
[Open Policy Agent (OPA)](https://www.openpolicyagent.org/)
* Provide compatibility with [ETSI NGSI-LD](https://www.etsi.org/committee/cim) as data exchange API
* Supports the [TMForum APIs](https://www.tmforum.org/oda/open-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.
---
title: FIWARE Data Space Connector
---

## Getting started
The [Minimum Viable Data Space Infrastructure](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_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.
## Overview

The [FIWARE Data Space Connector (FDSC)](https://github.com/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](https://api-pilot.ebsi.eu/docs/apis).
- Implement authentication based on [W3C DID](https://www.w3.org/TR/did-core/) with [VC/VP standards](https://www.w3.org/TR/vc-data-model/) and [SIOPv2](https://openid.net/specs/openid-connect-self-issued-v2-1_0.html#name-cross-device-self-issued-op)/[OIDC4VP](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#request_scope) protocols.
- Implement authorization based on attribute-based access control (ABAC) following an [XACML P*P architecture](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml) using [Open Digital Rights Language (ODRL)](https://www.w3.org/TR/odrl-model/) and the [Open Policy Agent (OPA)](https://www.openpolicyagent.org/).
- Provide compatibility with [ETSI NGSI-LD](https://www.etsi.org/committee/cim) as data exchange API.
- Supports the [TMForum APIs](https://www.tmforum.org/oda/open-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.

??? info "Key points"

### Minimum Viable Data Space (Local)
Check out the [examples/kind_minimal_ds_local exmple](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/main/examples/kind_minimal_ds_local). This example is composed of the following blocks:
- 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.

- 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.
## Getting started

A good way to start working with the connector is to deploy a [Minimum Viable Data Space (MVDS)](../../../getting_started/data_spaces/index.md#minimum-viable-data-space) using FIWARE's minimum infrastructure. This infrastructure provides a minimal implementation of a data space using Fiware technology, which allows test the FIWARE Data Space Connector and its components in a local environment.

<figure markdown>
![FIWARE minimal data space](img/minimum_dataspace_arch.svg){ loading=lazy }
</figure>

For further details and to get started, please visit the [repository on GitHub](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure).
This MVDS is composed of the following blocks:

| Component | Description |
|-----------|-------------|
| **Fiware Data Space Operator or Trust Anchor** | The entity responsible for managing the issuers and credentials within the data space. It ensures the trustworthiness of the data space by managing the identities and credentials of participants. |
| **FDS Connector A (Provider)** | An entity that provides data from the data space. It acts as a data provider, allowing for data exchange within the data space. |
| **FDS Connector B (Consumer)** | An entity that consumes data from the data space. It acts as a data consumer, retrieving data from the data space without providing any data in return. |

!!! example

- **FIWARE MVDS local example:** [Code](https://github.com/FIWARE/data-space-connector/blob/main/doc/deployment-integration/local-deployment/LOCAL.MD) repository.
- **CitcomAI MVDS local example:** [Code](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure) repository.

## Technical Details & Deployments

The [FIWARE Data Space Connector repository](https://github.com/FIWARE/data-space-connector) provides a Helm chart for deploying the connector in a Kubernetes cluster. The chart includes all the necessary components to set up a data space connector in both consumer and provider modes. The chart is designed to be flexible and can be customized to fit the specific needs of the data space.

### Consumer

The consumer mode of the FIWARE Data Space Connector is composed of the following components:

![FIWARE Data Space Connector Consumer](./img/consumer_arch.svg)

!!! example "Deployments"
- Minimum AWS deployment example: [Code](../../mv_data_space/fiware/consumer.md)

| Component | Functionality | Description |
|:---------:|---------------|-------------|
| **DID (did-helper)** | <span style="padding:5px;background-color:#bebbbc">Config Services</span> | A component that provides support for W3C Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs). It helps in managing DIDs and VCs within the data space. |
| **Keycloak** | <span style="padding:5px;background-color:#12cbf8">Authentication</span> | An identity and access management solution that provides authentication and authorization services. It is used to manage user identities and access to resources within the data space. |
| **Rainbow** | <span style="padding:5px;background-color:#f1f812">IDSA Data Space Protocol</span> | Rainbow or also known as Dataspace Rainbow is an implementation of Dataspace Protocol 2024-1 promoted by IDSA (International Data Spaces Association). |
| **PostgreSQL** | <span style="padding:5px;background-color:#b97aff">Database</span> | A relational database management system that stores data related to the data space. |

### Provider

The provider mode of the FIWARE Data Space Connector is composed of the following components:

![FIWARE Data Space Connector Provider](./img/provider_arch.svg){ loading=lazy }

!!! example "Deployments"
- Minimum AWS deployment example: [Code](../../mv_data_space/fiware/provider.md)

| Component | Functionality | Description |
|:---------:|---------------|-------------|
| **APISIX** | <span style="padding:5px;background-color:#19f812">Authorization</span> | A component that provides API gateway functionality with a OPA plugin for traffic management. |
| **OPA** | <span style="padding:5px;background-color:#19f812">Authorization</span> | An open-source policy engine that provides attribute-based access control (ABAC) for the data space. It evaluates policies and makes authorization decisions based on attributes and rules defined in the data space. |
| **ODRL-PAP** | <span style="padding:5px;background-color:#19f812">Authorization</span> | A component that implements the ODRL (Open Digital Rights Language) Policy Administration Point (PAP) for managing data access policies within the data space. |
| **Scopio** | <span style="padding:5px;background-color:#f86d12">Data Broker</span> | A data broker, facilitating the exchange of data between different participants in the data space. It manages data discovery and retrieval processes. |
| **VCVerifier** | <span style="padding:5px;background-color:#12cbf8">Authentication</span> | A component that verifies the authenticity of Verifiable Credentials (VCs) and exchanges them for tokens. It ensures that the credentials presented by participants are valid and trustworthy. |
| **Credential Config Service** | <span style="padding:5px;background-color:#12cbf8">Authentication</span> | A service that manages the configuration of credentials. Holds the information which VCs are required for accessing a service. |
| **Trusted Issuers List** | <span style="padding:5px;background-color:#12cbf8">Authentication</span> | A list of trusted issuers for the provider. Acts as Trusted Issuers List by providing an [EBSI Trusted Issuers Registry](https://hub.ebsi.eu/) API. |
| **TM Forum API** | <span style="padding:5px;background-color:#fe5b8c">Data Discovery</span> | A component that implements the [TM Forum APIs](https://www.tmforum.org/oda/open-apis/) for contract negotiation within the data space. It allows participants to negotiate and manage contracts related to data exchange. |
| **Contract Management** | <span style="padding:5px;background-color:#fe5b8c">Data Discovery</span> | Notification listener for contract management events out of TMForum. |
| **Rainbow** | <span style="padding:5px;background-color:#f1f812">IDSA Data Space Protocol</span> | Rainbow or also known as Dataspace Rainbow is an implementation of Dataspace Protocol 2024-1 promoted by IDSA (International Data Spaces Association). |
| **TPP** | <span style="padding:5px;background-color:#f1f812">IDSA Data Space Protocol</span> | Integration of checks for the transfer process protocol. |
| **PostgreSQL** | <span style="padding:5px;background-color:#b97aff">Database</span> | A relational database management system that stores data related to the data space. |
| **PostGIS** | <span style="padding:5px;background-color:#b97aff">Data Bases</span> | PostgreSQL Database with PostGIS extensions |
| **MySQL** | <span style="padding:5px;background-color:#b97aff">Data Bases</span> | An open-source relational database management system that uses SQL for data management. |
| **DID (did-helper)** | <span style="padding:5px;background-color:#bebbbc">Config Services</span> | A component that provides support for W3C Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs). It helps in managing DIDs and VCs within the data space. |
33 changes: 21 additions & 12 deletions docs/documentation/data_space_connectors/index.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,44 @@
---
title: Overview
title: Connectors
---

Currently, only two data space connector technologies can be considered prominent: **Eclipse** and **Fiware**. On the other hand, **Simpl**, which is based on Eclipse technologies, is still in its early stages of development. As it progresses, Simpl aims to leverage the foundational strengths of Eclipse to provide a final product solution within the data space connector landscape in the EU.
A data space connector is a technical component that enables the secure and controlled exchange of data between organisations within a data space. It functions as a gateway that manages communication, authentication, and data usage policies. **Each participant deploys their own connector**, ensuring sovereignty over their data. Furthermore, it promotes interoperability by adhering to standards such as those set by IDSA or Gaia-X.

Below, we provide an analysis of each alternative and an introductory guide to testing the software.
The most extended data space connector technology are:

<div class="grid cards" markdown>

- :material-power-plug-outline:{ .lg .middle } __Eclipse__
- :material-power-plug-outline:{ .lg .middle } __Fiware__

---

Eclipse data space connector.
The FIWARE Data Space Connector is an integrated suite of components implementing [_DSBA Technical Convergence recommendations_](https://data-spaces-business-alliance.eu/wp-content/uploads/dlm_uploads/Data-Spaces-Business-Alliance-Technical-Convergence-V2.pdf).

[:octicons-arrow-right-24: Learn more](./eclipse/index.md)
[:octicons-arrow-right-24: Official Documentation](https://github.com/FIWARE/data-space-connector)

- :material-power-plug-outline:{ .lg .middle } __Fiware__
[:octicons-arrow-right-24: Learn more](./fiware/index.md)

- :material-power-plug-outline:{ .lg .middle } __Eclipse__

---

Fiware data space connector.
Eclipse data space connector is a framework that provides a set of components and APIs for building data space connectors. It is designed to be modular and extensible, allowing developers to create custom connectors that meet their specific needs.

[:octicons-arrow-right-24: Learn more](./fiware/index.md)
[:octicons-arrow-right-24: Official Documentation](https://github.com/eclipse-edc/Connector)

[:octicons-arrow-right-24: Learn more](./eclipse/index.md)

- :material-power-plug-outline:{ .lg .middle } __Simpl__

---

Simpl data space connector. *(Not tested)*
Simpl programme is an initiative that aims to create a data space connector **based on the Eclipse Data Space Components**. It is still in its early stages of development, but it aims to leverage the foundational strengths of Eclipse to provide a final product solution within the data space connector landscape in the EU.

[:octicons-arrow-right-24: Official Site](https://simpl-programme.ec.europa.eu/)


??? note "Official References"
- [Installation Guide](https://code.europa.eu/simpl/simpl-open/documentation/installation-guide)
- [Functional and Technical Architecture Specifications](https://code.europa.eu/simpl/simpl-open/architecture/-/blob/master/functional_and_technical_architecture_specifications/Functional-and-Technical-Architecture-Specifications.md?ref_type=heads)
- [User Manual](https://code.europa.eu/simpl/simpl-open/documentation/user-manual)

</div>
</div>
31 changes: 23 additions & 8 deletions docs/documentation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,25 @@ title: Guides

Reports and deployment guides of different components.

## How can I connect different data platforms or data spaces?
## Data Space components

<div class="grid cards" markdown>

- :material-graph-outline:{ .lg .middle } __Data Federation__
- :material-security:{ .lg .middle } __Trust Frameworks__

---

The *data federation section* groups the guides to be able to communicate different brokers based on their technology.
A _trust framework_ is a set of policies, principles, and mechanisms that establish and maintain trust among participants in a data space ecosystem.

[:octicons-arrow-right-24: Learn more](./data_federation/index.md)
[:octicons-arrow-right-24: Learn more](./trust_frameworks/index.md)

</div>
- :material-account-credit-card-outline:{ .lg .middle } __Verifiable Credentials__

---

## What data space connector technologies exist and how can I deploy a connector?
A _Verifiable Credential_ is a digital document that proves something about its holder. It's like a digital passport, diploma, or any other credential, but with the added benefit of being tamper-evident and verifiable using cryptography.

<div class="grid cards" markdown>
[:octicons-arrow-right-24: Learn more](./verifiable_credentials/index.md)

- :material-power-plug-outline:{ .lg .middle } __Data Space Connector__

Expand All @@ -32,4 +33,18 @@ Reports and deployment guides of different components.

[:octicons-arrow-right-24: Learn more](./data_space_connectors/index.md)

</div>
</div>

## How can I connect different data platforms or data spaces?

<div class="grid cards" markdown>

- :material-graph-outline:{ .lg .middle } __Data Federation__

---

The *data federation section* groups the guides to be able to communicate different brokers based on their technology.

[:octicons-arrow-right-24: Learn more](./data_federation/index.md)

</div>
Loading