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")