diff --git a/docs/README.md b/docs/README.md index 4f00bb92..2b4353d1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -27,17 +27,56 @@ A consumer is searching for an endpoint for a Digital Twin. For this he uses the Because now the DTR is deployed decentralized on each Data Provider side. There are some new services to help to find twins. The whole search and the embedding of the now decentralized Digital Twin is shown below: -### decentralized Digital Twin Registry environment +### Architectural Overview- Decentralized Digital Twin Registry environment +```mermaid +graph TD + subgraph Consumer_Environment [Consumer Environment] + Consumer_Application[Consumer Application] --> Consumer_EDC[Consumer EDC] + end + + subgraph Central_Environment [Portal] + Portal_SSI[SSI] + end -![](img/decentralEnviroment.PNG) + subgraph Provider_Environment[Provider Environment] + Provider_EDC --> Decentralized_DTR[Decentralized DTR] + Provider[Provider] --> |create twins| Decentralized_DTR + Keycloak -.->|get token| Provider + Keycloak -.->|get token| Provider_EDC + end -### Architectural Overview -![](img/Architecture_dDTR.PNG) + Consumer_EDC -->|request twins| Provider_EDC + Consumer_EDC --> Central_Environment + Provider_EDC --> Central_Environment +``` ## Asset Administration Shell Domain Model The Asset Administration Shell Registry is an address book for Asset Administration Shell Descriptors. The diagram below, shows the domain model of the Asset Administration Shell Registry (AAS Registry).Only the main fields are shown. +```mermaid +classDiagram + AssetAdministrationShellDescriptor -- SubmodelDescriptor + AssetAdministrationShellDescriptor -- SpecificAssetId + SubmodelDescriptor -- Endpoint + Endpoint -- ProtocolInformation + + class AssetAdministrationShellDescriptor{ + +String id + } -![](img/Model_with_impotant_fields.PNG) + class SubmodelDescriptor{ + +String id + } + class Endpoint{ + -String id + } + class ProtocolInformation{ + +String href + } + class SpecificAssetId{ + +String name + +String value + } +``` The following table shows the synonyms for each of the domain objects above. @@ -209,7 +248,12 @@ To be able to register a DigitalTwin the following prerequisites must be met. #### Register Twins (simplified without token management by IDM) -![](img/POST_Register_Twin_simplified.PNG) +```mermaid +sequenceDiagram + Client->>+Decentralized digital Twin registry: POST /api/v3.0/shell-descriptors + Decentralized digital Twin registry->>+Client: 200 Ok Response success + Note left of Client: Registers the AAS Descriptor by providing
- assetIds to make discovery possible (e.g. VIN)
- Submodel Descriptor Endpoint +``` ### Data Provider @@ -330,9 +374,28 @@ At last both EDCs do the final negotiation and the consumer EDC receives the edr #### Search for Twins (simplified) - -![](img/GET_Endpoint_simplified.PNG) - +```mermaid +sequenceDiagram + participant Service + participant ConsumerEDC as Consumer EDC + participant ProviderEDC as Provider EDC + participant DecentralDigitalTwinRegistry as Decentral Digital Twin Registry + + Service->>+ConsumerEDC: GET EDR Token + ConsumerEDC->+ProviderEDC: EDC Negotiations + ConsumerEDC-->>-Service: EDR Token + Service->>+ProviderEDC: GET lookup/shells/assetIds + ProviderEDC->>+DecentralDigitalTwinRegistry: GET lookup/shells/assetIds + DecentralDigitalTwinRegistry-->>-ProviderEDC: AssetAdministrationShellIds + ProviderEDC-->>-Service: AssetAdministrationShellIds + Service->>+ProviderEDC: GET /shell-descriptors/{aasIdentifier} + ProviderEDC->>+DecentralDigitalTwinRegistry: GET /shell-descriptors/{aasIdentifier} + DecentralDigitalTwinRegistry-->>-ProviderEDC: AssetAdministrationShellDescriptor + ProviderEDC-->>-Service: AssetAdministrationShellDescriptor + Service->>Service: Extract Endpoint + Service->>ProviderEDC: Get Endpoint (from Submodel Descriptor) + ProviderEDC-->>-Service: Endpoint +``` ## 5 Deployment-view For Deployment needed: @@ -423,10 +486,6 @@ Depending on being a Data Provider or a Data Consumer there are different tokens ### Authentication on behalf of a user The AAS Registry can be accessed on behalf of a user. The token has to be obtained via the OpenID Connect flow. The AAS Registry will validate these tokens. - -#### Postman configuration -![](img/image005.png) - *Support contact* tractusx-dev@eclipse.org ### Access control to Digital Twins Based on the BPN (Business Partner Number)/ TenantId diff --git a/docs/img/Architecture_dDTR.PNG b/docs/img/Architecture_dDTR.PNG deleted file mode 100644 index 46a1a929..00000000 Binary files a/docs/img/Architecture_dDTR.PNG and /dev/null differ diff --git a/docs/img/GET_Endpoint_simplified.PNG b/docs/img/GET_Endpoint_simplified.PNG deleted file mode 100644 index 9ba3ffe5..00000000 Binary files a/docs/img/GET_Endpoint_simplified.PNG and /dev/null differ diff --git a/docs/img/Model_with_impotant_fields.PNG b/docs/img/Model_with_impotant_fields.PNG deleted file mode 100644 index aeae114a..00000000 Binary files a/docs/img/Model_with_impotant_fields.PNG and /dev/null differ diff --git a/docs/img/POST_Register_Twin_simplified.PNG b/docs/img/POST_Register_Twin_simplified.PNG deleted file mode 100644 index 8f04a238..00000000 Binary files a/docs/img/POST_Register_Twin_simplified.PNG and /dev/null differ diff --git a/docs/img/image005.png b/docs/img/image005.png deleted file mode 100644 index 1504b6e0..00000000 Binary files a/docs/img/image005.png and /dev/null differ