From bfcab942ce32a1de7d2c93eb5c7e0523f24fcafd Mon Sep 17 00:00:00 2001 From: sply88 <43181038+sply88@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:21:15 +0100 Subject: [PATCH] Docs/final content update (#308) * Update api.md - MinIO router was dropped and is removed from description - Recently added routers are included in description * Delete fc.png and federatedcatalog.md and Update mkdocs.yml EDC and FC approaches have been dropped and are removed from the docs. * Update gaiax.md Refer to final project report due to time constraints --- docs/de/docs/tech/api.md | 52 +++++-- docs/de/docs/tech/fc.png | Bin 98406 -> 0 bytes docs/de/docs/tech/federatedcatalog.md | 208 -------------------------- docs/de/docs/tech/gaiax.md | 2 +- docs/de/mkdocs.yml | 1 - 5 files changed, 39 insertions(+), 224 deletions(-) delete mode 100644 docs/de/docs/tech/fc.png delete mode 100644 docs/de/docs/tech/federatedcatalog.md diff --git a/docs/de/docs/tech/api.md b/docs/de/docs/tech/api.md index bc72ee6c..b648ac42 100644 --- a/docs/de/docs/tech/api.md +++ b/docs/de/docs/tech/api.md @@ -10,27 +10,33 @@ Die API hat mehrere Teilbereiche (Router) -| Bereich | Pfad | Beschreibung | Authentifizierung | -|-------------|------------------|----------------------------------------------------------------------------------------------|-------------------| -| Diagnostics | `/diagnostics` | Zugriffspunkte für das Diagnosebackend. | API Key | -| Health | `/health` | Funktionskontrolle | keine | -| MinIO | `/minio` | *WIP* | API Key | -| Shared | `/shared` | Lesezugriff auf geteilte Ressourcen innerhalb einer Betreiberfirma. | Keycloak | -| Workshops | `/{workshop_id}` | Verwaltung eigener Daten und Diagnosen durch Endnutzer Anwendungen in einzelnen Werkstätten. | Keycloak | -| Knowledge | `/knowledge` | Vereinfachter Zugriff auf Informationen, die im [Wissensgraph](./ai.md) gespeichert sind. | Keycloak | - +| Bereich | Pfad | Beschreibung | Authentifizierung | +|----------------------------|------------------|----------------------------------------------------------------------------------------------|-------------------| +| Diagnostics | `/diagnostics` | Zugriffspunkte für das Diagnosebackend. | API Key | +| Health | `/health` | Funktionskontrolle | keine | +| Shared | `/shared` | Lesezugriff auf geteilte Ressourcen innerhalb einer Betreiberfirma. | Keycloak | +| Workshops | `/{workshop_id}` | Verwaltung eigener Daten und Diagnosen durch Endnutzer Anwendungen in einzelnen Werkstätten. | Keycloak | +| Knowledge | `/knowledge` | Vereinfachter Zugriff auf Informationen, die im [Wissensgraph](./ai.md) gespeichert sind. | Keycloak | +| Customers | `/customers` | Verwaltung von Kundendaten. | Keycloak | +| Dataspace Assets | `/assets/manage` | Verwaltung von Assets die im Datenraum angeboten werden | Keycloak | +| Public Dataspace Resources | `/assets/public` | Bereitstellung von Asset Datensätzen im Datenraum | API Key | ## Details -Die oben beschriebenen Router können grob in zwei Gruppen unterteilt werden. +Die oben beschriebenen Router können in drei Gruppen unterteilt werden. -Die erste Gruppe bilden die Bereiche Diagnostics, Health und MinIO. Alle in +Die erste Gruppe bilden die Bereiche Diagnostics und Health. Alle in diesen Routern bereitgestellten Endpunkte sind für die M2M Kommunikation zwischen verschiedenen Services "im Hintergrund" vorgesehen. -Die zweite Gruppen bilden die Bereiche Shared, Workshops und Knowledge welche -für die Kommunikation mit (menschlichen) Endnutzern vorgesehen sind. +Die zweite Gruppen bilden die Bereiche Shared, Workshops, Knowledge, Customers +und Dataspace Assets, welche für die Kommunikation mit (menschlichen) Endnutzern +innerhalb einer Betreiberfirma vorgesehen sind. + +Die dritte Gruppe beinhaltet den Bereich Public Dataspace Assets. Die Endpunkte +in dieser Gruppe werden von Datenraumservices außerhalb der eigenen Betreiberfirma +angesprochen, um bereitgestellte Daten herunterzuladen. ### Workshop Router @@ -63,4 +69,22 @@ Die unter `/knowledge` bereitgestellten Endpunkte ermöglichen den Zugriff auf ausgewählte Fakten zu im Wissensgraph beinhalteten Informationen, wie z.B. die Namen der gespeicherten Fahrzeugbauteile. Der Zugriff ist mit einem von Keycloak ausgestellten Token möglich, wobei sowohl -die Rollen `workshop` als auch `shared` autorisiert sind. \ No newline at end of file +die Rollen `workshop` als auch `shared` autorisiert sind. + +### Customers Router + +Über die unter `/customers` bereitgestellten Endpunkte können Kundendaten +verwaltet werden. +Der Zugriff ist mit einem von Keycloak ausgestellten Token möglich. Dem +Nutzeraccount muss dabei die Rolle `customers` zugewiesen sein. + +### Dataspace Assets und Public Dataspace Resources + +Über die unter `/assets/manage` bereitgestellten Endpunkte können ausgewählte +Teile der eigenen Daten zu Assets "verpackt" werden. Diese Assets können dann +publiziert, d.h. im Datenraum angeboten werden. +Der Zugriff ist mit einem von Keycloak ausgestellten Token möglich. Dem +Nutzeraccount muss dabei die Rolle `assets` zugewiesen sein. +Wenn ein Asset publiziert ist, dann kann es über einen (bei der Publikation +automatisch generierten Downloadlink) im Bereich `/assets/public` heruntergeladen +werde. \ No newline at end of file diff --git a/docs/de/docs/tech/fc.png b/docs/de/docs/tech/fc.png deleted file mode 100644 index 2e51cf8a4c0b3928c3f6ff444cdfc70a7851a1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98406 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 diff --git a/docs/de/docs/tech/federatedcatalog.md b/docs/de/docs/tech/federatedcatalog.md deleted file mode 100644 index 9311c9f0..00000000 --- a/docs/de/docs/tech/federatedcatalog.md +++ /dev/null @@ -1,208 +0,0 @@ -# Federated Catalog - -Der Federated Catalog (FC) entspricht einer Liste sämtlicher Teilnehmer eines Datenraumes mitsamt ihrer angebotenen Services und Assets. Die FC-Implementierung des AW4.0-EDC -sieht vor, dass jeder Teilnehmer im Datenraum einen eigenen FC enthält, dieser also dezentral organisiert ist. In einem Datenraum mit ``n`` Teilnehmern gibt es also -``n`` FCs. Das Gegenstück zu diesem Konzept wäre ein zentral-organisierter FC, ``n`` Teilnehmer greifen also auf ``1`` FC zu. - -![img_1.png](fc.png) - -Der FederatedCatalogApiController der FC-Extension liefert drei weitere Endpunkte zu den bereits vorhandenen. Die Beispiele sind aus Sicht eines hypothetischen Datenraumteilnehmers "LMIS" beschrieben: - -## /federatedcatalog - -Dieser Endpunkt gibt die zuvor beschriebene Liste sämtlicher Datenraumteilnehmer mitsamt ihrer angebotenen Services und Assets zurück. Der EDC erwartet hierbei eine explizite Query im JSON-Body. - -Beispiel: - -```` -POST http:///management/federatedcatalog/ -```` -mit Body -```` -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/" - }, - "querySpec": { - "offset": 0, - "limit": 50, - "sortOrder": "DESC", - "sortField": "fieldName", - "filterExpression": [] - } -} -```` -Unmittelbar nach dem Start des EDC ist der FC leer, der Post-Request liefert also eine leere Liste zurück. -## /insert - -Mithilfe dieses Endpunkts könnten erste beziehungsweise weitere Datenraumteilnehmer in dem jeweils eigenen FC registriert werden. - -Beispiel: - -Ein neuer Datenraumteilnehmer "HSOS" ist im Besitz des EDC_2, der Datenraumteilnehmer "LMIS" mit EDC_1 möchte diesen abfragen. - - -```` -POST http:///management/federatedcatalog/insert -```` -mit Body - -```` -{ - "name": "HSOS", - "url": "http://:8282/protocol", - "supportedProtocols": [ - "dataspace-protocol-http" - ] -} -```` - -"LMIS" kann nun seinen eigenen /federatedcatalog-Endpunkt mit der im vorherigen Beispiel gezeigten Query ansprechen und erhält den folgenden Eintrag: - -```` -[ - { - "@id": "e3f5436b-ee50-4ea9-ad7d-2cc46f164105", - "@type": "dcat:Catalog", - "dcat:dataset": [], - "dcat:service": { - "@id": "135543b0-2aa1-49e8-9079-bd307020fea0", - "@type": "dcat:DataService", - "dct:terms": "connector", - "dct:endpointUrl": "http://:8282/protocol" - }, - "edc:originator": "http://:8282/protocol", - "edc:participantId": "provider", - "@context": { - "dct": "https://purl.org/dc/terms/", - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "dcat": "https://www.w3.org/ns/dcat/", - "odrl": "http://www.w3.org/ns/odrl/2/", - "dspace": "https://w3id.org/dspace/v0.8/" - } - } -] -```` - -Falls "HSOS" zusätzlich ein Asset mit ID "Messergebnis" bei sich registriert, erweitert sich der Eintrag zu: - -```` -[ - { - "@id": "3d2e3930-7454-4974-82ea-8f8f2e0dc665", - "@type": "dcat:Catalog", - "dcat:dataset": { - "@id": "Messergebnis", - "@type": "dcat:Dataset", - "odrl:hasPolicy": { - "@id": "MQ==:TWVzc2VyZ2Vibmlz:MjBhZGM5MGMtNTdjYi00MzlmLWE3ZWMtZjlmMWQ4NzhkMTQ3", - "@type": "odrl:Set", - "odrl:permission": [], - "odrl:prohibition": [], - "odrl:obligation": [], - "odrl:target": "Messergebnis" - }, - "dcat:distribution": [ - { - "@type": "dcat:Distribution", - "dct:format": { - "@id": "HttpProxy" - }, - "dcat:accessService": "135543b0-2aa1-49e8-9079-bd307020fea0" - }, - { - "@type": "dcat:Distribution", - "dct:format": { - "@id": "HttpData" - }, - "dcat:accessService": "135543b0-2aa1-49e8-9079-bd307020fea0" - } - ], - "edc:name": "product description", - "edc:id": "Messergebnis", - "edc:contenttype": "application/json" - }, - "dcat:service": { - "@id": "135543b0-2aa1-49e8-9079-bd307020fea0", - "@type": "dcat:DataService", - "dct:terms": "connector", - "dct:endpointUrl": "http://:8282/protocol" - }, - "edc:originator": "http://:8282/protocol", - "edc:participantId": "provider", - "@context": { - "dct": "https://purl.org/dc/terms/", - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "dcat": "https://www.w3.org/ns/dcat/", - "odrl": "http://www.w3.org/ns/odrl/2/", - "dspace": "https://w3id.org/dspace/v0.8/" - } - } -] -```` -Beachte, dass mit der Registrierung eines ersten Assets durch "HSOS" auch Informationen über dessen unterstützte Dataplanes bezüglich eben jenes Assets im FC auftauchen. Hat "HSOS" keine Dataplanes bei sich registriert, wirft der "LMIS"-EDC nach Aufruf des Endpunkts eine Fehlermeldung, -## /participants - -Dieser Endpunkt liefert eine Liste aller Datenraumteilnehmer gemäß der Attribute Name, Connector-Url und Protokoll-Spezifikation zurück, die beim Registrieren gesetzt worden sind. - -Beispiel: - -```` -GET http:///management/federatedcatalog/participants -```` -mit den Datenraumteilnehmern "HSOS" und "THGA": - -```` -[ - { - "name": "HSOS", - "url": "http://:8282/protocol", - "supportedProtocols": [ - "dataspace-protocol-http" - ] - }, - { - "name": "THGA", - "url": "http://:8282/protocol", - "supportedProtocols": [ - "dataspace-protocol-http" - ] - } -] -```` - -## Konfigurationsmöglichkeiten - -Es gibt insgesamt drei Eigenschaften, die in der properties-Datei des EDC bezüglich des FC gesetzt werden können: - -*edc.catalog.cache.execution.delay.seconds* - -Anzahl an Sekunden, bis der EDC initial den ersten Abfrage-Vorgang startet. - -Beispiel: - -```` -edc.catalog.cache.execution.delay.seconds=10 -```` - -bedeutet, dass der FC das erste Mal 10 Sekunden nach Start des EDC aktualisiert wird. - -*edc.catalog.cache.execution.period.seconds* - -Häufigkeit des Abfrage-Prozesses in Sekunden. - -Beispiel: -```` -edc.catalog.cache.execution.period.seconds=5 -```` -bedeutet, dass sich der FC alle 5 Sekunden aktualisiert (nach dem initalen Abfrage-Vorgang, s. vorheriger Absatz). - -*edc.catalog.cache.partition.num.crawlers* - -Anzahl an ``Crawler``-Objekten, die die sogenannten "Work Items" (also das Tripel aus Name, Connector-Url und supportedProtocols-Liste) verarbeiten. - -Beispiel: -```` -edc.catalog.cache.partition.num.crawlers=2 -```` -bedeutet, dass im Falle von 10 Work Items jeder ``Crawler`` 5 Work Items abfragt. diff --git a/docs/de/docs/tech/gaiax.md b/docs/de/docs/tech/gaiax.md index 2cbb9fb9..e253ae2a 100644 --- a/docs/de/docs/tech/gaiax.md +++ b/docs/de/docs/tech/gaiax.md @@ -1,3 +1,3 @@ # Gaia-X -*Wie ist die Teilnahme am AW4.0 Datenraum technisch umgesetzt?* \ No newline at end of file +*WIP (siehe Abschlussbericht)* \ No newline at end of file diff --git a/docs/de/mkdocs.yml b/docs/de/mkdocs.yml index 8c16340a..b289a01b 100644 --- a/docs/de/mkdocs.yml +++ b/docs/de/mkdocs.yml @@ -11,7 +11,6 @@ nav: - Gaia-X: 'tech/gaiax.md' - KI: 'tech/ai.md' - Integration heterogener Messgeräte: 'tech/device_integration.md' - - Federated Catalog: 'tech/federatedcatalog.md' - Download: 'download/aw40-docs.pdf' theme: name: mkdocs