admin-shell-io / questions-and-answers

This repository aims for providing answers to often asked questions in the context of the Asset Administration Shell.
https://admin-shell-io.github.io/questions-and-answers/
Creative Commons Attribution 4.0 International
24 stars 6 forks source link

How to know compliance/profile of an AAS Server Interface #71

Closed egekorkan closed 2 years ago

egekorkan commented 2 years ago

The specification of the AAS Server interface mentions:

Another deployment example is the deployment of many AAS in an AAS repository. In such case the “Asset Administration Shell Repository Interface” may allow to create and manage multiple AAS in the repository. The separate interfaces of the HTTP/REST API allow many different ways to support such different deployments. A later version of this specification will define related profiles.

From this, I understand that not all AAS Servers, even with the REST API, MUST implement the different resources and their operations. The fact that an HTTP GET request to https://admin-shell-io.com/51411/aas/submodels and https://admin-shell-io.com/51411/shells return Route Not Found For GET /shells and 404 sort of backs my understanding.

My main question is: Once someone gives me an AAS Server REST endpoint, how can I know what endpoints it supports?

Side question: Is there any implementation of AAS Server that supports submodels?

StenGruener commented 2 years ago

Aasxserver is not (yet) compliant with the spec. Consider it a proprietary implementation.


Von: Ege Korkan @.> Gesendet: Friday, February 25, 2022 6:27:48 PM An: admin-shell-io/questions-and-answers @.> Cc: Subscribed @.***> Betreff: [admin-shell-io/questions-and-answers] How to know compliance/profile of an AAS Server Interface (Issue #71)

This email originated from outside of your organization. Please do not click on links or open attachments unless you recognize the sender and know the content is safe.

The specificationhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.plattform-i40.de%2FIP%2FRedaktion%2FEN%2FDownloads%2FPublikation%2FDetails_of_the_Asset_Administration_Shell_Part2_V1.html&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zqm1SbJ8iunVDLtrcNGtugeJyzV9w94AZdZANxy0xWY%3D&reserved=0 of the AAS Server interface mentions:

Another deployment example is the deployment of many AAS in an AAS repository. In such case the “Asset Administration Shell Repository Interface” may allow to create and manage multiple AAS in the repository. The separate interfaces of the HTTP/REST API allow many different ways to support such different deployments. A later version of this specification will define related profiles.

From this, I understand that not all AAS Servers, even with the REST API, MUST implement the different resources and their operations. The fact that an HTTP GET request to https://admin-shell-io.com/51411/aas/submodelshttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fadmin-shell-io.com%2F51411%2Faas%2Fsubmodels&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=m9WWcqQVZ7541TksswAT8VFwwnpqhwxSymNwXbrPYL0%3D&reserved=0 and https://admin-shell-io.com/51411/shellshttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fadmin-shell-io.com%2F51411%2Fshells&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=b8LCG7RQt2eC7c0s75qyqPzafnTViWE5JiBaQsgEdIw%3D&reserved=0 return Route Not Found For GET /shells and 404 sort of backs my understanding.

My main question is: Once someone gives me an AAS Server REST endpoint, how can I know what endpoints it supports?

Side question: Is there any implementation of AAS Server that supports submodels?

— Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fadmin-shell-io%2Fquestions-and-answers%2Fissues%2F71&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=DE252oyil3P8M35dfZAhNqLabs4ze1UhKAKoHJSA%2FVo%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQUNYPNZTFXRQTQAXLNILNTU463ZJANCNFSM5PK25WBA&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=GWpsaz61wEFZLHyfMLQNlhm88Wo4W7cJwG760gYYeuE%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MXuPqiMG9jNCzlxKdG8qWXPAY4Rj%2BjkQ0%2BUvTyFaqQ4%3D&reserved=0 or Androidhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7Csten.gruener%40de.abb.com%7C8d204504b3e6440142be08d9f88425c6%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637814068724994910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=KKCwUSJhMs%2FdwffYaeGxobQUBgT9xStpJQcTLo37Ox8%3D&reserved=0. You are receiving this because you are subscribed to this thread.Message ID: @.***>

egekorkan commented 2 years ago

I think that is fine and would be an issue belonging to the repository of the AASXserver. However, my main point is that the spec allows different levels of implementation coverage via the profiles (which is not yet finalized). I think it would be necessary that the root endpoint of a server (like https://admin-shell-io.com/51411/) provides either an OpenAPI or a simple JSON Structure that conveys the information about implemented profiles. Maybe this should be an issue for the spec? If yes, do I open the issue at https://github.com/admin-shell-io/aas-specs/issues ?

StenGruener commented 2 years ago

cannot really judge it, afaik @aorzelskiGH has already started work to implement the "real" OpenAPI specification no the server

StenGruener commented 2 years ago

@egekorkan we are closing the issue for now, since we cannot fix/answer it in this group. Please feel free to update us on eventually opening an issue for the specification itself. @aorzelskiGH: let us discuss this one in the next group meeting briefly.