Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

AIP Functions - Overview

LTA FunctionCovered by
Query ProductsSTAC API (see STAC Requirements and Recommendations for EOF Services)
Catalog ExportsTBD
Product OrderProcesses API (see Product Order)
Product DownloadSTAC API (Use STAC item asset hrefs to download products?)
Bulk Product OrderTBD
SubscriptionsTBD

Query Product

The following presentation contains a short gap analysis regarding STAC and the AIP of the LTA service:

...

Property NamePossible values / ExampleCommonCommentProposed solution
Online
  • true
  • false



to be stated in the ICD : 

Offline : item with no assets

Online : item with assets

Order extension field order:status:

  • orderable=Offline
  • succeeded=Online






Product Order

API

LTA Client Use CaseOperationRequestResponse
Submit Product OrderPOST /processes/ProductOrder/execution

Header:

  • Prefer=respond-async

Body:

  • process-execute-request

Header:

  • Location=JobStatusURL

Body:

  • job-status
Get Order StatusGET /jobs/{jobId}
Body: job-status
Get Order ResultGET /jobs/{jobId}/results
Body: job-result
Cancel OrderDELETE /jobs/{jobId}
Body: job-status
List processesGET /processes
Body: process-list
Describe Product Order processGET /processes/ProductOrder
Body: process-description

Data Model Mapping from OData API to Processes API

OData Field

Processes API Field

DescriptionMapping to Processing API objects



Anchor
process-description
process-description
process-description

Anchor
process-execute-request
process-execute-request
process-execute-request

Anchor
job-status
job-status
job-status

Anchor
job-result
job-result
job-result

Idproduct_idProduct name without file extension. Shall we use the product URL instead which also contains the collection identifier?$.inputs.product_id$.inputs.product_id

PrioritypriorityPriority of the order. It is an integer from 1-100, where 100 is the highest priority. There is always a priority associated to an order: if it is not set within the Order Request, then it is automatically set to the default priority assigned to the user.$.inputs.priority$.inputs.priority

OrderSizeorder_sizeActual size in bytes of the data composing the Order (which would be the ProductSize unless any transformation is performed by the LTA, e.g. band extraction). Only provided if the order/job is in status "successful".$.outputs.order_size$.outputs.order_size
$.order_size
EvictionDateeviction_dateDate when the Product related to the order will be removed from the Archive delivery Interface Point.  Only provided if the order/job is in status "successful".$.outputs.eviction_date$.outputs.eviction_date
$.eviction_date
NotificationEndpointsuccessUriURI used by the LTA for product download readiness notifications, should these be required. If not provided, no notifications will be sent.
$.subscriber.successUri


inProgressUriURI used by the LTA for notifications to indicate updates in the progress of the order. If not provided, no notifications will be sent.
$.subscriber.inProgressUri


failedUriURI used by the LTA for notifications indicating that the product retrieval failed. If not provided, no notifications will be sent.
$.subscriber.failedUri

NotificationEpUsernameTBD




NotificationEpPasswordTBD




Statusstatus

Current status of the job.  One of: "accepted" "running" "successful" "failed" "dismissed" 



$.status
StatusMessagemessageMore detailed status message

$.message
SubmissionDatecreatedDate and time at which the order was received by the LTA. Formatted as ISO8601 string.

$.created
EstimatedDateTBD




CompletedDatefinishedDate and time when the product was available for download from the Archive delivery Interface Point. Formatted as ISO8601 string.

$.finished

idREQUIRED. Identifier of the process. Always `ProductOrder`$.id



versionREQUIRED. Version of the process$.version



titleA narrative description of the process$.title



descriptionDetailed description of the process$.description



keywordsList of keywords that can be associated with the process$.keywords



jobControlOptionsList of options that indicates whether the process can be invoked synchronously, asynchronously, or either.  One or more of: "sync-execute" "async-execute" "dismiss"$.jobContolOptions



outputTransmissionList of  specifications that indicates how the results of a process are retrieved; either by value or by reference.  One of: "value" "reference"$.outputTransmission


Retrieval functions

Retrieve Product

...