Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
131 changes: 131 additions & 0 deletions docs/getting_started/data_spaces/fundaments_deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
---
title: 'Data Spaces: Fundamentals & Deployment'
---

This page provides an introduction to the concept of data spaces, primarily using Fiware technology. Its main objective is to guide those interested in joining a data space from a technical perspective, giving them the necessary knowledge to understand what a data space is, how it works, and how they can participate in it.

!!! Warning "Before starting"

It is recommended to have basic knowledge of [Kubernetes](https://kubernetes.io/), as most data space deployments are done in this environment. However, it is not necessary to be an expert to understand the concepts and follow the steps below.

- Kubernetes:
- [What is Kubernetes?](https://kubernetes.io/docs/concepts/overview/#what-kubernetes-is-not)
- [Free course](https://kubernetes.io/training/)
- [Helm](https://helm.sh/docs/): To understand it quickly, this is like pip packages (Python) but for Kubernetes (more or less).

## Basic Principles

The initial adoption of the FIWARE Data Space technology within the CitCom.ai project is a strategic decision that aligns with old [Data Space Business Alliance](https://data-spaces-business-alliance.eu/) (DSBA) and the [Data Spaces for Smart Cities (DS4SCC)](https://www.ds4sscc.eu/) recommendations, ensuring a robust and interoperable framework for data exchange across Testing and Experimentation Facilities (TEFs).

For those interested in delving deeper into the technical pillars on which the Fiware Data Space Connector is developed, it is recommended to review the document: [DSBA Technical Convergence recommendations](https://data-spaces-business-alliance.eu/wp-content/uploads/2023/11/DSBA-Technical-Convergence-Recommendations.pdf). This document is the reference that Fiware uses for its developments. Although in some aspects it may be somewhat outdated, it is useful for a first contact.

<iframe
src="https://data-spaces-business-alliance.eu/wp-content/uploads/dlm_uploads/Data-Spaces-Business-Alliance-Technical-Convergence-V2.pdf"
width="100%"
height="600px">
</iframe>

Other interesting links to understand the basic concepts of data spaces and their implementation with Fiware are the different webinars that Fiware has on its YouTube channel. At first, it is recommended to watch these:

- __FIWARE Vision on Data Spaces__

<iframe
width="560"
height="315"
src="https://www.youtube.com/embed/phCPgxzT8t0?si=iXgbZDKqMn-zLl4Q"
title="FIWARE Vision on Data Spaces"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen>
</iframe>

- __Data Spaces – A Practical Introduction Into Roles and Components__ (up to minute 32, as the Local Minimal Viable Dataspace demo is not relevant at this point)

<iframe
width="560"
height="315"
src="https://www.youtube.com/embed/hm5qMlhpK0g?si=LwYIbB7uEOd7N78d"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen>
</iframe>

- [Smart Data Models](https://www.fiware.org/smart-data-models/) Other links of interest:

- [https://smartdatamodels.org/](https://smartdatamodels.org/)


## Practical Case

Having a theoretical basis on what a data space is, its components and how it works, the next step is to put it into practice. For this, __it is recommended to deploy a data space locally__.

At the moment, the explanations focus solely on the __Fiware Data Space Connector:__ This is the [official repository](https://github.com/FIWARE/data-space-connector) of Fiware with the developments, the explanation of what a data space is and how the different components interact with each other.

### Option 1: Official Fiware Local Deployment

<div align="right" markdown="1">
[Repository :simple-github:](https://github.com/FIWARE/data-space-connector/blob/data-space-connector-8.5.1/doc/deployment-integration/local-deployment/LOCAL.MD){:target="_blank" .md-button .md-button--primary-light }
</div>

This is the most complete example, but also the one that consumes the most resources. If your computer does not have enough resources, it may never deploy correctly. (As of March 17, 2026, the latest version is 8.5.1).

![img_fiware_repo](./img/fiware_repo.png)

### Option 2: Minimum Viable Data Space Examples *(Recommended)*

<div align="right" markdown="1">
[Repository :simple-github:](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop){:target="_blank" .md-button .md-button--primary-light }
</div>

??? Note

The Citcom.ai minimum viable data space is a reference implementation that has been developed to facilitate the understanding and deployment of what a data space is using Fiware technology. This example deploys __version 7.29.0__, a fully functional and stable version to understand the basic concepts of a data space.

This development uses a different orchestration framework, which makes the deployment more controlled and ensures that it deploys correctly in more situations than the official Fiware deployment.

You can follow the deployment instructions found in the [GitHub](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/blob/develop/README.md) repository to get the minimum viable data space up and running. This repository contains all the necessary information to carry out the deployment, including prerequisites, step-by-step instructions, and necessary resources.

As you can see, the repository contains different [examples](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples) of environments that have been developed.

| Example | Link | Description |
| ------- | ---- | ----------- |
| __Minimal DS Local__ | [kind_minimal_ds_local](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/kind_minimal_ds_local) | Minimal Data Space (FIWARE) deployment in a local Kind cluster. |
| Minimal DS Local + Raw Consumer | [raw_fiware_components-ds_local](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/raw_fiware_components-ds_local) | Minimal Data Space (FIWARE) deployment in a local Kind cluster and a raw consumer. |
| Raw Consumer | [raw_fiware_consumer](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/raw_fiware_consumer) | Raw Fiware consumer deployment (also with Trust Anchor). |
| Kind Cluster | [kind_cluster](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/kind_cluster) | Kind cluster deployment. |
| K3s Cluster | [k3s_cluster](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/k3s_cluster) | K3s cluster deployment. |

For a first contact, it is recommended to deploy the __Minimal DS Local__ example, which is the simplest and fastest to deploy. This example deploys a minimum viable data space using Fiware in a local Kind cluster.

??? Tip "Advanced users"

If you want to go a little deeper, you can deploy the __Minimal DS Local + Raw Consumer__ example, which in addition to the minimum viable data space, deploys a raw Fiware consumer, which allows you to better understand how a consumer should be configured from scratch.

You have all the instructions for the different services deployed in the example in the [repository](https://github.com/CitComAI-Hub/Minimum_Viable_DataSpace_Infrastructure/tree/develop/examples/kind_minimal_ds_local) itself. Once deployed and verified that everything works correctly, it is recommended to follow the [Fiware documentation](https://github.com/FIWARE/data-space-connector/blob/data-space-connector-7.29.0/doc/deployment-integration/local-deployment/LOCAL.MD) to test the interaction between the different components of the data space, such as data exchange between a provider and a consumer, identity and access management, etc.

## Other Resources

- __Decentralized IAM based on Verifiable Credentials and ODRL__

<iframe
width="560"
height="315"
src="https://www.youtube.com/embed/zz7MHd3imzs?si=PUvwrMXwLHxLAx4L"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen>
</iframe>

- __Contract Negotiation in Data Spaces__

<iframe
width="560"
height="315"
src="https://www.youtube.com/embed/kkvNQfkVJkg?si=9-WI1ghRf7IeEVVe"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen>
</iframe>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 33 additions & 32 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@ nav:
- Interoperability: getting_started/interoperability.md
- Data spaces:
- getting_started/data_spaces/index.md
- Get involved:
- getting_started/get_involved/index.md
- Join the Data Space: getting_started/get_involved/join.md
- Fundamentals & Deployment: getting_started/data_spaces/fundaments_deployment.md
- Get involved:
- getting_started/get_involved/index.md
- Join the Data Space: getting_started/get_involved/join.md
- Data catalog:
- data_catalog/index.md
- data_catalog/instructions.md
Expand All @@ -45,29 +46,29 @@ nav:
- documentation/verifiable_credentials/index.md
- Hands-On Configuration: documentation/verifiable_credentials/keycloak/index.md
- Trust Frameworks:
- documentation/trust_frameworks/index.md
- Fiware: documentation/trust_frameworks/fiware_trust_anchor/index.md
- documentation/trust_frameworks/index.md
- Fiware: documentation/trust_frameworks/fiware_trust_anchor/index.md
- Data Space Connectors:
- documentation/data_space_connectors/index.md
- Eclipse: documentation/data_space_connectors/eclipse/index.md
- Fiware:
- Fiware:
- documentation/data_space_connectors/fiware/index.md
- Data Federation:
- documentation/data_federation/index.md
- NGSI-v2 to NGSI-LD:
- Lepus: documentation/data_federation/ngsiv2_to_ld/lepus.md
- FIWARE IoT-Agent: documentation/data_federation/ngsiv2_to_ld/iot_agent.md
- documentation/data_federation/index.md
- NGSI-v2 to NGSI-LD:
- Lepus: documentation/data_federation/ngsiv2_to_ld/lepus.md
- FIWARE IoT-Agent: documentation/data_federation/ngsiv2_to_ld/iot_agent.md
- MV Data Space:
- Fiware:
- documentation/mv_data_space/fiware/trust_anchor.md
- documentation/mv_data_space/fiware/consumer.md
- documentation/mv_data_space/fiware/provider.md
- documentation/mv_data_space/index.md
- Local Digital Twins:
- documentation/local_digital_twins/index.md
- documentation/local_digital_twins/index.md
- AI Assessment:
- documentation/ai_assessment/index.md
- documentation/ai_assessment/ai_assessment_catalogue.md
- documentation/ai_assessment/index.md
- documentation/ai_assessment/ai_assessment_catalogue.md
- AI services:
- services/index.md
- Minimal Interoperable AI Service: services/waste_collection.md
Expand All @@ -76,25 +77,25 @@ nav:
- Healthy Routes: services/healthy_routes.md
- TEF Nodes:
- tef/index.md
- Nordic - POWER:
- tef/nordic_power/doll_living_lab.md
- tef/nordic_power/aarhus_city_lab.md
- tef/nordic_power/net_zero_innovation_hub.md
- tef/nordic_power/dti.md
- tef/nordic_power/center_denmark.md
- tef/nordic_power/gate21.md
- tef/nordic_power/rise.md
- tef/nordic_power/tampere.md
- Nordic - POWER:
- tef/nordic_power/doll_living_lab.md
- tef/nordic_power/aarhus_city_lab.md
- tef/nordic_power/net_zero_innovation_hub.md
- tef/nordic_power/dti.md
- tef/nordic_power/center_denmark.md
- tef/nordic_power/gate21.md
- tef/nordic_power/rise.md
- tef/nordic_power/tampere.md
- Central - MOVE:
- tef/central_move/mechelen.md
- tef/central_move/brussels.md
- tef/central_move/eindhoven.md
- tef/central_move/paris.md
- tef/central_move/list.md
- tef/central_move/mechelen.md
- tef/central_move/brussels.md
- tef/central_move/eindhoven.md
- tef/central_move/paris.md
- tef/central_move/list.md
- South - CONNECT:
- tef/south_connect/valencia.md
- tef/south_connect/milano.md
- tef/south_connect/warsaw.md
- tef/south_connect/valencia.md
- tef/south_connect/milano.md
- tef/south_connect/warsaw.md
- Toolbox:
- toolbox/index.md
- LDT Toolkit: toolbox/ldt_toolkit.md
Expand Down Expand Up @@ -168,7 +169,7 @@ plugins:
extra:
generator: false
labels:
data_brokers:
data_brokers:
fiware: '<span style="background-color:green; color:white; padding:2px 4px; border-radius:4px;">Fiware</span>'
kafka: '<span style="background-color:black; color:white; padding:2px 4px; border-radius:4px;">Kafka</span>'
iot_ticket: '<span style="background-color:blue; color:white; padding:2px 4px; border-radius:4px;">IoT-Ticket Azure</span>'
Expand All @@ -188,4 +189,4 @@ extra:
data_broker: '<span style="background-color:rgba(255,0,0,0.2); color:gray; padding:2px 4px; border-radius:4px;">Data Broker</span>'
data_api: '<span style="background-color:rgba(255,51,255,0.2); color:gray; padding:2px 4px; border-radius:4px;">Data API</span>'
data_idm_auth: '<span style="background-color:rgba(255,165,0,0.2); color:gray; padding:2px 4px; border-radius:4px;">IdM & Auth</span>'
data_publication: '<span style="background-color:rgba(204,255,255,0.2); color:gray; padding:2px 4px; border-radius:4px;">Data Publication</span>'
data_publication: '<span style="background-color:rgba(204,255,255,0.2); color:gray; padding:2px 4px; border-radius:4px;">Data Publication</span>'
Loading