Exemplary Discovery of AAS Objects with LinkSets and ID Link#536
Exemplary Discovery of AAS Objects with LinkSets and ID Link#536sebbader-sap wants to merge 1 commit intoIDTA-01002-3-2_Workingfrom
Conversation
|
|
||
|
|
||
| == Direct Discovery of AAS Objects based on ID Link and LinkSets | ||
|
|
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| This section describes how a client can discover AAS and related resources by using an ID Link as the globalAssetId combined with RFC 9264 LinkSets. The ID Link is a resolvable HTTP(S) URL representing the asset identity (globalAssetId). The landing endpoint for the ID Link returns a LinkSet (media type application/linkset+json) that contains typed relations to AAS, Submodels, repositories, registries, and Digital Product Passport resources. | ||
|
|
||
| Concept: | ||
| - The globalAssetId is an ID Link, e.g., https://id.example.com/my-asset-id. |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
|
|
||
| [source,json] | ||
| ---- | ||
| { |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| ], | ||
| "aas-service-endpoints": [ | ||
| { | ||
| "href": "https://service.example.com/aas/aas-service-endpoints", |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| "aas-service-endpoints": [ | ||
| { | ||
| "href": "https://service.example.com/aas/aas-service-endpoints", | ||
| "type": "application/linkset+json", |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| - Server may also include a Link header with rel="alternate" and type="application/linkset+json" to advertise discovery per RFC 8288. | ||
|
|
||
| [plantuml, seq-idlink-linkset, svg] | ||
| .... |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| actor Client | ||
| participant IDProvider as "ID Link Landing" | ||
| participant AASService as "AAS / Repo" | ||
|
|
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| participant IDProvider as "ID Link Landing" | ||
| participant AASService as "AAS / Repo" | ||
|
|
||
| Client -> IDProvider: GET /my-asset-id\nAccept: application/linkset+json |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| IDProvider --> Client: 200 OK\nContent-Type: application/linkset+json\n{ 'aas', 'aas-service-endpoints', 'dpp' } | ||
|
|
||
| Client -> AASService: GET /aas/shells/<encoded-globalAssetId>\nAccept: application/json | ||
| AASService --> Client: 200 OK\n{ AssetAdministrationShell ... } |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| .... | ||
|
|
||
| ==== | ||
| // Guidance |
Check warning
Code scanning / QDJVMC
Typo Warning documentation
| "aas": [ | ||
| { | ||
| "href": "https://service.example.com/aas/shells/aHR0cHM6Ly9pZC5leGFtcGxlLmNvbS9teS1hc3NldC1pZA", | ||
| "type": "application/json", |
There was a problem hiding this comment.
probably application/aas+json ?
| { | ||
| "href": "https://service.example.com/dpp/dpps/https%3A//id.example.com/my-asset-id", | ||
| "type": "application/json", | ||
| "dppVersion": ["1.0"], |
There was a problem hiding this comment.
What is the DPP version?
| Client -> IDProvider: GET /my-asset-id\nAccept: application/linkset+json | ||
| IDProvider --> Client: 200 OK\nContent-Type: application/linkset+json\n{ 'aas', 'aas-service-endpoints', 'dpp' } | ||
|
|
||
| Client -> AASService: GET /aas/shells/<encoded-globalAssetId>\nAccept: application/json |
There was a problem hiding this comment.
I assume the globalAssetId is identical to "my-asset-id" from step one, only encoded. Otherwise, how is the mapping from my-asset-id to globalAssetId done?
Closes #535