HMA for Science SRR Download Protocol

Slides:



Advertisements
Similar presentations
1 Euro-VO Technology Forum, 23 September 2009, Annotations at the CDS Web 2.0: annotations at the CDS Brice GASSMANN Sébastien DERRIERE Thomas BOCH.
Advertisements

OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
XML: Extensible Markup Language
Proposed update of Technical Guidance for INSPIRE Download services based on SOS Matthes Rieke, Dr. Albert Remke (m.rieke, 52°North.
SOAP.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
Service-Oriented Programming
Aalborg University – Department of Production XML Extensible Markup Language Kaj A. Jørgensen Aalborg University, Department of Production XML – Extensible.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Requirements for DSML 2.0. Summary RFC 2251 fidelity Represent existing directory protocols with new transport syntax Backwards compatibility with DSML.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Web Services Description Language CS409 Application Services Even Semester 2007.
Mapping between SOS standard specifications and INSPIRE legislation. Relationship between SOS and D2.9 Matthes Rieke, Dr. Albert Remke (m.rieke,
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
FIMS v1.1 Version numbers in schema Richard Cartwright Quantel July 2013.
Tutorial 13 Validating Documents with Schemas
Forms Collecting Data CSS Class 5. Forms Create a form Add text box Add labels Add check boxes and radio buttons Build a drop-down list Group drop-down.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
RESTful Web Services What is RESTful?
Page 1 CSISS Center for Spatial Information Science and Systems CWIC Development Team Meeting, 2014 CWIC OpenSearch Design and Implementation Yuanzheng.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Web Services. XML Namespaces, Schemas XML processing. Week 2.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
HMA January 2011 – Slide 1 Daniele Marchionni TELESPAZIO HMA Follow On Task 4 - Order AR January 2011.
HMA Sep 2009 – Slide 1 Daniele Marchionni Elsag Datamat HMA Follow On – Task 4 - Workplan.
SOAP, Web Service, WSDL Week 14 Web site:
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
AR meeting Esrin, 26. January 2011 Slide 1 Ordering Services for EO Products Abstract (ATS) and Executable (ETS) Test Suite HMA FollowOn – Task 4 AR Meeting.
Page /06/2014HMA-S Final Presentation HMA-S Final Presentation OGC ROSEO Protocol D. Marchionni, Telespazio S.p.A. June 11, 2014.
National College of Science & Information Technology.
Frascati, 2-3 July 2008 SPS Mandatory I/F Development Slide 1 HMA SPS Mandatory I/F Development HMA-T Phase 2 KO Meeting 2-3 July 2008, Frascati Ricardo.
JavaScript, Sixth Edition
XML: Extensible Markup Language
HMA Follow On Activities
HMA Follow On Task 4 - Order Final Presentation June 2011
Lesson # 9 HP UCMDB 8.0 Essentials
Unit 4 Representing Web Data: XML
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Ordering Services for EO Products SWG ATS / ETS
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
HMA-S Final Presentation OGC DSEO Protocol
HMA Follow On Activities
HMA Follow On Task 4 - Order Final Presentation June 2011
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
Ordering Services for EO Products SWG ATS / ETS
HMA Follow On Activities
Ashish Pandit IT Architect, Middleware & Integration Services
WEB API.
Chapter 7 Representing Web Data: XML
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
N. Fanjeau, Airbus Defence & Space June 11, 2014
EO Data Access Protocol
AES The Alliance's name for the proposal is OCA 1.4.
HMA Follow On Task 4 - Order Final Presentation 21 June 2011
Ordering Services for EO Products Abstract Test Suite (ATS)
SIP Session Policies Volker Hilt
WebDAV Design Overview
Status OpenSearch Standardisation Activities - HMA-S Project
HMA Follow On Task 4 - Order Final Presentation 21 June 2011
WEB SERVICES From Chapter 19, Distributed Systems
DAIL RIDS are posted to SSE wiki
New Perspectives on XML
Presentation transcript:

HMA for Science SRR Download Protocol 16 May 2013, ESRIN Frascati Daniele Marchionni, Telespazio Slide 1

Download Protocol - Summary Status of the Document Protocol Overview Requirements Classes Conformance Classes and tests Slide 2

Status of the document OGC 13-042 OGC RESTful Encoding of Ordering Services Framework For Earth Observation Products (ROSEO) V0.9.1 2013/05/14 Single zip file delivered including: The document: 13-042_RESTful_Encoding_Ordering_Services_for_Earth_Observation_Products.docx The schema file: roseo.xsd Many examples XML files: ROSEO generic messages; Sentinel-1, Sentinel-2, Sentinel-3 order options examples Slide 3

Status of the document The document has been prepared following the latest template from OGC (10- 176r4_New_OGC_Document_Template_Draft) Requirement Classes provided in sections §8 (Core), §9 (Scene Selection), §10 (SubscriptionOrder) Conformance Classes & tests provided in section §11 The OGC doc ID has been reserved (13-042), but document not uploaded yet because waiting for SRR comments before posting Slide 4

ROSEO Overview The OGC 13-042 OGC RESTful Encoding of Ordering Services Framework For Earth Observation Products (ROSEO) proposes as OGC Best Practice document the simplified “RESTful” version of the HMA Ordering ICD (OGC 06- 141r6) allowing accessing to Ordering functions via appropriate HTTP requests and not via SOAP calls. In this way Ordering functions will be available to Web browsers without the need of more complex infrastructures based on SOAP. This protocol covers, in RESTful way, the following HMA Ordering ICD operations: GetCapabilities GetOptions Submit GetStatus DescribeResultAccess Cancel Slide 5

ROSEO Overview ROSEO Document approach: Structured by Resources: Capabilities, OrderOptions, Orders, OrderedProduct. Each resource has a dedicated section including description, URLs, supported HTTP methods. Addressability: each identified resource has specified URLs. Uniform interface: the operations performed on resources are only the Methods of HTTP protocol: GET for reading a resource; POST for creating a resource with ID defined by the server; PUT for creating / replacing a resource with ID defined by the client; DELETE for deleting a resource. Connectdness: each resource has links (URLs) to the other related resources. Slide 6

ROSEO Overview Simplifications with respect to OSEO: Removed order of products derived from a programming request. Removed support for order quotation, function very rarely used from operational implementations of OSEO specification. Removed support for asynchronous notifications: in fact this document focuses on Web Applications in general and on REST approach in particular, while the asynchronous message exchange is more a SOAP Web Service Oriented function. Simplified delivery mechanism: only direct download from URL (HTTP GET) is supported: delivery via media and via FTP not included. Slide 7

ROSEO Overview Summary of changes with respect to OSEO: Capabilities: Removed support for notifications; Added resource URLs in Contents section (connectdness); OrderOptions: Changed root element removing the reference to the operation (GetOptionsResponse) and putting just OrderOptions; Added URL for linking to OSDD / direct download of the product; Order: Changed root element removing the reference to the operation (SubmitResponse / GetStatusResponse) and putting just Order; Merged definitions for Order submit and Order monitoring  Order; Added URLs for getting directly the ordered products (sort of DescribeResultAccess call); Added URLs for getting directly the order or the order items. OrderedProduct: Very minor changes with respect to OSEO:DescribeResultAccessResponse Slide 8

ROSEO Resources – Capabilities - schema Capabilities resource contains metadata about the ROSEO server reporting e.g.: service identifier, description, restrictions, service provider, supported operations, etc. ROSEO reuses the Capabilities definition provided by OSEO (OGC 06-141r6) applying a profiling for setting values compatible with ROSEO purposes. Slide 9

ROSEO Resources – Capabilities - URLs <Service Root URL> http://<hostname>:<port>/<context path> <ROSEO Root Path> <Service Root URL>/ROSEO/1.0.0 URL Definition <Capabilities Resource URL> <ROSEO Root Path>/ <ServiceIdentification section> <ROSEO Root Path>/ServiceIdentification <ServiceProvider section> <ROSEO Root Path>/ServiceProvider <Contents section> <ROSEO Root Path>/Contents Slide 10

ROSEO Resources – Capabilities – HTTP Methods HTTP Metods HTTP Method URL Definition Request Entity Body Response Entity Body GET <ROSEO Root Path> It returns the complete Capabilities document. Empty <roseo:Capabiliti es> element instance <ROSEO Root Path>/ServiceIdentificatio n It returns the ServiceIdentification element <ows:ServiceIden tification> element instance <ROSEO Root Path>/ServiceProvider It returns the ServiceProvider element <ows:ServiceProv ider> element instance <ROSEO Root Path>/Contents It returns the Contents element <roseo:Contents> element instance POST Not used by this document. PUT DELETE Slide 11

ROSEO Resources - OrderOptions Order Options resource describes the parameters that can be set by the clients for customizing an item to order. Depending on the Satellite mission, order options can be defined either at collection level, which means that all EO Products belonging to a specified collection have the same order options, or at product level, in this case each product has potentially different order options. Two Order Options formats have been defined: The “canonical” XML format, i.e. the XML format directly derived from OSEO; the OSDD one, which reports the order options via template URL plus XML block in “canonical” format. Slide 12

ROSEO Resources – OrderOptions – XML format Almost identical to OSEO: order option groups; SWE Common; processing, delivery and scene selection options. Differences: renamed tags: OrderOptions, OrderOptionGroup Added downloadURL element Slide 13

ROSEO Resources – OrderOptions – OSDD format Order Options in OSDD format includes: Extension to the OSDD, via the foreign markup mechanism, for including OrderOptions resource in “canonical” XML format. As specified in OpenSearch standard, “OpenSearch Description Documents can be extended with new XML “foreign” elements and attributes provided that all of them are associated with an explicit XML namespace. Clients that encounter unrecognized foreign elements should ignore them and continue to process the document as if these elements did not appear”. Extension to the Open Search Template URL for including OrderOptions parameters as template parameters. The namespace of these extensions is the ROSEO one: Prefix: roseo URL: http://www.opengis.net/roseo/1.0 Slide 14

ROSEO Resources – OrderOptions – OSDD example <?xml version="1.0" encoding="UTF-8"?> <mstns:OpenSearchDescription xmlns:oseo="http://www.opengis.net/oseo/1.0" xmlns:roseo="http://www.opengis.net/roseo/1.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mstns="http://a9.com/-/spec/opensearch/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <mstns:ShortName>Order Options</mstns:ShortName> <mstns:Description>OSDD for Order Options</mstns:Description> <mstns:Url type="application/atom+xml" template="http://some.eocat.server/ESA:EECF:ENVISAT_ASA_IMx_xS?q={searchTerm}&count={count}&startIndex={startIndex?}&startPage={startPage?}&language={language?}&inputEncoding={inputEncoding?}&outputEncoding={outputEncoding?}&bbox={geo:box?}&geom={geo:geometry?}&id={geo:uid?}&lat={geo:lat?}&lon={geo:lon?}&radius={geo:radius?}&rel={geo:relation?}&loc={geo:name&}&startdate={time:start?}&stopdate={time:end?}&prclv={roseo:ProcessingLevel}&prdt={roseo:ProductType}&qos={roseo:QualityOfService}"/> <mstns:SyndicationRight>open</mstns:SyndicationRight> <mstns:AdultContent>false</mstns:AdultContent> <mstns:Language>*</mstns:Language> <mstns:InputEncoding>UTF-8</mstns:InputEncoding> <mstns:OutputEncoding>UTF-8</mstns:OutputEncoding> <roseo:OrderOptions xsi:schemaLocation="http://www.opengis.net/roseo/1.0 roseo.xsd" xmlns:oseo="http://www.opengis.net/oseo/1.0" xmlns:roseo="http://www.opengis.net/roseo/1.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <roseo:OrderOptionGroup> <oseo:productOrderOptionsId>Level 1,Product PRI (ASA_IMP)</oseo:productOrderOptionsId> <oseo:description>Order Options for producing ASAR IMP 1P product</oseo:description> <oseo:orderType>PRODUCT_ORDER</oseo:orderType> <oseo:option> <swe:DataRecord> <swe:field name="processingLevel"> <swe:Category updatable="false" optional="true" definition="http://www.opengis.net/def/parameter/ESA/1.0/processingLevel"> <swe:identifier>processing Level</swe:identifier> <swe:constraint> <swe:AllowedTokens> <swe:value>1B</swe:value> </swe:AllowedTokens> </swe:constraint> </swe:Category> </swe:field> </swe:DataRecord> Slide 15

ROSEO Resources – OrderOptions - OSDD OrderOptions declaration (when retrieving options): it is a template parameter in a URL. Example: http://roseo.server.com/<path>?<other parameters>& prclv={roseo:ProcessingLevel} OrderOptions set (when creating the request): in case of simple order options i.e. defined using basic types like xs:int, xs:string, xs:dateTime, the setting is straightforward: just replace the Template parameter with the URL encoded value. Example: http://roseo.server.com/<path>?<other parameters>& prclv=1B&prdt=ASA_IMS_1P&qos=STANDARD in case of structured order options i.e. defined using complex types like: arrays, structures and nested structures the mapping is more complex because a rule has to be defined for encoding the values of sub-parameters. For the sake of simplicity the well known and vastly used JSON syntax [NR16] has been adopted. Example: http://roseo.server.com/<path>?<other parameters>&sbcc={“RedBand”:“band1”, “GreenBand”:“band6”,“BlueBand”:“band12”} Slide 16

ROSEO Resources – OrderOptions – URL & Methods HTTP Method URL Definition Request Entity Body Response Entity Body GET <ROSEO Root Path>/options/{ID}/{format} It returns the Order Options related to the specified item (product / collection / subscription). Empty <roseo:OrderOptions> element instance. POST Not used by this document. PUT DELETE Names Definition Data type and value {ID} ID of the resource to get OrderOptions: either an EO Product or a collection or a subscription. xs:string (max 255 chars) URL encoded {format} Required OrderOptions format: either canonical XML format or OSDD format Allowed Values: xml osdd Slide 17

ROSEO Resources - Order Order resource is the envelope sent from the client to order a set of EO products with the selected order options or for subscribing to an existing EO Product subscription. Additionally the Order resource includes also status information reporting the current status of the order processed by the server. This resource can be accessed as a whole, including the whole order, or in parts by accessing to the various ordered items. Slide 18

ROSEO Resources - Order Slide 19

ROSEO Resources - Order HTTP Method URL Definition Request Entity Body Response Entity Body GET <ROSEO Root Path>/order/{order identifier} It returns the Order related to the specified order identifier. Empty <roseo:Order> element instance. <ROSEO Root Path>/order/{order identifier}/{order item identifier} It returns the Order Item within the specified Order <roseo:orderItem> element instance. <ROSEO Root Path>/order?{filter expression} It returns all orders matching the filter expression. <roseo:Orders> element instance. POST <ROSEO Root Path>/order It allows to submit an order to the ROSEO server. The ID of the submitted order is returned in the Response Entity Body. <roseo:Order> element instance. <oseo:orderId> with the URL of the created order resource. PUT Not used by this document DELETE To flag as Cancelled the specified Order resource. The Order resource is still on the server. Slide 20

ROSEO Resources - OrderedProduct This resource allows to physically retrieve the ordered products once they are ready for download (almost identical to OSEO:DescribeResultAcccess operation) Slide 21

ROSEO Resources - OrderedProduct HTTP Method URL Definition Request Entity Body Response Entity Body GET <ROSEO Root Path>/order/{order identifier}/file It returns all Ordered Product resources related to the specified order. Empty <roseo:OrderedPr oducts> element instance. <ROSEO Root Path>/order/{order identifier}/{order item identifier}/file It returns the Ordered Product resource related to the specified order item. <ROSEO Root Path>/order/{order identifier}/file?{filter expression} It returns all Ordered Product resources related to the specified order matching the specified filter. POST Not used by this document PUT DELETE Slide 22

ROSEO Error Handling In the event that a ROSEO server encounters an error during the access to some resource, then it returns an HTTP response including: HTTP Status Code: 4XX for errors on the client side; 5XX for errors on server side. HTTP Entity Body: ows:ExceptionReport element set as specified in §8 of [NR7]. The specific values for Status Code and ows:ExceptionReport depend on the accessed resource and performed HTTP method. There are dedicated errors for each of them. Slide 23

ROSEO OrderOptions – Sentinel1 Sentinel-1 products are structured by “Native Datasets” (i.e. Collections): each of them has EO Products with specific Metadata Attributes and “Download Options” (i.e. OrderOptions). The possible Download Options are: Processing, enumerated string Resolution, enumerated string Swath, enumerated string Safe, boolean Slide 24

ROSEO OrderOptions – Sentinel1 The important point to note is that the values of the different options are correlated e.g.: Resolution can be specified only when processing is GRD; Swaths EW<N> can be specified only for some datasets, while IW<N> can be specified for other datasets Etc. All of these dependencies can be represented via dedicated OrderOptionGroup: each group specifies the possible order options with the correlated allowed values. Once a client has selected a group, then only the corresponding order options and values are returned. Then no special issues. Slide 25

ROSEO OrderOptions – Sentinel2 Sentinel-2 products are structured by “Native Datasets” (i.e. Collections): each of them has EO Products with specific Metadata Attributes and “Download Options” (i.e. OrderOptions). The possible Download Options are: Band (ROSEO:SpectralBandComposition), TBD values. pvi, boolean option auxData, boolean option metadataLevel, enumerated string mergingFlag, boolean option. outputFormat (OSEO:Format), enumerated string Slide 26

ROSEO OrderOptions – Sentinel2 To be noted that: All datasets have the same options; One option does not depend on the values of the other ones; Sentinel-2 has very specific order options which cannot be made as standard (e.g. pvi, auxData, metadataLevel, mergingFlag). Then Sentinel-2 order options are much easier than Sentinel-1: a single combination of order options is good for all datasets. Slide 27

ROSEO OrderOptions – Sentinel3 Sentinel-3 does not support any processing, but the products are delivered as they are so there are not processing options. Nevertheless it support very fine grained sub-setting options i.e. it allows to specify, of the whole bunch of files composing the product only those of interest. This capability is provided via the following “Download Options”: mdf – Measurement Data Files download options: which allows to select either the whole file or only the MDFs of interest. Multiple selections are also possible. adf – Annotation Data Files download options: which allows to select either all annotations or only the annotations of interest. Multiple selections are possible. Also mdf and adf are often linked each other: i.e. when a mdf is selected, then only some adf are possible. Slide 28

ROSEO OrderOptions – Sentinel3 The following cases have been noticed: In case of no options or independent options or options made independent then no problem, just define two order options: mdf and adf (both swe:Category) with some predefined values. In case of very linked options having several groups of mdf values linked with corresponding group of adf values, then the representation is more complex: In fact SWECommon allows to model restrictions on parameters, but it is supported only for simple values (swe:Category, swe:Count, swe:Quantity, etc..) and not for structured types like swe:DateRecord which instead would be necessary for representing a pair of attributes. Also we cannot use the OrderOptionGroup for representing correlated values because it should be possible to perform multiple selections, while OrderOptionGroup elements are mutually exclusive. The envisaged solution is to put mdf and adf within a single parameter mdf_adf further structured via swe:DataChoice putting in a single choice the group of mdf and adf linked values. In conclusion: swe:DataArray has been used for allowing multiple selections; swe:DataChoice for regrouping the correlated pair of options; swe:DataRecord for defining the pair mdf & adf. Slide 29

ROSEO Requirement Classes The document is a Best Practice, so it includes: Requirements Classes Conformance Classes and Conformance Tests (ATS) Requirement Classes: HMA Ordering ICD requirement classes have been reused and simplified: in fact only 3 out of 17 classes have been defined / reused: Core, which specifies the minimum behaviour that all ROSEO servers shall implement. It includes the support of ordering of precisely identified Earth Observation Products. SceneSelection, which specifies the additional requirements a ROSEO server has to comply for supporting scene selection. SubscriptionOrder, which specifies the additional requirements a ROSEO server shall implement for supporting subscription orders. Slide 30

ROSEO Conformance Classes Conformance Classes: normally there is a 1:1 mapping between Requirement Classes and Conformance Classes, so we have: Core Conformance Class: a server complying with this class provides support for all ROSEO resources and operations, but limited to ordering of precisely identified products. SceneSelection Conformance Class: with respect to Core class it adds the support for scene selection extraction from requested products. SubscriptionOrder Conformance Class: a server complying with this class provides full support for automatic download of subscribed products. Conformance Tests: A conformance class is implemented via a set of Conformance Tests, each testing one or more requirements of the corresponding Requirements Class. Slide 31

ROSEO Requirements Statistics Class Resource Requirements Total Core Capabilities 15   OrderOptions 12 Order 20 OrderedProduct 7 TOTAL 54 SceneSelection 1 3 4 SubscriptionOrder 2 Slide 32

ROSEO Conformance Tests Statistics Class Resource Requirements Total Core Capabilities 5   OrderOptions Order 12 OrderedProduct 4 TOTAL 26 SceneSelection 1 3 SubscriptionOrder 2 Slide 33