Objectives :
The following presentation contains a short gap analysis regarding STAC and the AIP of the LTA service:
This table focuses on product properties that should be exposed by AIP instances and that are not currently backed by STAC Core or extensions.
Property Name | Possible values / Example | Common | Comment | Proposed solution |
---|---|---|---|---|
Online |
| to be stated in the ICD : Offline : item with no assets Online : item with assets | Order extension field order:status:
| |
Call from LTA Client | "OGC API - Processes" operation | Details | Response of query |
---|---|---|---|
Product Order Request | /processes/{PROCESSID}/execution | Query type : POST PROCESSID = order-request Input parameters :
| Response by default :
Mandatory information not supported by the standard :
|
Order Status Query (status = completed) | /jobs/{JOBID}?status=successful | List of completed Jobs with their ID and following parameters :
Information not supported by the standard :
| |
Order result query | /jobs/{JOBID}/results | Returns a JSON response with output parameters set for the completed order | A process result will contain the following information :
|
Product Staging Notification | Callback mechanism for completed jobs : requires to add a subscriber property in the order request (notification endpoint) | To assess : authorisation for callback | |
Odata status | OGC API - Processes status |
---|---|
queued | accepted |
in_progress | running |
completed | successful |
failed | failed |
cancelled | dismissed |
Below is a process definition for a "ProductRetrieve" process
{ "id": "ProductRetrieve", "title": "Order LTA for product retrieving", "description": "This asynchronous process specifies one product to retrieve from LTA, through its identifier", "version": "1.0.0", "jobControlOptions": [ "async-execute" ], "outputTransmission": [ "value" ], "inputs": { "ProductId": { "title": "Product identifier", "description": "Identifier of the product to retrieve", "minOccurs": 1, "maxOccurs": 1, "schema": { "type": "string" } }, "Priority": { "title": "Order priority", "description": "Priority of the order. It is an integer from 1-100,", "minOccurs": 0, "maxOccurs": 1, "schema": { "type": "integer", "minimum": 1, "maximum": 100 } } }, "outputs": { "ProductLink": { "schema": { "type": "string" } }, "EvictionDate": { "schema": { "type": "string", "format": "dateTime" } }, "OrderSize": { "schema": { "type": "integer" } } }, "response": "document", "links": [ { "href": "https://lta.processing.copernicus.eu/processes/ProductRetrieve/execution", "rel": "http://www.opengis.net/def/rel/ogc/1.0/execute", "title": "Execute endpoint" } ] } |
The bulk is defined by a list of products or query filter parameters and a batch size
1st level assumption: not "as is" in the OGC standard.
Ideas :
Good to simplify the current way to do bulk (many batch orders to trigger !!)
Trigger all the batches automatically
→ offer the user to automatically execute the batch orders or not (as a parameter of "Bulk Create Request")