Skip to content

Commit c0fc6a5

Browse files
authored
docs: data plane signaling blog article (#144)
* docs: data plane signaling blog article * PR remarks * pr remarks
1 parent 8bc2869 commit c0fc6a5

File tree

6 files changed

+85
-0
lines changed

6 files changed

+85
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: Data Plane Signaling
3+
date: 2026-01-19
4+
description: >
5+
What are our reasons to adopt the Data Plane Signaling protocol and to deprecate the EDC Data Plane Framework
6+
---
7+
8+
Data Plane Signaling is a specification for interoperable communication between Dataspace Protocol Control Planes and
9+
Data Planes ([github project](https://github.com/eclipse-dataplane-signaling)).
10+
11+
We decided to fully adopt this specification and to deprecate the current approach. This will involve deprecating the
12+
current implementation of the communication layer between the Control Plane and Data Plane in addition to the EDC Data
13+
Plane Framework.
14+
15+
## Rationale
16+
17+
The Data Plane Signaling specification addresses key architectural ambiguities by clearly delineating the roles of the
18+
Control Plane (orchestration and protocol-level authentication) and the Data Plane (actual data transfer and flow-specific
19+
authentication). This separation resolves design confusion, establishes symmetry between push and pull patterns, and,
20+
most importantly, creates a standard interface. This allows any application to become a compliant Data Plane,
21+
fostering innovation and moving the industry toward a future where data sharing is a seamless, integrated layer within
22+
sovereign applications, rather than a connector-centric task.
23+
24+
## Approach
25+
26+
The implementation of the Data Plane Signaling protocol in the EDC Control Plane is already progressing
27+
([issue](https://github.com/eclipse-edc/Connector/issues/5323)), we expect to have a fully compliant version as soon as
28+
a stable version of the Data Plane Signaling specification is released.
29+
30+
At that point, we will deprecate the EDC Data Plane Framework in its entirety, and after 2 releases, it will be eligible
31+
for removal from the codebase. If you are an EDC adopter, we recommend to start prototyping your Data Plane(s)
32+
following the current specification. The dataplane-signaling team is already providing SDKs library in different
33+
languages ([Go](https://github.com/eclipse-dataplane-core/dataplane-sdk-go),
34+
[Rust](https://github.com/eclipse-dataplane-core/dataplane-sdk-rust),
35+
[Java](https://github.com/[eclipse-dataplane-core/dataplane-sdk-java](https://github.com/eclipse-dataplane-core/dataplane-sdk-java)),
36+
[.NET](https://github.com/[eclipse-dataplane-core/dataplane-sdk-net](https://github.com/eclipse-dataplane-core/dataplane-sdk-net)))
37+
to help with this transition.
38+
39+
Let's see from the technical point of view what are the advantages brought by this approach.
40+
41+
### How It Works Now
42+
43+
These diagrams are showing the current state-of-the-art; some details have been intentionally left out to focus on the
44+
scope of Control Plane and Data Plane interaction.
45+
46+
Two issues become apparent just by looking at the diagrams:
47+
- **Vertical grouping**: The Data Plane is often considered part of the connector component together with the control
48+
plane. While this may not necessarily be an issue, it creates confusion for those building dataspace applications
49+
regarding the correct boundaries and leads to poor design.
50+
- **Lack of symmetry**: The pull and push cases are handled quite differently on the consumer side, and the role of the
51+
consumer’s Data Plane/client is not as clear as it should be.
52+
53+
![legacy-pull.png](legacy-pull.png)
54+
55+
![legacy-push.png](legacy-push.png)
56+
57+
### How It Will Work with Data Plane Signaling
58+
59+
Just a glance at the diagrams shows that a strong focus has been placed on separating the dataspace layer from the
60+
“use case/application” layer.
61+
This is not to say they were not separated before, but this specification formalizes it: the Control Plane and Data
62+
Plane are two distinct architectural components serving different purposes.
63+
While the Control Plane is responsible for wire protocol (DSP) communication and dataspace authentication, the Data
64+
Plane handles the actual transfer and receipt of data, managing authentication for the chosen data flow protocol.
65+
66+
With this specification, any application meant to share data in a dataspace can implement the Data Plane Signaling
67+
specification and to become a Data Plane. This is the intended path forward: no more direct user-facing interaction
68+
with the connector, but rather an application layer that relies on the dataspace to provide sovereign data sharing.
69+
70+
![new-pull.png](new-pull.png)
71+
72+
Another interesting concept is that the data address is not managed by the Control Plane anymore: its creation and use
73+
happens completely in the Data Plane, while the control-plane just takes care to pass it to the counter-part through DSP.
74+
75+
![new-push.png](new-push.png)
76+
77+
## References
78+
79+
- [Data Plane Signaling project](https://github.com/eclipse-dataplane-signaling)
80+
- [Data Plane SDKs project](https://github.com/eclipse-dataplane-core)
124 KB
Loading
150 KB
Loading
134 KB
Loading
126 KB
Loading

content/en/blog/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Blog
3+
menu: { main: { weight: 30 } }
4+
---
5+

0 commit comments

Comments
 (0)