Closed JensMueller2709 closed 9 months ago
Hi Jens,
a) IMHO you are right and these apis are thought to be used for servers that just "host" the AASX files and serve them. Also probably it is intended to mostly upload and update packages. Downloading AASX can also be realized using /serialization resources.
b) imho you could check which AAS are in which package by evaluating GetAASXByPackageId. Personally, I'd disregard this "package" thinking for type 2 AAS, or do you see any advantages of having a parallel "package" hierarchy within the server?
I will check with the group on Monday.
Hi Sten, thanks for your fast reply.
Downloading AASX can also be realized using /serialization resources.
Using the /serialization
interface for downloading the uploaded .aasx files (or just parts of it) means that a service needs to parse the AASX files (thoughts of mentioned option b)). In my thinking, a single file server (option a)) only supports uploading/downloading the entire .aasx file. Am i wrong?
Personally, I'd disregard this "package" thinking for type 2 AAS, or do you see any advantages of having a parallel "package" hierarchy within the server?
I agree with you. For type 2 AAS the other interfaces are suitable. If a user wants an AAS serialized as an .aasx file, he can use the /serialization
endpoint.
It would be nice if you could summarize the group meeting discussion on this topic. It would also be interesting to know if this interface is only for HTTP or also for OPC UA.
Appreciate your support. Best, Jens
Afaik the color is blue in the spec = this interface is only for HTTP
Comments have been brought into part2 review.
Joerg: ongoing discussion regarding server profiles.
https://app.swaggerhub.com/apis/Plattform_i40/AasxFileServerServiceSpecification/V3.0_SSP-001 https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01005-3-0_SpecificationAssetAdministrationShell_Part5_AASXPackageFileFormat.pdf https://app.swaggerhub.com/apis/Plattform_i40/AssetAdministrationShellRepositoryServiceSpecification/V3.0.1_SSP-001#/Serialization%20API/GenerateSerializationByIds
15.05.23: guidance is missing how to use AasxFileServerServiceSpecification/V3.0_SSP-001 AaasxFileServerServiceSpecification and /serialization APIs
To re-check
What is the status of this? Is there any consensus on the expected functionality? We would really like to implement this but we are still waiting on a final and reliable definition of the expected behavior.
@mjacoby From group's point of view, we conclude that this is a pure "file-server" functionality, due to "interface separation" of the single interfaces. Once interfaces are combined, the cross-interface interactions are implementation-specific.
Thank you for the feedback. However, I'm not sure what to make of the last sentence
Once interfaces are combined, the cross-interface interactions are implementation-specific.
If the same operations behave differently depending on the context, how can a user know what will actually happen when he calls the operation? For a standard/specification to be useful, it should not only define the API but also the execution semantics in a deterministic way, otherwise that is not really helpful. Imagine a language where we agree on a list of words that we use to communicate but do not define their meanings.
https://industrialdigitaltwin.org/wp-content/uploads/2023/06/IDTA-01002-3-0_SpecificationAssetAdministrationShell_Part2_API_.pdf consider Table 17, so far, the file server is completely stand alone.
If you feel the need to request a new 'combined' profile combining file server and repository/registry, please open a request wrt. Part 2 in https://github.com/admin-shell-io/aas-specs-api @mjacoby
Regarding the AASX File Server Interface, there are some open questions about the intention of this interface. Following a screenshot out of the AAS part 2 specification document and the link to the belonging Swagger what i´m referring to.
a) Is it just a thought as a simple file server which manages .aasx files without any further functionalities like interacting with the included AAS environments?
b) Or is it intended to combine these interface with the other interfaces? For example to interact with the included AAS environments? This would mean that each call needs to be related to its associated aas package id e.g.
POST /packages/{packageId}/shells
.Looking forward to some advice on how to deal with this interface. Thanks for your support!