forked from eclipse-tractusx/eclipse-tractusx.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc(tutorials): publish the e2e adopter journey tutorial (eclipse-tra…
…ctusx#472) Initial merge for the new tutorial section and the first tutorial "E2E Adopter Journey"
- Loading branch information
1 parent
d5c6e0f
commit 0d16a0e
Showing
25 changed files
with
2,416 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
--- | ||
title: Launch of Our New Tutorial Section & First E2E Adopter Journey Tutorial | ||
description: The Eclipse Tractus-X tutorials - Enhancing learning and development within our community | ||
slug: release-tutorials | ||
date: 2023-11-28T09:00 | ||
hide_table_of_contents: false | ||
authors: | ||
- name: Stephan Bauer | ||
title: Platform Domain Manager | ||
url: https://github.com/stephanbcbauer | ||
image_url: https://github.com/stephanbcbauer.png | ||
email: [email protected] | ||
--- | ||
|
||
![eclipse tractus x logo](@site/static/img/TractusX-Tutorials_E2E.png) | ||
|
||
The Tractus-X open source community is pleased to announce the introduction of a new tutorial section, including our inaugural End-to-End (E2E) Adopter Journey Tutorial. | ||
|
||
## Overview of the New Tutorial Section | ||
|
||
This new section aims to provide structured and detailed educational content for our community members. The initiative reflects our commitment to supporting the continuous learning and development of our users and contributors. | ||
|
||
<!--truncate--> | ||
|
||
### Details of the First E2E Adopter Journey Tutorial | ||
|
||
This tutorial is built for employees of the IT department who operates the IT stack of an adopter (data provider/consumer). It shows how to operate the various Tractus-X components in combination with each other. | ||
It also explains the basic connection with the core services (e.g. KeyCloak and MIW), as provided by an operating company. | ||
|
||
![Five steps to gain value](@site/static/img/five_steps_to_gain_value.drawio.svg) | ||
|
||
:::info | ||
|
||
The red marked steps are already included in the tutorial. The other steps will be added in the future. | ||
|
||
::: | ||
|
||
- **Features:** It includes a practical component where users can set up and interact with a locally deployed dataspace. | ||
- **Target Audience:** The tutorial caters to both new users seeking an introduction to Tractus-X and existing members looking to deepen their understanding. | ||
|
||
### Feedback and Discussion | ||
|
||
We encourage users to provide feedback after completing the tutorial. Constructive comments and suggestions can be submitted via our [discussions page](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/discussions). This feedback is essential for us to improve and tailor future educational content to the needs of our community. | ||
|
||
:::note | ||
|
||
Please dont forget to add the label `documentation` to your discussion. | ||
|
||
::: | ||
|
||
### Accessing the Tutorial | ||
|
||
The E2E Adopter Journey Tutorial is now available and can be accessed through the [Tractus-X tutorial section](https://eclipse-tractusx.github.io/docs/tutorials). We invite our community members to engage with this new resource and enhance their understanding of the Tractus-X ecosystem. | ||
|
||
### Future Developments | ||
|
||
The launch of this tutorial marks the beginning of a series of educational resources we plan to release. Stay informed about future updates and additions to our tutorial section. Or even better, provide your own ideas and contributions. | ||
|
||
For further information and to access the tutorial, please visit the [Tractus-X tutorial section](https://eclipse-tractusx.github.io/docs/tutorials). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
title: Tutorials | ||
--- | ||
|
||
Tractus-X tutorials are descriptions and explanations on how to **run** the components in the Catena-X network. They are targeted towards software engineers that are getting started with Catena-x and want to familiarize themselves with the IT stack. | ||
|
||
More information about the content and type of each tutorial can be found inside the respective tutorial. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Changelog | ||
|
||
## E2E Adopter Journey Tutorial | ||
|
||
All notable changes to this tutorial will be documented in this file. | ||
|
||
## [0.1.0] - 2023-11-28 | ||
|
||
### Added | ||
|
||
- Documentation initially created | ||
|
||
## Notice | ||
|
||
This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). | ||
|
||
- SPDX-License-Identifier: CC-BY-4.0 | ||
- SPDX-FileCopyrightText: 2023 sovity GmbH | ||
- SPDX-FileCopyrightText: 2023 SAP SE | ||
- SPDX-FileCopyrightText: 2023 msg systems AG | ||
- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
title: "Chapter 3: Boost" | ||
sidebar_position: 5 | ||
--- | ||
|
||
In the `Boost Chapter`, you will configure and register your components so that they are discoverable in your local data space deployment. You will then take on the role of a data provider, build your first data pipeline, add your first `assets`, `policies` and create a `contract offer` in the EDC. As a data consumer you will discover the data that you have previously created and initiate a data transfer. After completing this step, you have all the foundational knowledge you need to get started with active participation in a use-case. | ||
|
||
## Notice | ||
|
||
This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). | ||
|
||
- SPDX-License-Identifier: CC-BY-4.0 | ||
- SPDX-FileCopyrightText: 2023 sovity GmbH | ||
- SPDX-FileCopyrightText: 2023 SAP SE | ||
- SPDX-FileCopyrightText: 2023 msg systems AG | ||
- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
--- | ||
title: Consume data | ||
sidebar_position: 3 | ||
--- | ||
|
||
This step continues the journey of our data consumer Alice. After the data provider Bob has successfully provided his data as a contract definition in his catalog. Alice will now consume the data. | ||
|
||
We will use plain CLI tools (`curl`) for this, but feel free to use graphical tools such as Postman or Insomnia. | ||
|
||
## Request the catalog | ||
|
||
To see Bob's data offerings, Alice must request access to his catalog. The catalog shows all the assets that Alice can consume from Bob. | ||
|
||
So Alice requests Bob's catalog using the following `curl` commands: | ||
|
||
```shell | ||
curl --location 'http://localhost/alice/management/v2/catalog/request' \ | ||
--header 'Content-Type: application/json' \ | ||
--header 'X-Api-Key: password' \ | ||
--data-raw '{ | ||
"@context": {}, | ||
"protocol": "dataspace-protocol-http", | ||
"counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", | ||
"querySpec": { | ||
"offset": 0, | ||
"limit": 100 | ||
} | ||
}' | ||
``` | ||
|
||
The response shows all available data offerings in Bob's catalog. Bob has already told Alice that he gave the Asset the ID 3, and added a simple description to make it easier for Alice to identify. | ||
|
||
Alice finds the Asset with the ID 3 and the description "Product EDC Demo Asset 3" in the catalog. Now that she is sure which Asset she wants to consume, she wants to start the data transfer. | ||
|
||
## Negotiate a contract | ||
|
||
But before she can transfer the data, she must negotiate the contract with Bob. To do this, she uses the following `curl` command: | ||
|
||
```shell | ||
curl --location 'http://localhost/alice/management/v2/contractnegotiations' \ | ||
--header 'Content-Type: application/json' \ | ||
--header 'X-Api-Key: password' \ | ||
--data-raw '{ | ||
"@context": { | ||
"odrl": "http://www.w3.org/ns/odrl/2/" | ||
}, | ||
"@type": "NegotiationInitiateRequestDto", | ||
"connectorAddress": "http://alice-controlplane:8084/api/v1/dsp", | ||
"protocol": "dataspace-protocol-http", | ||
"connectorId": "BPNL000000000001", | ||
"providerId": "BPNL000000000001", | ||
"offer": { | ||
"offerId": "MQ==:MQ==:ZDM4Nzk3NmUtZjA0Ny00ZmNjLWFhNWItYjQwYmVkMDBhZGYy", | ||
"assetId": "3", | ||
"policy": { | ||
"@type": "odrl:Set", | ||
"odrl:permission": { | ||
"odrl:target": "3", | ||
"odrl:action": { | ||
"odrl:type": "USE" | ||
}, | ||
"odrl:constraint": { | ||
"odrl:or": { | ||
"odrl:leftOperand": "BusinessPartnerNumber", | ||
"odrl:operator": { | ||
"@id": "odrl:eq" | ||
}, | ||
"odrl:rightOperand": "BPNL000000000002" | ||
} | ||
} | ||
}, | ||
"odrl:prohibition": [], | ||
"odrl:obligation": [], | ||
"odrl:target": "3" | ||
} | ||
} | ||
}' | ||
``` | ||
|
||
Alice now has a contract with Bob and can begin transferring the asset's data. | ||
|
||
## Transfer the data | ||
|
||
Alice wants to send the data to her backend application ("<http://backend:8080>"). So she uses the following command to direct the data from Asset 3 to her desired data sink. | ||
|
||
:::tip | ||
|
||
For testing purposes, you can replace `backend:8080` with your own test API or use [webhook. site](https://webhook.site/) as your backend system. If you are using webhook.site, please make sure that you use "Your unique URL" and that you do not transfer any sensitive information to webhook. | ||
|
||
::: | ||
|
||
```shell | ||
curl --location 'http://localhost/alice/management/v2/transferprocesses' \ | ||
--header 'Content-Type: application/json' \ | ||
--header 'X-Api-Key: password' \ | ||
--data-raw '{ | ||
"@context": { | ||
"odrl": "http://www.w3.org/ns/odrl/2/" | ||
}, | ||
"assetId": "3", | ||
"connectorAddress": "http://alice-controlplane:8084/api/v1/dsp", | ||
"connectorId": "BPNL000000000001", | ||
"contractId": "3", | ||
"dataDestination": { | ||
"type": "HttpProxy" | ||
}, | ||
"privateProperties": { | ||
"receiverHttpEndpoint": "http://backend:8080" | ||
}, | ||
"protocol": "dataspace-protocol-http", | ||
"transferType": { | ||
"contentType": "application/octet-stream", | ||
"isFinite": true | ||
} | ||
}' | ||
``` | ||
|
||
Just to make sure everything worked, Alice uses another `curl` command to check if the transfer was successful. | ||
|
||
```shell | ||
curl --location --request POST 'http://localhost/alice/management/v2/transferprocesses/request' \ | ||
--header 'X-Api-Key: password' \ | ||
--data '' | ||
``` | ||
|
||
The response shows her that she has a "FINALIZED" transfer with the type "CONSUMER" of the asset with the ID "3". This means that Alice has now successfully transferred Bob's data to her desired location via the EDC! | ||
|
||
## Notice | ||
|
||
This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). | ||
|
||
- SPDX-License-Identifier: CC-BY-4.0 | ||
- SPDX-FileCopyrightText: 2023 sovity GmbH | ||
- SPDX-FileCopyrightText: 2023 SAP SE | ||
- SPDX-FileCopyrightText: 2023 msg systems AG | ||
- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) |
Oops, something went wrong.