DSHARE - Data Share Controller
Powered by
| Project Links |
|---|
| Software GitHub Repository https://github.com/ds2-eu/datashare |
| Progress GitHub Project https://github.com/orgs/ds2-eu/projects/10 |
General Description
To provide a user-orientated view of control plane information related to a specific exchange of data to monitor its status and to potentially limit or block it. It will access data through a Data Interceptor component which it shares with the DS2 Data Inspection component (DINS) which operates more at the data level. It can be seen as an In-Dataspace enablement module. Its role is especially important in an Inter-DS environment to provide extra monitoring and control of the data exchanges when partners are less known.
The DS2 DSHARE is for it to access control data regarding an exchange via the common Data Interceptor component and an API to the used connector - either within IDT or a specific Dataspace one. It will then log and monitor this information and allow it to be presented in user-friendly form. For short duration one-shot type transactions, this is more of an after-the-event easy-viewer. However, for longer duration transactions (e.g., querying records over a period of time) then it allows the user themselves to monitor the flow and perform control-type actions such as limiting or blocking the transaction.
Architecture
The figure below represents the module fit into the DS-DS environment.

The figure below represents the actors, internal structure, primary sub-components, primary DS2 module interfaces, and primary other interfaces of the module.

Component Definition
This module has the following subcomponents and other functions (as detailed in Data Share.pdf, pages 3-4):
- Data Share Controller
- Data Share Manager: The primary module that onboards control data (from Connector, Interceptor, Trust environment), stores it in the DSC DB, correlates it, and handles triggers for data actions (limit/block).
- Data Share UI: For configuration, visualization of exchange-related data, and control actions (limiting, blocking).
- DSC DB: Stores component data for use by the UI and Data Share Management.
- Connector and API: Primarily the connector within IDT; other local connectors will be explored. APIs (existing or extensions) service data to the Data Share Manager.
- Tier 1 Service Stack for Marketplace and deployment and API: Generic DS2 stack implementation (Platform not used by DSHARE).
- Tier 2: Data Inspector Manager and API: DINS may trigger DSHARE if anomalies suggest blocking data transfers.
- Tier 3: Trust Environment and API: Feeds static agreement information to the Data Share Manager for visualization and control decisions.
- Data Share Interceptor and API
- Interceptor: Intercepts data/query streams between IDT/Connector and participant's Business Application/Datastores. Interfaces with DSHARE (DSC) and DINS. Capable of receiving block/limit commands. Research ongoing for interception techniques (man-in-the-middle vs. duplicator).
- Interceptor UI: For configuring the Interceptor (I/O).
- Participant DB/Application: Represents business applications feeding data to/receiving queries from the connector.
Screenshots

Commercial Information
Table with the organisation, license nature (Open Source, Commercial ... ) and the license. Replace with the values of your module.
| Organisation (s) | License Nature | License |
|---|---|---|
| ICE | Open Source | Apache 2.0 |
Top Features
- Consumer analytics: Comprehensive Data Exchange Monitoring, tracking Real-time data exchanges between a provider and a consumer. The provider of the app can:
- Know active contracts of the consumer
- Know how much data has been exchanged associated to a given contract
- Granular Control: Ability to monitor, limit, or block data transfers based on defined policies or user intervention.
- Advanced Analytics: Features weekly data charts, consumption pattern monitoring, and a consumer ranking system.
- Provider analytics: Tracking real-time data exchanges between a consumer and a provider. The consumer of the app can:
- Know all of their active contracts
- See all the providers they are consuming data from
- Know how much data has been exchanged associated to a given contract
- Assets analytics: DSHARE provides a cockpit to identify most used assets offered by the provider, weekly and monthly consumption trends helpful for identifying inner problems
- Alerting System: Notifies users or administrators about approaching or exceeded transfer limits. Alerts are also raisen when consumers have problems accessing an asset (insufficient credentials, etc)
How To Install
The module is installed as part of the IDT. The installation steps are provided if someone wants to run and test the system locally.
Requirements
Provision a Linux VM (Ubuntu 24.10) Resources:
Recommended: 4 cpu cores, 8 GB RAM and 50 GB disk capacity.
Software
- Eclipse Dataspace Connector (EDC)
- PostgreSQL Database
- Java Development Kit (JDK) JDK17+
Summary of installation steps
- Clone the data share repo
- Tap into the dshare folder
- Run the bash dev-build.sh script to create and run the docker files
Detailed steps
- Clone the code
- Navigate to the datashare folder using following command
- In the main directory you need access the dshare folder. use the following command
The module is composed of two parts: - The Datashare Frontend: a vue.js frontend application to access the DSHARE backend. - The proxy server: for avoiding CORS issues.
Installing and running DataShare Frontend
To install and run Dshare Frontend, from the dshare folder you need to run the following command
bash dev-build.sh
This will build all the docker images required to run the frontend and the backend and start the server which you will be able to see in the terminal
Dshare will be accessable from the link http://localhost:8081/datashare/
Environemnt variables for running the project locally
To run the project locate the .env file in nodeJsProxy folder
MANAGEMENT_URL="https://datashare.ds2.icelab.cloud/consumer/cp"
PARTICIPANT_ID_CONSUMER="did:web:consumer-identityhub%3A7083:consumer"
PROVIDER_PUBLIC_API="https://datashare.ds2.icelab.cloud/provider-qna/public"
PARTICIPANT_ID_PROVIDER="did:web:provider-identityhub%3A7083:provider"
These variables are setup to use the connector that's deployed on ICE servers.
How To Use
First of all be sure that you understand the mechanism of transfering data using EDC, as initially the datashare component will be using MVD hosted on ICE server. DShare contains a provider hub and a consumer hub.
Accessing the Provider Hub
- Navigate to the DSHARE UI URL (e.g., http://localhost:8081/datashare/).
- This page shows the dashboard of the provider-hub, you can see all the contracts the provider has. Clicking the details button opens a detailed page that shows more infomration about the consumer
Note: If prompted to login please use the following credentials.
Provider Hub Dashboard Page
- This page shows the information about the consumers, how my contracts a consumer has initiated. The provider has the functionality to pause, start and terminate those contracts using the action buttons. There is some further analytics information that can be useful.

Assets Analytics Page
-
This page shows useful information about the assets a provider has.
-
It also shows real-time data on active transfers.

Alerts Page
- This page shows all the useful alerts coming from the connector. These include critical alerts eg, contract has been terminated, warning alerts and information alerts.

Accessing the Consumer Hub
Consumer Hub Dashboard shows all the contracts a consumer has initiated.
-
This is similar to the provider hub but the only difference is that this page shows all the consumer side contracts.
-
Consumers that see which providers they have been consuming data from and the transfer details of those contracts.

Asset Analytics Page
- This page shows the analytics information from the consumer side.

Accessing Settings Page
-
The Database Configuration section allows users to test the database of the connector.
-
The Api Test section allows users to test all the APIs dshare is using.
-
Asset Endpoint Tester allows users to see the infromation of assets endpoints.

Other Information
A development version of Dshare is hosted on ICE servers at https://datashare.ds2.icelab.cloud/datashare/
OpenAPI Specification
Open APIs: https://datashare.ds2.icelab.cloud/proxy/api-docs/
Additional Links
N/A
