Objectives :
- to have a first version of ICD before Summer time and share with LTA service providers to gather first comments
- to present LTA ICD during the next checkpoint (September or October)
Query Product
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:
| |
Retrieval functions
Retrieve Product
Queries
text in red relates to requirements not supported by the OGC standard
| Call from LTA Client | "OGC API - Processes" operation | Details | Response of query | OGC reference link |
|---|---|---|---|---|
| Product Order Request | /processes/{ProcessID}/execution | Query type : POST ProcessID = ProductRetrieve Input parameters :
| Response by default :
Mandatory information not supported by the standard :
| |
Order Status Query | /jobs/{JobID} | Query type : GET JobID = ID returned by the execute query | Status of Job :
Information not supported by the standard :
| |
List completed jobs (NEW) | /jobs | Query type : GET Parameters:
| List of completed Jobs with their ID and following parameters :
Information not supported by the standard :
| |
Get result of Order query (NEW) | /jobs/{JobID}/results | Query type : GET JobID = ID returned by the execute query 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 | https://docs.ogc.org/is/18-062r2/18-062r2.html#toc52 | |
Retrieve process description (NEW) | /processes/{ProcessID} | Query type : GET ProcessID = ProductRetrieve | Response depending on the process definition (see below) | https://docs.ogc.org/is/18-062r2/18-062r2.html#toc35 |
JobStatus value correspondance
| Odata status | OGC API - Processes status |
|---|---|
queued | accepted |
| in_progress | running |
| completed | successful |
| failed | failed |
| cancelled | dismissed |
Process definition
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"
}
]
}
Bulk Product Retrieve
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 :
- Create a specific Process for "Bulk Create Request".
- query filter parameters : the process parameters == filters
- list of products : one parameter as a list of product IDs
- BatchOrder List Request : is the result of the "Bulk Create Request" Process
- Create a specific Process for "BatchOrder trigger"
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")
Compliance tests
https://cite.ogc.org/teamengine/about/ogcapi-processes-1.0/1.0/site/
https://github.com/opengeospatial/teamengine