Skip to content

Exemplary Discovery of AAS Objects with LinkSets and ID Link#536

Open
sebbader-sap wants to merge 5 commits intoIDTA-01002-3-2_workingfrom
SeBa/535-id-link
Open

Exemplary Discovery of AAS Objects with LinkSets and ID Link#536
sebbader-sap wants to merge 5 commits intoIDTA-01002-3-2_workingfrom
SeBa/535-id-link

Conversation

@sebbader-sap
Copy link
Copy Markdown
Contributor

Closes #535

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Feb 15, 2026

CLA assistant check
All committers have signed the CLA.

@sebbader-sap sebbader-sap changed the base branch from main to IDTA-01002-3-2_working February 15, 2026 15:12
@sebbader-sap sebbader-sap changed the base branch from IDTA-01002-3-2_working to IDTA-01002-3-2_Working February 15, 2026 15:13
- 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

Typo: In word 'startuml'
actor Client
participant IDProvider as "ID Link Landing"
participant AASService as "AAS / Repo"

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
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

Typo: In word 'linkset'
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

Typo: In word 'enduml'
....

====
// Guidance

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
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
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's an option, I would do it like that. However, and that's the beauty of the approach, the data provider / asset manufacturer can also implement it completely different. As long as the "ID Link Landing" service is configured accordingly, the client does not need to assume (or concatenate) anything anymore: It simply follows the href in the response.

@sebbader-sap sebbader-sap marked this pull request as ready for review March 29, 2026 16:19
@sebbader-sap sebbader-sap changed the base branch from IDTA-01002-3-2_Working_DO_NOT_USE to IDTA-01002-3-2_working March 29, 2026 16:19
],
"dpp": [
{
"href": "https://service.example.com/dpp/dpps/https%3A//id.example.com/my-asset-id",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be the endpoint of the API and not of a single DPP, so only https://service.example.com/dpp/dpps/

"anchor": "https://id.example.com/my-asset-id",
"aas": [
{
"href": "https://service.example.com/aas/shells/aHR0cHM6Ly9pZC5leGFtcGxlLmNvbS9teS1hc3NldC1pZA",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why for a single AAS, should be the endpoint of the API, no? same finding for DPP, see below

"id": "another-oauth2",
"type": "OAuth2",
"base_url": "https://auth.example.com/realms/aas",
"flows": ["client-credential-flow"],

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'onemore'

note right
Select relation 'aas' and follow href
with 'AAS Service Interface'.

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'Superpathes'
@sebbader-sap
Copy link
Copy Markdown
Contributor Author

sebbader-sap commented Apr 2, 2026

  • Add dpp-service-endpoints as a proposal as well.

@sebbader-sap sebbader-sap requested a review from BirgitBoss April 4, 2026 11:11
@sebbader-sap
Copy link
Copy Markdown
Contributor Author

PR is ready for review / merging from my point of view.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explain ID Link and AAS Discovery

5 participants