admin-shell-io / aas-specs-api

Repository of the Asset Administration Shell Specification DTA-01002 API
https://admin-shell-io.github.io/aas-specs-antora/index/home/index.html
Creative Commons Attribution 4.0 International
12 stars 5 forks source link

Bulk/Batch Requests #3

Open sebbader opened 2 years ago

sebbader commented 2 years ago

Add a request pattern to allow sending of more than one API Operation with one request. A reference might be the OData Batch Requests: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#_Toc31359017

This feature also opens the door for general asynchronous API Operations. (Note: API Operations as meant in this issue is not referring to an invocation of the SubmodelElement Operation.)

sebbader commented 2 years ago

Issue relates to the finding Fethualla#6.

BirgitBoss commented 2 years ago

Examples from current API of Catena-X: https://semantics.int.demo.catena-x.net/registry/swagger-ui/index.html#/Registry%20and%20Discovery%20Interface/PostBatchAssetAdministrationShellDescriptor https://semantics.int.demo.catena-x.net/registry/swagger-ui/index.html#/Registry%20and%20Discovery%20Interface/PostFetchAssetAdministrationShellDescriptor

BirgitBoss commented 2 years ago

Of course these are two different requirements but the orignal request came from Catena-X

BirgitBoss commented 2 years ago

This feature needs to be available in V3.0, please change milestone

BirgitBoss commented 1 year ago

Batch: Several requests with different HTTP requests can be mixed in a batch request. For example, create x twins and delete this two twins Bulk: In a bulk, requests are combined with just one and the same HTTP operation. For example, create x twins. The complete operation is atomic.

sebbader-sap commented 1 year ago

See also the Google Drive API

aorzelskiGH commented 1 year ago

In the ZVEI DPP40 and PCF showcase there are 2 Bulk cases

An example for GET is a repository with 30 AAS and 5 submodels each. This results in 150 GET operations, which can be combined in 1 Bulk GET.

The example for POST in this case includes 30 POST operations of AAS descriptors. The POSTs need more performance, because they are checked by the company firewall/proxy.

sebbader-sap commented 1 year ago

See #183

sebbader commented 1 year ago

Just found an additional problem. Introducing Bulk OpenAPI files implies upgrading from OpenAPI V3.0.3 to V3.1.0 as otherwise a body in DELETE is displayed as an error. However, SwaggerHub does not yet support Domains, meaning we can not link to our Part 2 and Part 1 classes. Source https://support.smartbear.com/swaggerhub/docs/en/openapi-3-1-support.html:

image
sebbader commented 1 year ago

Result: https://app.swaggerhub.com/apis/Plattform_i40/AssetAdministrationShellRegistryServiceSpecification/V3.1.0_SSP-003 is full of errors...

BirgitBoss commented 9 months ago

What is the current status? In the meantime it looks good and is in review and implementation phase.