Skip to content

Commit

Permalink
doc(tutorials): publish the e2e adopter journey tutorial (eclipse-tra…
Browse files Browse the repository at this point in the history
…ctusx#472)

Initial merge for the new tutorial section and the first tutorial "E2E Adopter Journey"
  • Loading branch information
stephanbcbauer authored Nov 28, 2023
1 parent d5c6e0f commit 0d16a0e
Show file tree
Hide file tree
Showing 25 changed files with 2,416 additions and 1 deletion.
59 changes: 59 additions & 0 deletions blog/2023-11-22-release_tutorials.mdx
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).
7 changes: 7 additions & 0 deletions docs/tutorials.md
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.
21 changes: 21 additions & 0 deletions docs/tutorials/e2e/CHANGELOG.md
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.
16 changes: 16 additions & 0 deletions docs/tutorials/e2e/boost/boost.md
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)
136 changes: 136 additions & 0 deletions docs/tutorials/e2e/boost/consumeData.md
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)
Loading

0 comments on commit 0d16a0e

Please sign in to comment.