Open Geospatial Consortium
Publication Date: 2014-01-31
Approval Date: 2013-12-24
Submission Date: 2013-09-04
External identifier of this OGC® document: http://www.opengis.net/def/BP/dseo/1.0
Internal reference number of this OGC® document:

13-043

Version: 1.0
Category: OGC® Best Practice
Editor: Daniele Marchionni, Raul Cafini

OGC Download Service for Earth Observation Products
Best Practice
Copyright notice
Copyright © 2014 Open Geospatial Consortium
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.

Warning
This document is not an OGC Standard. This document is distributed for review andcomment. This document is subject to change without notice and may not be referred toas an OGC Standard.
Recipients of this document are invited to submit, with their comments, notification of
any relevant patent rights of which they are aware and to provide supporting
documentation.

Document type:
Document subtype:
Document stage:
Document language:

OGC® Best PracticeApproved for public release
EnglishOGC 13-043
License Agreement
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below,
to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property
without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish,
distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to
do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual
Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above
copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTSTHAT MAY BE IN FORCE ANYWHERE IN THE WORLD.
THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULARPURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDEDIN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILLMEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE
UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT
THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OFINTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY
DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTINGFROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH
THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all
copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except asprovided in the following sentence, no such termination of this license shall require the termination of any third party end-user
sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual
Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent,
copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license
without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy orcause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual
Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without
prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may
authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any
LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The
application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly
excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be
modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No
decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Contents	
  
1.	
  

Scope ......................................................................................................................... 10	
  

2.	
  

Conformance ............................................................................................................. 11	
  

3.	
  

References ................................................................................................................. 13	
  

4.	
  

Terms and Definitions............................................................................................... 15	
  

5.	
  

Conventions .............................................................................................................. 17	
  

6.	
  

5.1	
  

Abbreviated terms ............................................................................................. 17	
  

5.2	
  

UML notation.................................................................................................... 18	
  5.2.1	
  Introduction ................................................................................................. 18	
  5.2.2	  

UML Class Diagrams ................................................................................. 18	
  5.2.3	  

UML Sequence Diagrams ........................................................................... 21	
  

5.3	
  

XML notation.................................................................................................... 22	
  

5.4	
  

Data dictionary tables ....................................................................................... 23	
  Download Service for Earth Observation Products (DSEO) Overview ................... 24	
  
6.1	
  

Protocol Operations .......................................................................................... 25	
  

6.2	
  

Essential Use-cases ........................................................................................... 26	
  6.2.1	
  On-Line available product Scenario ........................................................... 26	
  6.2.1.1	
  6.2.2	  7.	
  Product Download via Metalink Scenario ........................................... 28	
  On-demand download Scenario .................................................................. 30	
  Shared Aspects .......................................................................................................... 32	
  
7.1	
  

Metalink ............................................................................................................ 32	
  7.1.1	
  Introduction ................................................................................................. 32	
  7.1.2	
  Multiple-file Product ................................................................................... 32	
  7.1.3	
  Parallel Download ....................................................................................... 32	
  7.1.4	
  Metalink XSD Schema ............................................................................... 32	
  7.1.5	
  Metalink example........................................................................................ 35	
  3

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
8.	
  DSEO Operations...................................................................................................... 36	
  
8.1	
  

GetCapabilities .................................................................................................. 36	
  8.1.1	
  

GetCapabilities operation request ............................................................... 36	
  8.1.1.1	
  8.1.2	
  

GetCapabilities operation response............................................................. 37	
  8.1.2.1	
  OperationsMetadata section ................................................................ 39	
  8.1.2.2	
  GetCapabilities response example ....................................................... 39	
  8.1.3	  8.2	  GetCapabilities response exceptions........................................................... 40	
  GetProduct ........................................................................................................ 40	
  8.2.1	
  

GetProduct operation request ...................................................................... 41	
  8.2.1.1	
  8.2.2	
  

GetProduct operation request example ................................................ 41	
  GetProduct operation response ................................................................... 41	
  8.2.2.1	
  Direct Download response................................................................... 41	
  8.2.2.2	
  Metalink Download response .............................................................. 42	
  8.2.2.3	
  Accepted Download response ............................................................. 42	
  8.2.2.4	
  Forwarded Download response ........................................................... 43	
  8.2.2.5	
  Direct Download response example .................................................... 43	
  8.2.2.6	
  Metalink Download response example................................................ 43	
  8.2.2.7	
  Accepted Download response example ............................................... 43	
  8.2.2.8	
  Forwarded Download response example ............................................. 44	
  8.2.3	  9.	
  GetCapabilities request example ......................................................... 37	
  GetProduct response exceptions ................................................................. 44	
  DSEO “Core” Requirement Class ............................................................................ 45	
  
9.1	
  

GetCapabilities .................................................................................................. 45	
  

9.2	
  

GetProduct (On-Line) ....................................................................................... 46	
  

10.	
  
10.1	
  
11.	
  
11.1	
  

DSEO “On-Demand Download” Requirement Class ........................................... 48	
  GetProduct (On-Demand) ................................................................................. 48	
  Annex A (Normative): Conformance Class Abstract Test Suite .......................... 49	
  Conformance Class: Core (http://www.opengis.net/spec/DSEO/1.0/conf/Core)50	
  Copyright © 2014 Open Geospatial Consortium

OGC 13-043
11.1.1	
   Core – Capabilities ...................................................................................... 50	
  11.1.2	
   Core – Capabilities request non-nominal conditions .................................. 51	
  11.1.3	
   Core – Download of single file product ...................................................... 52	
  11.1.4	
   Core – Download of multi file product ....................................................... 53	
  11.1.5	
   Core – Download of multi source product .................................................. 54	
  11.1.6	
   Core – Redirected download of single file product .................................... 55	
  11.1.7	
   Core – Product request non-nominal conditions ......................................... 56	
  11.2	
   Conformance Class: On-demand Download(http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload) ........................ 57	
  11.2.1	
   OnDemand – Download of single file on-demand product ........................ 57	
  11.2.2	
   OnDemand – Download of multi file product ............................................ 58	
  11.2.3	
   OnDemand – Download of multi source product ....................................... 60	
  11.2.4	
   OnDemand – Redirected download of single file product.......................... 61	
  
11.3	
  

Traceability Matrix ........................................................................................... 63	
  11.3.1	
   Requirements vs. Conformance Tests Traceability Matrix ........................ 63	
  11.3.2	
   Conformance Tests vs. Requirements Traceability Matrix ........................ 65	
  
12.	
  

Annex B (Normative): XML Schema Documents................................................ 69	
  

13.	
  

Annex C: Revision history .................................................................................... 70	
  

14.	
  

Annex D: Bibliography ......................................................................................... 71	  5

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Index	  of	
  Figures	
  Figure 2-1: Requirement Classes. ..................................................................................... 11	  Figure 5-1: UML Class Diagram notations. ..................................................................... 21	
  Figure 5-2: UML Sequence Diagram notations. ............................................................... 22	
  Figure 6-1: Product On-line scenario. ............................................................................... 26	
  Figure 6-2: Product Download via Metalink Scenario. .................................................... 28	
  Figure 6-3: Product Off-Line / On-Demand Scenario. ..................................................... 30	
  Figure 7-1: Metalink XML Schema diagram.................................................................... 33	
  Figure 7-2: Metalink - filesType XML schema diagram. ................................................. 34	
  Figure 8-1: GetCapabilities response schema. .................................................................. 38	
  Figure 8-2: GetProduct – Accepted Download response schema. .................................... 42	
  Figure 11-1: Requirement Classes & Abstract Test Suite. ............................................... 50	
  Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Index	  of	
  Tables	
  Table 2-1: Requirement classes. ....................................................................................... 12	
  Table 5-1: Contents of data dictionary tables. .................................................................. 24	
  Table 8-1: Parameters in GetCapabilities operation request............................................. 37	
  Table 8-2: Parameters in GetCapabilities operation response. ......................................... 39	
  Table 8-3: OperationsMetadata section. ........................................................................... 39	
  Table 8-4: GetCapabilities error conditions. ..................................................................... 40	
  Table 8-5: Parameters in GetProduct operation request. .................................................. 41	
  Table 8-6: GetProduct operation responses. ..................................................................... 41	
  Table 8-7: Parameters in GetProduct – Accepted Download operation response. ........... 43	
  Table 8-8: GetProduct error conditions. ........................................................................... 44	
  Table 11-1: Requirements vs. Conformance Tests Traceability Matrix. .......................... 65	
  Table 11-2: Conformance Tests vs. Requirements Traceability Matrix. .......................... 68	
  7

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

i.

Abstract
This OGC® Best Practices document specifies the interfaces, bindings, requirements,
conformance classes for online download of Earth Observation products. This protocol
covers several scenarios implemented by European Space Agency - ESA for providing its
products to users:
The EO Product to be downloaded is already available and can be downloaded as
it is.
The EO Product is not online available but is stored in a near online archive.
The EO Product is advertised in a Catalogue, but it is not physically available andit has to be generated on the fly by a processing facility.
The EO product is archived in several distributed online archives and it can be
downloaded in parallel.
The basic scenarios can be simply supported by Web Browsers, the most complex ones
need a dedicated client (download manager) supporting Metalink and multisource
download.
This Best Practice document has been prepared basing on the work performed in theframe of ESA’s Next Generation Earth Observation user services and it was initially
produced during the ESA HMA (Heterogeneous Missions Accessibility) initiative [OR1]and related projects.

ii.

Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, best practice, dseo, eo, data access, download, hmaiii.

PrefaceThis Best Practice document summarizes the scenarios implemented by European Space
Agency – ESA for supplying its products to the users. These scenarios cover different
needs of different Satellite’s missions, and then they have been taken into account inseparated requirements & conformance classes. In this way the developers can choose theconformance class that fits their needs without mandating the compliance with all
requirements.
Actually two requirements classes have been defined, distinguishing between Download
Servers dealing with already available products (Core class) and other servers supporting
on-the-fly production (On-Demand Download class).
Attention is drawn to the possibility that some of the elements of this document may be
the subject of patent rights. The Open Geospatial Consortium shall not be held
responsible for identifying any or all such patent rights.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Recipients of this document are requested to submit, with their comments, notification of
any relevant patent claims or other intellectual property rights of which they may beaware that might be infringed by any implementation of the standard set forth in thisdocument, and to provide supporting documentation.

iv.

Submitting organizations
The following organizations submitted this Document to the Open Geospatial
Consortium (OGC):
ESA – European Space Agency
Telespaziov.

Submitters
All questions regarding this submission should be directed to the editor or the submitters:

Name

Affiliation

Daniele Marchionni

Telespazio

Raul Cafini

Telespazio

9

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

1. Scope
This OGC® Best Practices document specifies the interfaces, bindings, requirements,
conformance classes for online download of Earth Observation products.
This document describes several ways for downloading EO Products starting from their
HTTP URLs generally retrieved from an EO Product Catalogue.
Basically it distinguishes between 2 cases:
The product is already physically on-line available for download;
The product is NOT already physically on-line available (for various reasons e.g.
the product has to be retrieved from an Offline archive, or it has to be generated
from ancillary data).
Additionally, in both cases, the following alternatives are supported:
Product file is available from multiple sources (parallel download);
The product is composed of multiple files, each possibly available from multiple
sources (multiple download);
The product file is reachable via several HTTP redirections from the originalURL.
Any combination of previous alternatives.
The protocol uses:
HTTP GET for all interactions;
HTTP redirections, in case of “virtual URL”;
Re-try mechanism according to specific HTTP returned codes, in case of ondemand / off-line products;
Metalink files for managing the multi-file / multi source download.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

2. Conformance
Two Requirements and Conformance classes have been defined:
Core, regrouping all requirements for supporting download of already available
EO Products including: multi file download, multi source download, andredirection.
On-Demand Download, inheriting from Core class and adding the requirements
for allowing download of EO product files not ready yet.
In this way “classic” download servers supporting download of already available
products needs to implement just the Core class, while the more advanced ones, havingsome processing capability, might implement On-Demand Download class.
The following diagram shows the relationships between the defined Requirement
Classes.
class Domain Mo...
´ Requirement ClassªCore´ Requirement Classª
On-demand Dow nload

Figure 2-1: Requirement Classes.

The inheritance relationship between the different classes represents the inheritance of all
requirements from the super class. E.g.: On-demand Download class defines its specificrequirements and includes also the requirements defined in the Core class.
The following table reports:
o The Requirement Class nameo the URIo The dependency with other requirements classes.

11

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Requirement Class

Requirement Class URI

Core

http://www.opengis.net/spec/DSEO/1.0/req/Core

OnDemandDownload

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload

Dependency

Core

Table 2-1: Requirement classes.

The root path of all Requirements and conformance test URIs defined in this documentis:
http://www.opengis.net/spec/DSEO/1.0/
Conformance with this Best Practice document shall be checked using all the relevanttests specified in Annex A (normative) of this document. The framework, concepts, andmethodology for testing, and the criteria to be achieved to claim conformance are
specified in the OGC Compliance Testing Policies and Procedures and the OGC
Compliance Testing web site1.
In order to conform to this OGC™ interface standard, a software implementation shallchoose to implement at least one of Core and optionally the other class.
All requirements-classes and conformance-classes described in this document are ownedby the standard(s) identified.

1 www.opengeospatial.org/cite

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

3. References
The following normative documents contain provisions that, through reference in thistext, constitute provisions of this document. For dated references, subsequent
amendments to, or revisions of, any of these publications do not apply. For undated
references, the latest edition of the normative document referred to applies.
[NR1] W3C Recommendation January 1999, Namespaces In XML,
http://www.w3.org/TR/2000/REC-xml-names.
[NR2] W3C Recommendation 6 October 2000, Extensible Markup Language (XML)
1.0 (Second Edition), http://www.w3.org/TR/REC-xml[NR3] W3C Recommendation 2 May 2001: XML Schema Part 0: Primer,
http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/[NR4] W3C Recommendation 2 May 2001: XML Schema Part 1: Structures,
http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/[NR5] W3C Recommendation 2 May 2001: XML Schema Part 2: Datatypes,
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/[NR6] OWS Common Implementation Specification, May 2005 OGC 05-008c1[NR7] OpenGIS® Web Services Common Specification OGC 06-121r9[NR8] The Extensible Markup Language (XML), World Wide Web Consortium,
http://www.w3.org/TR/1998/REC-xml-19980210[NR9] New OGC Document Template Draft OGC 10-176r4[NR10] Guidance to Editors and Authors of OGC Documents that use the OGC
Standards document template OGC 10-177r3[NR11] Policy Directives for Writing and Publishing OGC Standards: TC Decisions
OGC 06-135r11[NR12] The Specification Model — A Standard for Modular specifications OGC 08131r3[NR13] Unified Modeling Language (UML) Version 1.3, The Object Management
Group (OMG): http://www.omg.org/cgi-bin/doc?formal/00-03-01[NR14] Metalink Internet Standard (Metalink):
http://www.metalinker.org/schema/3.0/metalink.xsd
Other references:
13

Copyright © 2014 Open Geospatial Consortium

OGC 13-043[OR1] Heterogeneous Missions Accessibility – Design Methodology, Architecture andUse of Geospatial Standards for the Ground Segment Support of Earth
Observation missions ESA TM-21
http://www.esa.int/About_Us/ESA_Publications/ESA_TM21_Heterogeneous_Missions_Accessibility

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

4. Terms and Definitions
This document uses the terms defined in §5.3 of [OGC 06-121r8], which is based on the
ISO/IEC Directives, Part 2, Rules for the structure and drafting of International
Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate arequirement to be strictly followed to conform to this standard.
For the purposes of this document, the following additional terms and definitions apply.
4.1
dataset series (dataset collection )Collection of datasets sharing the same product specification [ISO 19113, ISO 19114,
ISO 19115]. In this context, a collection metadata record in the catalogue describes acollection of EO Products, typically a dataset collection corresponds to datasets (i.e.
products) generated by a single sensor in a specific mode on a particular EO satellite.
4.2
EO Product
Data product, typically stored on computer file, generated by sensors carried by Earth
Observation Satellites.
4.3
identifiera character string that may be composed of numbers and characters that is exchanged
between the client and the server with respect to a specific identity of a resource.
4.4
profileset of one or more base standards and - where applicable - the identification of chosenclauses, classes, subsets, options and parameters of those base standards that arenecessary for accomplishing a particular function [ISO 19101, ISO 19106]
4.5
procedure oriented architectural styleplatform-independent design approach that is focused on operations, their parameters andtheir results, that can be defined in an abstract level specification. Concrete platformdependent specifications can be derived from the abstract level, allowing, for example,
KVP or SOAP messaging.
4.6
product order
Ordering request asking the processing and delivery of precisely identified EO Products.
4.7
resource oriented architectural styleplatform-independent design approach that is focused on resources, representations andactions, that can be defined in an abstract level specification. Concrete platform15

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
dependent specifications can be derived from the abstract level, allowing, for example, a
RESTful architecture.
4.8
URL component
text contained after the context path between two forward slashes “/”, that are not placed
between two matching parentheses “(...)”, and before any question mark character “?”
4.9
URL component key
text contained in an URL component that comes before an opening parenthesis “(“
4.10
URL component value
text contained in an URL component that is enclosed between the first opening
parenthesis “(“ and the last closing parenthesis “)” in the → component
ExampleIn the http://example.org/component1/componentKey(componentValue),components are as follows:
Context Path: http://example.org/
URL Components: component1, componentKey(componentValue)
URL Component Keys: component1, componentKey
URL Component Values:componentValue

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

5. Conventions
This sections provides details and examples for any conventions used in the document.
Examples of conventions are symbols, abbreviations, use of XML schema, or special
notes regarding how to read the document.
5.1 Abbreviated terms
AcronymDefinition

API

Application Program Interface

COTS

Commercial Off The Shelf

CRS

Coordinate Reference System

CSW

Catalogue Service-Web

DSEO

Download Service for Earth Observation
Products

DCE

Distributed Computing Environment

DCP

Distributed Computing Platform

EO

Earth Observation

HMA

Heterogeneous Missions Accessibility

HTTP

Hyper Text Transport Protocol

ISO

International Organization for Standardization

OGC

Open GIS Consortium

SOAP

Simple Object Access Protocol

SWG

Standard Working Group

UML

Unified Modeling Language

URI

Uniform Resource Identifier

URL

Uniform Resource Locator

URN

Uniform Resource Name

UTF-8

Unicode Transformation Format-8
17

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
AcronymDefinition

WSDL

Web Service Definition Language

W3C

World Wide Web Consortium

XML

eXtensible Markup Language

5.2 UML notation
5.2.1 Introduction
Some diagrams that appear in this document are presented using the Unified Modeling
Language (UML) diagrams:
Class Diagrams
Class diagrams show the static structure of the model, in particular, the things thatexist (such as classes and types), their internal structure, and their relationships toother things. Class diagrams do not show temporal information, although they
may contain occurrences of things that have or describe temporal behaviour.
Sequence Diagrams
A sequence diagram shows an interaction arranged in time sequence. In
particular, it shows the objects participating in the interaction by their “lifelines”
and the messages that they exchange arranged in time sequence. It does not show
the associations among the objects.
5.2.2 UML Class Diagrams
A class diagram is a picture providing generic descriptions of possible systems. Class
diagrams and object diagrams are alternate representations of object models. Class
diagrams contain classes and object diagrams contain objects, but it is possible to mix
classes and objects when dealing with various kinds of metadata, so the separation is not
rigid. Class diagrams contain icons representing classes, interfaces, and theirrelationships. In particular, class diagrams contain:
Logical Packages
Packages purpose is to partition the logical model of a system. They are clustersof highly related classes that are themselves cohesive, but are loosely coupledwith other such clusters. You can use packages to group classes, interfaces, andother packages.
Classes

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
A class captures the common structure and common behaviour of a set of objects.
A class is an abstraction of real-world items. When these items exist in the realworld, they are instances of the class, and referred to as objects.
Interfaces
An interface specifies the externally visible operations of a class and/or
component, and has no implementation of its own. An interface typically specifies
only a limited part of the behaviour of a class or component.
Parameterized Classes
A parameterized class is a template for creating any number of instantiated classes
that follow its format. It declares formal parameters. You can use other classes,
types, and constant expressions as parameters. You cannot use the parameterizedclass itself as a parameter. You must instantiate a parameterized class before you
can create its objects. In its simplest form, you can use parameterized classes tobuild container classes.
Instantiated Classes
An instantiated class is a class formed from a parameterized class by supplying
actual values for parameters. It is created by supplying actual values for theformal parameters of the parameterized class. This instantiation process forms a
concrete class in the family of the parameterized class. The instantiated classshould be put at the client end of an instantiate relationship (accessible throughthe Create Entry on the Tools menu) that points to the corresponding
parameterized class.
Association Relationships
An association represents a semantic connection between two classes, or betweena class and an interface. Associations are bi-directional; they are the most generalrelationship and also the most semantically weak.
Aggregate Relationship
The aggregate relationship is used for showing a whole and part relationshipbetween two classes.
The class at the client end of the aggregate relationship is sometimes called theaggregate class. An instance of the aggregate class is an aggregate object. The
class at the supplier end of the aggregate relationship is the part whose instances
are contained or owned by the aggregate object. The aggregate relationship isused for showing that the aggregate object is physically constructed from otherobjects or that it logically contains another object. The aggregate object has
ownership of its parts.
19

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Generalize/Inherits Relationships
A generalize relationship between classes shows that the subclass shares the
structure or behaviour defined in one or more super-classes. Use a generalize
relationship to show an "is- a" relationship between classes.
Instantiates Relationships
An instantiates relationship represents the act of substituting actual values for theparameters of a parameterized class or parameterized class utility to create a
specialized version of the more general item. In most cases, you will also draw auses relationship between the instantiated class and another concrete class that isused as an actual parameter.
Dependency Relationships
Draw a dependency relationship between two classes, or between a class and aninterface, to show that the client class depends on the supplier class/interface toprovide certain services, such as:
o The client class accesses a value (constant or variable) defined in the
supplier class/interface.
o Operations of the client class invoke operations of the supplierclass/interface.
o Operations of the client class have signatures whose return class orarguments are instances of the supplier class/interface.
The next picture shows the items just explained.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
class UML Notations Diagrams

Package1«interface»
Interface1

p1 : t1
Class1

Class3«bind»

association«istantiated class»
Class4

Class2

Class5aggregation

Class6

SuperClass

SubClass_B

SubClass_A

Figure 5-1: UML Class Diagram notations.

5.2.3 UML Sequence Diagrams
Sequence diagrams are a representation of an interaction between objects. A sequence
diagram traces the execution of an interaction in time.
The picture below illustrates a sequence diagram.

21

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
sd UML Sequence Diagrams Notations
Object1

Object2

Actor1
operation_A()
operation_B()

Figure 5-2: UML Sequence Diagram notations.

Each interaction between objects is the activation of an operation of an object, which
includes input and output parameters.
5.3 XML notation
Most diagrams that appear in this specification are presented using an XML schema
notation defined by the XMLSpy tool and described in this sub-clause.
Hereafter the symbols defined in the XML schema notation are described:
o Optional single element without child elementso Optional single element with child elementso Mandatory single element.

o Mandatory multiple element containing child elements. This element must occur
at least once (Minimum Occurrence = 1) and may occur as often as desired(Maximum Occurrence = unbounded).

o Mandatory single element with containing simple content (e.g. text) or mixed
complex content (e.g. text with xhtml markup).

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

o A sequence of elements. The elements must appear exactly in the sequence inwhich they appear in the schema diagram.

o A choice of elements. Only a single element from those in the choice may appear
at this position.

o Types. If an element refers to a complex global type, the type is shown with aborder and yellow background.

o Complex Type. The following figure illustrates the use of a complex type fordefining an XML element	  5.4 Data dictionary tables
The XML data dictionary used to describe the parameters within this document is
specified herein in a series of tables. The contents of the columns in these tables aredescribed in Table 5-1.

23

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Column title
Names(left column)

Column contents
Name of the XML element to describe.

Definition(second column)
Data type andvalue(third column)

Specifies the definition of this element.

The name uses the XML encoding capitalization specified in Sub-clause
11.6.2 of [OGC 05-008]. The name capitalization rules used are specified in
Sub-clause 11.6.2 of [OGC 05-008]. Some names in the tables may appear tocontain spaces, but no names contain spaces.

Normally contains two items:
The mandatory first item is often the data type used for this parameter, using
data types appropriate in the model, in which this parameter is a named
attribute of a XML entity. Alternately, the first item can identify the data
structure (or class) referenced by this association, and references a separate
table used to specify the contents of that class (or data structure).
The optional second item in the third column of each table should indicate
the source of values for this parameter, the alternative values, or other value
information, unless the values are quite clear from other listed information.

Multiplicity anduse(fourth column)

Normally contains two items:
The item specifies the multiplicity and optionality of this parameter in thisdata structure, either “One (mandatory)”, “One or more (mandatory)”, “Zeroor one (optional)”, or “Zero or more (optional)”.
If it needs to describe the multiplicity of an XML choice element, it needs touse the word “mandatory/choice” and “optional/choice”. The choice elementin fact provides an XML representation for describing a single selection froma set of element types where each selection item can be defined ‘mandatory’.
Table 5-1: Contents of data dictionary tables.

When the data type used for a parameter, in the third column of such a table, is anothercomplex type, all the values must be specified and listed, together with the meaning ofeach value. When this information is extensive, these values and meanings are specified
in a separated table and a cross reference to it is put in the table.

6. Download Service for Earth Observation Products (DSEO) Overview
As highlighted in the introduction sections, this document provides a simple interface fordownloading EO Products available in two different ways:

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Immediate Product access: the requested product, specified by submitted URI, is
on-line and ready for access.
On-Demand Download: this type of request triggers an on-demand generation of
the desired product. This option is used also when the requested product isavailable in off-line archive and the Download Server needs time to retrieve andrestore it to on-line availability.
6.1 Protocol Operations
This specification is composed of the following operations:
GetCapabilities, which allows a client to receive service metadata (Capabilities
document) that describes the abilities of the specific server (see §8.1).
GetProduct, which allows a client to request a specified Product providing its
unique URI (see §8.2). The server returns different responses in case therequested product is on-line (directly available / available on anotherdissemination server / Metalink download) or off-line / on-demand generated(retry later to check product availability).

25

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
6.2 Essential Use-cases
6.2.1 On-Line available product Scenario
sd Product On-line Scenario
Download Server

GET/{Product	
  URI}

Dissemination
Server:Client
GetProduct()

CheckForOnLineProduct()

alt On-Line Product
HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/octet-­‐stream

alt Direct Dow nload< Product	
  as	
  byte-­‐stream>

HTTP/1.1	
  303	  Forward
Content-­‐Type:	
  text/html

alt Forw arded Dow nload

Location:	
  < Forwarded	
  URI>GET	
  {Forwarded	
  URI}HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/octet-­‐stream< Product	
  as	
  byte-­‐stream>

HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/metalink+ xml

alt Metalink Dow nload< Metalink	
  XML	  File>HTTP/1.1	
  404	
  Not	  FoundContent-­‐Type:	
  text/xml

alt Missing Product< Missing 	
  Product	  Response>

HTTP/1.1	
  400	  Bad	
  Req uest
Content-­‐Type:	
  text/xml

alt Inv alid Request< Invalid	
  Request	
  Response>

Figure 6-1: Product On-line scenario.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
The scenario involves the following entities:
Client: which is the one asking for EO Products;
Download Server: it is the server implementing this specification;
Dissemination Server: it is an external server different from the previous one;
Scenario description:
The Client asks to the Download Server for a specific product (using GetProductwith a specific product URI).
The Download Server checks for the on-line availability of the product.
o If the product is on-line available, there are the following sub-cases: The product is returned as byte stream.
 The product is online, but at different site: the Download Server
returns a forwarded download message where the alternative
location of the requested product is specified. The client will
download the product form the re-directed server.
 The product is online, but composed of multiple files: theDownload Server sends back a Metalink XML file. The Client willparse the Metalink to obtain all the items that are part of therequested product. This sub-case is detailed in §6.2.1.1.
o If the product is missing the Download Server returns a Missing Productexception message.
o If the request is invalid (the submitted request is not well formed, etc.) the
Download Server returns a Bad Request exception message.

27

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
6.2.1.1 Product Download via Metalink Scenario
sd Metalink Support Scenario
Download Server

Download Server#2

Client
GET/{Product	
  URI}

GetProduct()

Checking for requested Product()

HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/m etalink+ xm l
GET/{Product	
  URI}?filenam e= {Item 	  # 1	
  filenam e}< Metalink	
  XML	  File>GetProduct()

HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/octet-­‐stream

GET/{Product	
  URI}?filenam e= {Item 	  # 2	
  filenam e}< File	  # 1	  as	
  byte-­‐stream >GetProduct()

Rang e:	
  bytes= 0-­‐512

GET/{Product	
  URI}?filenam e= {Item 	  # 2	
  filenam e}

GetProduct()

Rang e:	
  bytes= 513-­‐1024

HTTP/1.1	
  206	  Partial	
  Content
Content-­‐Type:	
  application/octet-­‐stream
Content-­‐Leng th:	  1024< File	  # 2	
  Rang e	
  0-­‐512	
  as	
  byte-­‐stream >

.	
  .	
  .

GET/{Product	
  URI}?filenam e= {Item 	  # N	
  filenam e}

HTTP/1.1	
  206	  Partial	
  Content
Content-­‐Type:	
  application/octet-­‐stream
Content-­‐Leng th:	  1024< File	  # 2	
  Rang e	
  513-­‐1024	
  as	
  byte-­‐stream >GetProduct()

HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/octet-­‐stream< File	  # N	  as	
  byte-­‐stream >Figure 6-2: Product Download via Metalink Scenario.

The scenario involves the following entities:
Client: which is the one asking for EO Products;
Download Server, Download Server#2: servers implementing this specification.
Scenario description:

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
The client asks to the Download Server to retrieve a product with specified URI(GetProduct).
The Download Server internally checks if the specified product is available in online storage. The product is on-line available and it is composed of multiple files
so the Download Server returns a Metalink XML file.
A Metalink is an XML file where the various items composing the EO Productare listed and the possible sources are specified as well. Major details can befound on section §7.1.
On Client side, the Metalink response message triggers the parsing of the file. For
each item composing the product, one or more sub-URIs is defined.
Each sub-URI is retrieved from the Client by an HTTP GET request:o In case the requested item has one source, then it is directly downloaded.
o In case the requested item has two or more sources (e.g. item #2 iscurrently available both from main Download Server and from Download
Server #2) then, depending on Client capability, a parallel download canbe performed. The client sends a GetProduct request to each server asking
for a byte range of the product. Each server sends back the partial content.
When the client has received all trunks, then merge them rebuilding thewhole file.

29

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
6.2.2 On-demand download Scenario
sd Product Off-line / On-demand Scenario
Download Server:Client
GET	
  {Product	
  URI}

GetProduct()

CheckForOnLineProduct()

alt Off-Line / On-Demand Product

HTTP/1.1	
  202	
  Accepted
Content-­‐Type:	
  text/xm l
GET	
  {Product	
  URI}

GetProduct()< Product	  Download	
  Response(Retry	  After	  param eter)>

HTTP/1.1	
  202	
  Accepted
Content-­‐Type:	
  text/xm l< Product	  Download	
  Response(Retry	  After	  param eter)>

GET	
  {Product	
  URI}

GetProduct()

HTTP/1.1	
  200	  O kContent-­‐Type:	
  application/octet-­‐stream< File	  as	
  byte-­‐stream >alt Missing Product

HTTP/1.1	
  404	
  Not	  FoundContent-­‐Type:	
  text/xm l< Missing 	
  Product	  Response>alt Inv alid Request

HTTP/1.1	
  400	  Bad	
  Req uest
Content-­‐Type:	
  text/xm l< Invalid	
  Request	
  Response>

Figure 6-3: Product Off-Line / On-Demand Scenario.

The scenario involves the following entities:

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
o Client: which is the one asking for EO Products;
o Download Server: it is the server implementing this specification;
Scenario description:o The client asks a product with specified URI (GetProduct) to the Download
Server.
o The Download Server internally checks whether the specified product is online
available or not.
o The Download Server returns a Product Download Response XML message
informing the client that the request has been accepted, but the product is notready yet. Also a “retry after” time interval is included as well.
o Later on the Client tries to get the product by calling GetProduct again with thesame URL:o If the product is not yet available, the Download Server will reply with a
new Product Download Response XML message with an updated “retry
after” time interval.
o If the product is ready, the Download Server returns it to the Client.
o If the product is missing the Download Server returns a Missing Productexception message.
o If the request is invalid (the submitted request is not well formed, etc.) the
Download Server returns a Bad Request exception message.

31

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

7. Shared Aspects
7.1 Metalink
7.1.1 Introduction
An EO Product is generally an image of a certain earth surface area. In some cases a
product can also include metadata such as: image description, telemetry-related data,
sensor information and so on.
All items of a product are usually managed as single files (e.g. ENVISAT products or theones in the Earth Explorer format stored as single TAR files) and in this way they can be
downloaded starting directly from a dedicated Product URI. Special considerations haveto be taken into account in the case the product is composed of several files (e.g. in thecase of SAFE products) or the product can be downloaded in parallel from different
sources. In these cases Metalink files are an appropriate solution.
A Metalink is an xml file that refers to other files by their HTTP URLs. It is a descriptionof a collection of files, each file being potentially another Metalink file referencing
another sub-collection of files.
Several clients have already a built-in support for Metalink, but in general to enable
download via Metalink a plug-in must be installed.
7.1.2 Multiple-file ProductAs per HTTP protocol, from a single URL a client can get a single byte stream, whichmeans that from a single URL only a single file can be retrieved.
In case the download is composed of multiple files, the following options arise:
The different files are packed together in a single archive file.
The download is performed via processing a Metalink file referencing the URLs
of all items composing the complete download.
The first solution is not suitable when the product files are not already archived in asingle file, but must be packed at run time. In this case the Metalink file download
solution recommended.
7.1.3 Parallel Download
Another scenario where Metalink files are very useful is when the product files are
replicated on different storage locations. In this case the various replica of the same
product can be referred from the Metalink and then a client can activate the download inparallel from the various sources improving the download bandwidth and also thereliability of the download process.
7.1.4 Metalink XSD Schema
In this section we briefly describe the Metalink XSD schema focusing on the main
aspects of this representation which we use in this document, leaving all the details to its
reference [NR14].

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Figure 7-1: Metalink XML Schema diagram.

33

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Figure 7-2: Metalink - filesType XML schema diagram.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
As shown in Figure 7-1, the Metalink data structure is composed of two major xml
elements:
Files: in this section the Metalink regroups all items composing a product with
one file entry for each item. Each file contains one or more resource object type(described below) and a series of elements and attributes better described in[NR14].
Resources: in this sub-section the Metalink structure describes all the resourcesthat have a local copy of the item-related file. Each resource is described by a
URL to the requested file. See [NR14] for details.
7.1.5 Metalink example
In this section we provide a Metalink response example for an EO product composed of
two items with multiple sources.
<?xml version="1.0" encoding="UTF-8"?><metalink xmlns=http://www.metalinker.org/
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.metalinker.org/schema/3.0/metalink.xsd"><files><file name="product.SAFE/manifest.mf"><copyright>European Space Agency</copyright><resources><url type="http">http://DSEOServer/product.SAFE?file=manifest</url><url type="http">http://DSEOServer_bis/product.SAFE?file=manifest</url></resources></file><file name="product.SAFE/image.jp2"><copyright>European Space Agency</copyright><resources><url type="http">http://DSEOServer/product.SAFE?file=image</url><url type="http">http://DSEOServer_bis/product.SAFE?file=image</url></resources></file></files></metalink>

As shown in the example above we have one EO product called “product.SAFE” whichis composed of two items (two file XML elements): “manifest.mf”, a manifest file and“image.jp2” a JPEG2000 image file. Each item is currently available from two different
locations (a resource XML element for each file with two url XML element) that makes
the file available from two different Download Servers (in this case DSEOServer and
DSEOServer_bis).

35

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

8. DSEO Operations
DSEO service operations supports Key-Value Pairs (KVP) encoding and then theirparameters are set as list of key value pairs over HTTP GET requests.
Each pair is defined using the name of the parameter followed by an equals sign, '=',
followed by the value given to the parameter, for example"productURI=http://www.example.org/product1".
In HTTP GET messages, the KVP lists are part of the URL.
8.1 GetCapabilities
The GetCapabilities operation allows clients to retrieve service metadata from a server.
The response to a GetCapabilities request shall be an XML document containing service
metadata about the server, including specific information about the DSEO server.
This section specifies the request parameters and the XML document that a DSEO servermust return to describe its capabilities.
8.1.1 GetCapabilities operation request
The GetCapabilities operation request shall be as specified in Sub-clauses 7.2 and 7.3 of[NR7]. The value of the “service” parameter shall be “DSEO”. The allowed set of service
metadata (or Capabilities) XML document section names and meanings shall be as
specified in Tables 3 and 7 of [NR7].
The “Multiplicity and use” column in Table 1 of [NR7] specifies the optionality of eachlisted parameter in the GetCapabilities operation request. The following table specifies
the implementation of those parameters by DSEO clients and servers.
NamesDefinition

Data types and values

Multiplicity and use

Service

Service type identifier

Character String type, not empty.

One (mandatory)

SHALL be “DSEO"
RequestOperation nameCharacter String type, not empty.

One (mandatory)

SHALL be "GetCapabilities"
AcceptVersionSections

Prioritized sequence of one
or more standard versions
accepted by client, withpreferred versions listed
first

Sequence of Character String
type, each not empty Value is listof x.y.z “version” values.

Unordered list of zero or
more names of requested
sections in complete service
metadata document

Sequence of Character String type,each not empty Value is list of
section names Allowed section
names are in Table 18

Copyright © 2014 Open Geospatial Consortium

SHALL contain "1.0.0"

Zero or one (optional)
When omitted, return latest
supported version
Zero or one (optional)
When omitted or not supported
by server, return complete
service metadata document

OGC 13-043
Names

Definition

Data types and values

Multiplicity and use

UpdateSequence

Service metadata document
version, value is“increased” whenever any
change is made in complete
service metadata document

Character String type, not empty
Values are selected by each server,
and are always opaque to clients

Zero or one (optional) Whenomitted or not supported byserver, return latest service
metadata document

AcceptFormats

Prioritized sequence of zeroor more response formats
desired by client, withpreferred formats listed
first.

Sequence of Character String type,each not empty. Value is list offormat identifiers

Zero or one (optional) Whenomitted or not supported byserver, return service metadata
document using MIME type"application/xml"

Identifiers are MIME types offormats useful for service metadata
documents.

Table 8-1: Parameters in GetCapabilities operation request.

8.1.1.1 GetCapabilities request example
The following is an example of GetCapabilities request.
http://www.dseo.example.org/<context path>?service=DSEO&request=GetCapabilities&version=1.0.0

8.1.2 GetCapabilities operation response
The GetCapabilities operation response is based on the ServiceMetadata document. It is
the entry point resource that represents the resources available on the service andcommunication requirements for the service.
The following figure provides a graphical representation of the Capabilities XML
document:

37

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

Figure 8-1: GetCapabilities response schema.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Names@version@updateSequence

Definition

Data type and valueStandard version for operation. It
is specified in Table 6 in
Subclause 7.4.2 of [NR7].
Specified in Table 6 in
Subclause 7.4.2 of [NR7].

It shall be set to 1.0.0

Multiplicity
and use1

Can be left empty

0..1ServiceIdentification

Metadata about this specific server. The contents and organization of this section should be
the same for all OWSs, as specified in §7.4.4 of [NR7], plus the tailoring specified below.

ServiceProvider

Metadata about the organization operating this server. The contents and organization of thissection should be the same for all OWSs, as specified in §7.4.5 of [NR7].

OperationsMetadata

Metadata about the operations
0..1
Can be left empty
specified by this service andimplemented by this server,
Comment:
including the URLs for operation
DSEO specification is operation
requests. The basic contents andoriented, then this section must
organization of this section shall be be filled with provided
the same for all OWSs, as specified operations:in §7.4.6 of [NR7].
GetCapabilites
GetProduct.
Languages supported by this server. The contents and organization of this section shall be
the same for all OWSs, as specified in §7.4.9 of [NR7]Languages

Table 8-2: Parameters in GetCapabilities operation response.

8.1.2.1 OperationsMetadata section
The OperationsMetadata section is the same as for all OGC Web Services, as specified in
section §7.4.6 and owsOperationsMetadata.xsd of OWS Common [OGC 06-121r3]. The
parameters are specified in table Table 8-3:
Name

Value

Meaning of parameter value

Operation.name

GetCapabilities

The GetCapabilities operation is implemented by this server.

GetProduct

The GetProduct operation is implemented by this server.

Table 8-3: OperationsMetadata section.

The “Name” column uses dot-separator notation to identify parts of a parent item. The“Value” column references an operation parameter, in this case an operation name, andthe meaning of including that value is listed in the right column.
The Operation data type allows specifying distributed computing platform (DCP)
parameters and the encoding of this DCP as a Constraint within the DCP parameter.
8.1.2.2 GetCapabilities response example<?xml version="1.0" encoding="UTF-8"?><Capabilities version="1.0.0" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns="http://www.opengis.net/dseo/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/dseo/1.0./dseo.xsd"><ows:ServiceProvider><ows:ProviderName>ESA</ows:ProviderName><ows:ProviderSite/>

39

Copyright © 2014 Open Geospatial Consortium

OGC 13-043<ows:ServiceContact><ows:IndividualName>John Smith</ows:IndividualName><ows:PositionName>EO Operator</ows:PositionName><ows:ContactInfo><ows:Phone/></ows:ContactInfo><ows:Role codeSpace="http://www.xmlspy.com">String</ows:Role></ows:ServiceContact></ows:ServiceProvider><ows:OperationsMetadata><ows:Operation name="GetCapabilities"><ows:DCP><ows:HTTP><ows:Get/></ows:HTTP></ows:DCP></ows:Operation><ows:Operation name="GetProduct"><ows:DCP><ows:HTTP><ows:Get/></ows:HTTP></ows:DCP></ows:Operation></ows:OperationsMetadata></Capabilities>

8.1.3 GetCapabilities response exceptions
When a DSEO Server encounters an error while performing a GetCapabilities operation,
it SHALL return an exception-report message as specified in §8 of OWS Common [OGC
06-121r3]. 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 following table reports the possible error conditions with the defined HTTP
responses.
Error Description
Bad Request

HTTP
Error
Code
400

OGC Exception Report“exceptionCode”“locator”“BadRequest”

E.g. an invalid parameter in therequest.
Internal Server Error

500“NoApplicableCode”

Name of parameterwith invalid value

An error occurred inside the server
while processing the request.
Table 8-4: GetCapabilities error conditions.

8.2 GetProduct
The GetProduct operation allows DSEO clients to request a particular EO productidentified by an URI.

Copyright © 2014 Open Geospatial Consortium“ExceptionText”“Invalid value forParameter”“Internal Server
Error”

OGC 13-043
8.2.1 GetProduct operation request
The following table reports the parameters for sending a GetProduct request:
Names

Definition

Data types and values

Multiplicity and use

Service

Service type identifier

Character String type, not empty

One (mandatory)

SHALL be “DSEO"
RequestOperation nameCharacter String type, not empty

One (mandatory)

SHALL be "GetProduct"
VersionStandard version for
operation

URI of the product to be
ProductURI downloaded.

Character String type, not empty

One (mandatory)

SHALL contain "1.0.0"
URI type, not empty.

One (mandatory)

Table 8-5: Parameters in GetProduct operation request.

8.2.1.1 GetProduct operation request example
http://<hostname>:<port>/<contextpath>?service=DSEO&request=GetProduct&version=1.0.0&ProductU
RI={RequestedProductURI}

8.2.2 GetProduct operation response
As explained in section §6.2, different responses are possible depending on theavailability of the product (on-line / non on line) and on the server capability (Metalink
download, forwarded download).
The following table reports the possible responses, all based on standard HTTP protocol:
Response NameHTTP Status

MIME Type

Response Format

200 – Ok

Response
type
BinaryDirect Download

application/octet-stream

Metalink Download

200 – OkXML

application/metalink+xml

Specific to the product fileformat.
Metalink.xsd

Partial Content

206 – Partial
Content
202–
Accepted
303 – See
Other

Binaryapplication/octet-streamXMLtext/xml

dseo.xsd

ASCII

text/html

See http specifications

Accepted Download
Forwarded Download

Table 8-6: GetProduct operation responses.

8.2.2.1 Direct Download response
The EO Product is on-line, either because it is an as-it-is product or because has been
moved on-line after a transfer from off-line or on-demand processing has been

41

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
completed. It is sent back to the client as a byte-stream directly from the invoked DSEO
Server.
8.2.2.2 Metalink Download response
The requested EO Product is composed of several files and, for different reasons (e.g. forperformances or bandwidth restrictions), cannot be downloaded as a single file. A
Metalink file is generated by the Download Server which provides the product file tree
structure and the relevant sub-URI’s. The use of parallel download is suggested toretrieve the entire product quickly. Metalink files can also be used by the Download
Server to indicate that the product is available from different locations. See §7.1 forfurther details on Metalink structure and examples.
8.2.2.3 Accepted Download response
The request is valid but the product is still not available for the download. This happens
when the product is either off-line or needs on-demand processing.
The following figure provides a graphical representation of the DSEO Accepted
Download Response element.

Figure 8-2: GetProduct – Accepted Download response schema.

Names

Definition

ResponseCode

The response code

Data type and value
Type:
ProductDownloadResponseType.
Allowed values:
ACCEPTED
IN_PROGRESSSUSPENDED
ERROR

Copyright © 2014 Open Geospatial Consortium

Multiplicity
and use1

OGC 13-043
Names

Definition

Data type and value

ResponseMessage

Response Message

Type: xs:string.

RetryAfter

Number of seconds suggested
before retry the request.

Type: restricted xs:unsignedShort

Multiplicity
and use0..1
0..1

Allowed values:

ETA

Estimated completion timeminInclusive value=”1”
Type: xs:dateTime

0..1

CompletionPercentage

Task completion percentage

Type: restricted xs:unsignedShort

0..1

Allowed values:
maxInclusive value=”100”

Table 8-7: Parameters in GetProduct – Accepted Download operation response.

8.2.2.4 Forwarded Download response
It is the same as in case of Direct Download, but this time the hosting server is not the
DSEO Server but another server to which the client is redirected to, following anothervalid URL.
8.2.2.5 Direct Download response example
HTTP/1.1 200 Ok |Content-Type: application/octet-stream;
010100010....

8.2.2.6 Metalink Download response example
HTTP/1.1 200 OK |Content-Type: application/metalink+xml;<?xml version="1.0" encoding="UTF-8"?><metalink xmlns=="http://www.metalinker.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.metalinker.org/schema/3.0/metalink.xsd"><files><file name="product.SAFE/manifest.mf"><copyright>European Space Agency</copyright><resources><url type="http">http://server/product.SAFE?file=manifest</url></resources></file><file name="product.SAFE/image.j2p"><copyright>European Space Agency</copyright><resources><url type="http">http://server_bis/product.SAFE?file=image"</url></resources></file></files></metalink>

8.2.2.7 Accepted Download response example
HTTP/1.1 202 Accepted |Content-Type: text/xml;<?xml version="1.0" encoding="UTF-8"?>43

Copyright © 2014 Open Geospatial Consortium

OGC 13-043<dseo:ProductDownloadResponse
xmlns:dseo=http://www.opengis.net/spec/DSEO/1.0/schema/ProductDownloadResponse
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/spec/DSEO/1.0/schema/ProductDownloadResponse"><dseo:ResponseCode>IN_PROGRESS</dseo:ResponseCode><dseo:RetryAfter>30</dseo:RetryAfter></dseo:ProductDownloadResponse>

8.2.2.8 Forwarded Download response example
HTTP/1.1 303 See Other |Content-Type: text/html;
Location: http://disseminationserveraddress/<ProductURI>

8.2.3 GetProduct response exceptions
When a DSEO Server encounters an error while performing the GetProduct operation, it
SHALL return an exception report message as specified in §7.4.1 of OWS
Common [OGC 06-121r3] and 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 following table reports the possible error conditions with the defined HTTP
responses.
Error Description
Bad Request

HTTP
Error
Code
400

“BadRequest”

E.g. an invalid parameter in therequest.
Missing Product404“MissingProduct”

An error occurred inside the server
while retrieving the product.
Internal Server Error
500“Requested
product ismissing”“NoApplicableCode”“Internal Server
Error”

An error occurred inside the server
while processing the request.
Authentication Fail401

AuthenticationFailed“identity_token”

Authorization Fail

AuthorizationFailed

Possible values:“ProductURI”

403

OGC Exception Report“exceptionCode”“locator”

Table 8-8: GetProduct error conditions.

Copyright © 2014 Open Geospatial Consortium

Name of parameterwith invalid value“ExceptionText”“Invalid value forParameter”“Invalid or missing
identity
information”
Text describing theitem notauthorized.

OGC 13-043

9. DSEO “Core” Requirement ClassThis section reports all the requirements a DSEO Server has to comply with for claiming
the conformance with respect to the Core class.
This section has been structured by operations: for each DSEO operation a dedicated subsection has been prepared reporting all related requirements:
GetCapabilities requirements have been reported in §9.1.
GetProduct (On-Line) requirements have been reported in §9.2.
9.1 GetCapabilities
Requirements Class
http://www.opengis.net/spec/DSEO/1.0/req/Core

Target type
Dependency

Requirement

Download Server

None
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities

The DSEO Server shall implement the GetCapabilities operation.
Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Request

The GetCapabilities request shall consist of a HTTP GET with the following KVP
parameters:
Service=DSEO
Operation=GetCapabilities
Version=1.0.0
Requirement

Requirement

Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Response

The GetCapabilities response shall consist of an XML instance document asvalidated by the entity Capabilities in the dseo.xsd XML Schema.
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Metadata

The GetCapabilities response shall contain all information about the operations
supported by the DSEO Server.
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Encoding

A compliant DSEO Server shall support KVP encoding.
The returned Capabilities document shall have:
Capabilities/Contents/ContentsType supportedEncoding=KVP.

45

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Exceptions

When a DSEO Server encounters an error while performing a
GetCapabilities operation it shall return:
HTTP Status Code: 4XX for errors on the client side; 5XX for errors onserver side as specified in Table 8-4.
HTTP Entity Body: an ows:ExceptionReport according to the clause 8 of
[NR7].

9.2 GetProduct (On-Line)
Requirements Class
http://www.opengis.net/spec/DSEO/1.0/req/Core

Target type
Dependency

Requirement
Requirement

Download Server

None
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct

The DSEO Server shall implement the GetProduct operation.

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request

The GetProduct operation must be invoked using the following mandatory
parameters:
service=DSEO
request=GetProductversion=1.0.0
ProductURI={the requested product URI}
Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response

The DSEO Server shall reply to a correct GetProduct request for on-line productone of the following response types:
DirectDownload
PartialContent
MetalinkDownload
ForwardedDownload
Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/DirectDownload

In case of DirectDownload response, a DSEO server shall return the required
file as binary stream.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Requirement

Requirement

Requirement

Requirement

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/PartialCont
ent

A DSEO server shall support HTTP GET request with RANGE attribute in orderto return only the specified trunk of data.

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/MetalinkDo
wnloadIn case of product composed of multiple files a DSEO server shall return a
Metalink file reporting the URI of all related files.

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/Forwarded
Download

In case of Forwarded Download the DSEO server shall return an HTTP redirection to the actual file location.
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Exceptions

When a DSEO Server encounters an error while performing a GetProductrequest it shall return:
HTTP Status Code: 4XX for errors on the client side; 5XX for errors onserver side as specified in Table 8-8.
HTTP Entity Body: an ows:ExceptionReport according to the clause 8 of
[NR7].

47

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

10. DSEO “On-Demand Download” Requirement ClassThis section reports all the requirements a DSEO Server has to comply with for claiming
the conformance with respect to the On-Demand Download class.
This section has been structured by operations: for each DSEO operation a dedicated subsection has been prepared reporting all related requirements.
10.1 GetProduct (On-Demand)
Requirements Class
http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload

Target type
Dependency

Requirement

Download Server

http://www.opengis.net/spec/DSEO/1.0/req/Core
http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response

In case of non online available product a DSEO server shall return the following
response:
AcceptedDownload
Requirement

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response/AcceptedDownload

In case of AcceptedDownload a DSEO server shall return a
ProductDownloadResponse element:
validated by dseo.xsd schema
including ResponseCode
including RetryAfter

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

11. Annex A (Normative): Conformance Class Abstract Test Suite
This section describes the Abstract Test Suite (ATS) of the
OGC Download Service for Earth Observation Products.
An ATS provides a basis for developing an executable test suite (ETS) to verify that an
Implementation Under Test (IUT) conforms to all relevant functional specifications.
A number of Conformance classes have been defined for verifying the various
Requirement classes defined in this specification:
Core conformance class, regrouping all tests for verifying Core classrequirements;
On-demand Download, regrouping all tests for verifying On-demand Downloadclass requirements.
A conformance class is implemented via a set of Conformance Tests, each testing one ormore requirements of the corresponding Requirements Class.

49

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
class DSEO
«Conformance Test»
Core - Capabilities«Conformance Test»
Core - Capabilities request non nominal
conditions«Conformance Test»
Core - Dow nload of single file product«Conformace Class»Core«Conformance Test»
Core - Dow nload of multi file product«Conformance Test»
Core - Dow nload of multi source product«Conformance Test»
Core - Redirected dow nload of file product«Conformance Test»
Core - Product request non-nominal
conditions.

«Conformance Test»
OnDemand - Dow nload of single file product«Conformance Class»
On Demand Dow nload«Conformance Test»
OnDemand - Dow nload of multi file product«Conformance Test»
OnDemand - Dow nload of multi source
product«Conformance Test»
OnDemand - Redirected dow nload of fileproduct

Figure 11-1: Requirement Classes & Abstract Test Suite.

11.1 Conformance Class: Core (http://www.opengis.net/spec/DSEO/1.0/conf/Core)
This Conformance Class is in charge of verifying the compliance of the DSEO server
under test with respect to the Core Requirement Class, which includes the basic functions
that every DSEO Server shall implement.
11.1.1 Core – Capabilitiesa) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetCapabilitiesb) Test Purpose: To verify that the DSEO Server under test correctly supports the
DSEO GetCapabilities operation.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
c) Test Method: Verify that the DSEO Server under test accepts a valid DSEO
GetCapabilities request with service name “DSEO” with KVP encoding.
Verify that the body of the response message:
Complies with the Capabilities element of dseo.xsd schema.
The ows:OperationsMetadata element is filled-in with the list of supported
operations.
The supported encoding (Capabilities/Contents/ContentsType
supportedEncoding) is KVPEncoding.
Pass if the assertion is satisfied; fail otherwise.
d) References:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Metadata
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Encodinge) Test type: Capability

11.1.2 Core – Capabilities request non-nominal conditionsa) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetCapabilities-nonnominalb) Test Purpose: Verification that the DSEO Server under test throws a correct error
message when incorrect GetCapabilities request is received.
c) Test Method: Send an incorrect DSEO GetCapabilities request via KVP HTTP
GET without service name. Verify that the response to the request is a HTTP
Error including an ows:ExceptionReport according to the clause 8 of [NR7].
d) References:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/Exceptions

51

Copyright © 2014 Open Geospatial Consortium

OGC 13-043e) Test type: Capability

11.1.3 Core – Download of single file producta) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetProduct-single-fileb) Test Purpose: to verify that a DSEO Server complies with all requirements for a
GetProduct operation for a single file product download.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-line single file product URI}
Verify that the DSEO Server replies with: HTTP/1.1 response with
Status = 200 Ok
Content-type: application/octet-stream
The HTTP payload contains the binary data representationof the requested product.
d) References:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/DirectDo
wnloade) Test Type: Capability

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
11.1.4 Core – Download of multi file producta) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetProduct-multi-fileb) Test Purpose: to verify that a DSEO Server complies with all requirements of a
GetProduct operation for a multi file product download.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-line multi file product URI}
Verify that the DSEO Server replies with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/metalink+xml
The HTTP payload contains a Metalink file valid withrespect to Metalink.xsd schema definition.
Verify that the Client parses the Metalink file and sends an HTTP GET
message for each item present in Metalink file.
The DSEO server replies to all requests with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/octet-stream
The HTTP payload contains the binary code representationof the item #N of requested product.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request

53

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/PartialCo
ntente) Test Type: Capability

11.1.5 Core – Download of multi source producta) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetProduct-multisourceb) Test Purpose: to verify that a DSEO Server complies with all requirements of
GetProduct operation for a multi source product download.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-line multi source product URI}
Verify that the DSEO Server replies with:
 An HTTP/1.1 response
Status = 200 Ok
Content-type: application/metalink+xml
The HTTP payload contains a Metalink file valid against
Metalink.xsd schema definition.
Verify that the Client parses the Metalink file and sends an HTTP GET
message for each source defined in the Metalink file including appropriate
range for every trunk.
The DSEO server replies with N:
 HTTP/1.1 response
Status = 206 Partial Content

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Content-type: application/octet-stream
The HTTP payload contains the binary code representationof the trunk #N of requested file.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/Metalink
Downloade) Test Type: Capability

11.1.6 Core – Redirected download of single file producta) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetProduct-redirectb) Test Purpose: to verify that a DSEO Server complies with all requirements for a
GetProduct operation for a redirected download of single file product.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={product located on another server URI}
Verify that the DSEO Server replies with: HTTP/1.1 response
Status = 303 See Other and the alternative location of
product on alternative server.
Verify that the Client sends an HTTP GET message to the suggested
alternative server.

55

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Verify that the Server replies with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/octet-stream.
The HTTP payload contains the binary data representationof the requested file.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/Forwarde
dDownloade) Test Type: Capability

11.1.7 Core – Product request non-nominal conditionsa) Test id: http://www.opengis.net/spec/DSEO/1.0/conf/Core/GetProduct-nonnominalb) Test Purpose: to verify that the DSEO Server under test throws a correct error
message when incorrect GetProduct request is received.
c) Test Method: To send an incorrect DSEO GetProduct request with invalid
product ID. Verify that the response is a HTTP Error including an
ows:ExceptionReport according to the clause 8 of [NR7].
d) References:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Exceptionse) Test Type: Capability

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
11.2 Conformance Class: On-demand Download(http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload)
11.2.1 OnDemand – Download of single file on-demand producta) Test id:
http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload/GetProductsingle-fileb) Test Purpose: to verify that the DSEO Server complies with all requirements of
GetProduct operation for the download of single file on-demand product.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-demand single file product URI}
Verify that the DSEO Server replies with:
 An HTTP/1.1 response with
Status = 202 Accepted
Content-type: text/xml
The HTTP payload contains the Product Download
Response XML message with retry-after parameter.
Repeat the test until the DSEO server replies with the required product: An HTTP/1.1 response with
Status = 200 Ok
Content-type: application/octet-stream
The HTTP payload contains the binary code representationof the requested product.
d) References:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct57

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/DirectDo
wnloadhttp://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponsehttp://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponse/AcceptedDownloade) Test Type: Capability

11.2.2 OnDemand – Download of multi file producta) Test id:
http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload/GetProductmulti-fileb) Test Purpose: to verify that the DSEO Server complies with all requirements of
GetProduct operation for the download of multi file on-demand product.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-demand multi file product URI}
Verify that the DSEO Server replies with:
 An HTTP/1.1 response with
Status: 202 Accepted
Content-type: text/xml
The HTTP payload contains the Product Download
Response XML message with retry-after parameter.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
The Client repeat the test waiting for the time interval specified in retryafter value until the DSEO server replies with the Metalink file: HTTP/1.1 response with
Status = 200 Ok
Content-type: application/metalink+xml
The HTTP payload contains a Metalink file valid against
Metalink.xsd schema definition.
The Client parses the Metalink file and sends an HTTP GET message foreach item present in Metalink file.
The DSEO server replies to all requests with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/octet-stream
The HTTP payload contains the binary code representationof the item #N of requested product.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/PartialCo
ntent
http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponsehttp://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponse/AcceptedDownloade) Test Type: Capability

59

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
11.2.3 OnDemand – Download of multi source producta) Test id:
http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload/GetProductmulti-sourceb) Test Purpose: verify that the DSEO Server complies with all requirements of
GetProduct operation for the download of multi source on-demand product.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={an on-demand multi source product URI}
Verify that the DSEO Server replies with: HTTP/1.1 response
Status = 202 Accepted
Content-type: text/xml
The HTTP payload contains the Product Download
Response XML message with retry-after parameter.
The Client waits for the time interval equal to specified retry-after value
and repeat the request until the DSEO Server replies with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/metalink+xml
The HTTP payload contains a Metalink file valid against
Metalink.xsd schema definition.
The Client parses the Metalink file and sends an HTTP GET message foreach source in the Metalink file with appropriate range for every trunk.
The DSEO Server replies with: HTTP/1.1 response
Status = 206 Partial Content

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Content-type: application/octet-stream
The HTTP payload contains the binary code representationof the trunk #N of requested file.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/Metalink
Download
http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponsehttp://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponse/AcceptedDownloade) Test Type: Capability

11.2.4 OnDemand – Redirected download of single file producta) Test id:
http://www.opengis.net/spec/DSEO/1.0/conf/OnDemandDownload/GetProductredirectb) Test Purpose: to verify that a DSEO Server satisfies all requirements of
GetProduct operation for redirected download of single file on-demand product.
c) Test Method:
The Client sends an HTTP GET request including: service=DSEO
 request=GetProduct version=1.0.0
 ProductURI={on-demand product located on another server URI}
Verify that the DSEO Server replies with:
 An HTTP/1.1 response
61

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Status = 202 Accepted
Content-type: text/xml
The HTTP payload contains the Product Download
Response XML message with retry-after parameter.
The Client waits the time interval equal to specified retry-after value andthen repeats the request.
The DSEO Server replies with:
 An HTTP/1.1 response with Status = 303 See Other and thealternative location of product on alternative server.
The Client sends an HTTP GET message to the suggested alternative
server.
The alternative server replies with: HTTP/1.1 response
Status = 200 Ok
Content-type: application/octet-stream.
The HTTP payload contains the binary code representationof the requested file.
d) Reference:
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Response/Forwarde
dDownload
http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponsehttp://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Re
sponse/AcceptedDownloade) Test Type: Capability

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

11.3 Traceability Matrix
11.3.1 Requirements vs. Conformance Tests Traceability Matrix
Requirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities

Conformance Test
11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Request

11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Metadata
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Encoding
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Capabilities/Exceptions

11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.1.3 Core – Download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.1.7 Core – Product request non-nominal
conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.2.1 OnDemand – Download of single file ondemand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.2.2 OnDemand – Download of multi fileproduct

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.2.3 OnDemand – Download of multi source
product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product

11.2.4 OnDemand – Redirected download of
single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.1.3 Core – Download of single file product63

11.1.2 Core – Capabilities request non-nominal
conditions

11.1.2 Core – Capabilities request non-nominal
conditions

11.1.1 Core – Capabilities
11.1.1 Core – Capabilities
11.1.2 Core – Capabilities request non-nominal
conditions

11.1.4 Core – Download of multi file product11.1.5 Core – Download of multi source product11.1.6 Core – Redirected download of single fileproduct

11.1.4 Core – Download of multi file product

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Requirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

Conformance Test
11.1.5 Core – Download of multi source product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.1.7 Core – Product request non-nominal
conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.2.1 OnDemand – Download of single file ondemand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.2.2 OnDemand – Download of multi fileproduct

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.2.3 OnDemand – Download of multi source
product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Request

11.2.4 OnDemand – Redirected download of
single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response

11.1.3 Core – Download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response

11.2.1 OnDemand – Download of single file ondemand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response

11.2.2 OnDemand – Download of multi fileproduct

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response

11.2.3 OnDemand – Download of multi source
product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response

11.2.4 OnDemand – Redirected download of
single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/DirectDownload
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/DirectDownload

11.1.3 Core – Download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/PartialContent
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/PartialContent

11.1.4 Core – Download of multi file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/MetalinkDownload
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/MetalinkDownload

11.1.5 Core – Download of multi source product

Copyright © 2014 Open Geospatial Consortium

11.1.6 Core – Redirected download of single fileproduct

11.1.4 Core – Download of multi file product11.1.5 Core – Download of multi source product11.1.6 Core – Redirected download of single fileproduct

11.2.1 OnDemand – Download of single file ondemand product11.2.2 OnDemand – Download of multi fileproduct

11.2.3 OnDemand – Download of multi source
product

OGC 13-043
Requirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/ForwardedDownload

Conformance Test
11.1.6 Core – Redirected download of single fileproduct

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Response/ForwardedDownload

11.2.4 OnDemand – Redirected download of
single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/Get
Product/Exceptions

11.1.7 Core – Product request non-nominal
conditions

http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response

11.2.1 OnDemand – Download of single file ondemand product

http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response

11.2.2 OnDemand – Download of multi fileproduct

http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response

11.2.3 OnDemand – Download of multi source
product

http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response

11.2.4 OnDemand – Redirected download of
single file product

http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response/AcceptedDownlo
ad
http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response/AcceptedDownlo
ad
http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response/AcceptedDownlo
ad
http://www.opengis.net/spec/DSEO/1.0/req/OnDema
ndDownload/GetProduct/Response/AcceptedDownload11.2.1 OnDemand – Download of single file ondemand product11.2.2 OnDemand – Download of multi fileproduct
11.2.3 OnDemand – Download of multi source
product
11.2.4 OnDemand – Redirected download of
single file product

Table 11-1: Requirements vs. Conformance Tests Traceability Matrix.

11.3.2 Conformance Tests vs. Requirements Traceability Matrix
Conformance Test
11.1.1 Core – Capabilities

Requirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities

11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Request11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Response

11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Metadata

11.1.1 Core – Capabilities

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Encoding

11.1.2 Core – Capabilities request
non-nominal conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities

65

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Conformance Test
11.1.2 Core – Capabilities request
non-nominal conditions

Requirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Request11.1.2 Core – Capabilities request
non-nominal conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetCapabilities/
Exceptions

11.1.3 Core – Download of single
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.1.3 Core – Download of single
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.1.3 Core – Download of single
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.1.3 Core – Download of single
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/DirectDownload

11.1.4 Core – Download of multi
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.1.4 Core – Download of multi
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.1.4 Core – Download of multi
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.1.4 Core – Download of multi
file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/PartialContent

11.1.5 Core – Download of multisource product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.1.5 Core – Download of multisource product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.1.5 Core – Download of multisource product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.1.5 Core – Download of multisource product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/MetalinkDownload

11.1.6 Core – Redirected downloadof single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.1.6 Core – Redirected downloadof single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.1.6 Core – Redirected downloadof single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Conformance Test
11.1.6 Core – Redirected downloadof single file productRequirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/ForwardedDownload

11.1.7 Core – Product request nonnominal conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.1.7 Core – Product request nonnominal conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.1.7 Core – Product request nonnominal conditions

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Exc
eptions

11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/DirectDownload

11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response

11.2.1 OnDemand – Download of
single file on-demand product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response/AcceptedDownload

11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/PartialContent

11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response

11.2.2 OnDemand – Download ofmulti file product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response/AcceptedDownload

11.2.3 OnDemand – Download ofmulti source product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct67

Copyright © 2014 Open Geospatial Consortium

OGC 13-043
Conformance Test
11.2.3 OnDemand – Download ofmulti source productRequirement URL
http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.2.3 OnDemand – Download ofmulti source product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.2.3 OnDemand – Download ofmulti source product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/MetalinkDownload

11.2.3 OnDemand – Download ofmulti source product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response

11.2.3 OnDemand – Download ofmulti source product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response/AcceptedDownload

11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Req
uest

11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse

11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/Core/GetProduct/Res
ponse/ForwardedDownload

11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response

11.2.4 OnDemand – Redirected
download of single file product

http://www.opengis.net/spec/DSEO/1.0/req/OnDemandDownload/GetProduct/Response/AcceptedDownload

Table 11-2: Conformance Tests vs. Requirements Traceability Matrix.

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

12. Annex B (Normative): XML Schema Documents
In addition to this document, this BP includes several normative XML Schema
Documents. These XML Schema Documents are bundled in a zip file with the present
document. After OGC acceptance of a Version 1.0.0 of this BP, these XML Schema
Documents will also be posted online at the URL
http://schemas.opengeospatial.net/oseop/1.0. In the event of a discrepancy between thebundled and online versions of the XML Schema Documents, the online files shall beconsidered authoritative.
The DSEO protocol specified in this document uses the XML Schema Document
included in the zip file with this document. This XML Schema Document combines the
XML schema fragments listed in various sub-clauses of this document, eliminating
duplications. This XML Schema Document is named:
dseo.xsd
This XML Schema Document uses and builds on the following XML Schema
Documents:
ows/2.0/owsAll.xsd
http://www.metalinker.org/schema/3.0/metalink.xsd

69

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

13. Annex C: Revision history
Date

Release2013-05-14 0.9.1

AuthorParagraph modified

Description

R. CafiniAllFirst issue

Copyright © 2014 Open Geospatial Consortium

OGC 13-043

14. Annex D: Bibliography

71

Copyright © 2014 Open Geospatial Consortium