IVOA

UWSRegExt: an XML Encoding Schema for UWS Resource Metadata
Version 0.9

IVOA Working Draft 21 April, 2011

This version:
http://www.ivoa.net/Documents/WD/ReR/UWSRegExt-XXXX.html
Latest version:
http://www.ivoa.net/Documents/latest/UWSRegExt.html
Previous versions
Authors:
Paul Harrison, Editor
and the IVOA Registry Working Group.

Abstract

This document describes an XML encoding standard for metadata about services implementing the Universal Worker Service UWS [UWS], referred to as UWSRegExt. Instance documents are part of the service's registry record or can be obtained from the service itself. They deliver information to both humans and software on the limits enforced by the service.

Status of this document

This is an IVOA Working Draft for review by IVOA members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use IVOA Working Drafts as reference materials or to cite them as other than "work in progress."

Parts that the editor considers should be removed from the document are marked in red with a strike through line, and parts to be expanded are in green

Comments on this document are now welcome for consideration in the next version of this document. They should be sent to registry@ivoa.net, a mailing list with a public archive or on the UWSRegExt twiki discussion page. General discussion of related technology is also welcome on the Registry WG wiki site.

A list of current IVOA Recommendations and other technical documents can be found at http://www.ivoa.net/Documents/.

Acknowledgements

This document has been developed with support from the STFC, and from the European Commission's Sixth Framework Program via the Optical Infrared Coordination Network (OPTICON).

Conformance-related definitions

The words "MUST", "SHALL", "SHOULD", "MAY", "RECOMMENDED", and "OPTIONAL" (in upper or lower case) used in this document are to be interpreted as described in IETF standard, RFC 2119 [RFC 2119].

Syntax Notation Using XML Schema

The eXtensible Markup Language, or XML, is document syntax for marking textual information with named tags and is defined by the World Wide Web Consortium (W3C) Recommendation, XML 1.0 [XML]. The set of XML tag names and the syntax rules for their use is referred to as the document schema. One way to formally define a schema for XML documents is using the W3C standard known as XML Schema [Schema].

XML document validation is a software process that checks that an XML document is not only well-formed XML but also conforms to the syntax rules defined by the applicable schema. Typically, when the schema is defined by one or more XML Schema [Schema] documents (see next section), validation refers to checking for conformance to the syntax described in those Schema documents. This document describes additional syntax constraints that cannot be enforced solely by the rules of XML Schema; thus, in this document, use of the term validation includes the extra checks that goes beyond common Schema-aware parsers which ensure conformance with this document.

Contents

1. Introduction

The Universal Worker Service (UWS) [UWS] specification has intentionally been written to accomodate a wide variety of requirements. Although it is used as part of other standards e.g. [TAP] which will have their own specific schema to describe them [TAPRegExt], there is an additional demand to implement 'pure' UWS services (referred to as paramerized applications in the original UWS specification) where there is no other applicable IVOA standard service. In consequence, implementors have to make a number of choices relevant to remote clients -- here understood to be software agents -- or their users. In order to communicate these choices in a standardized way, UWS services support querying for their capabilities, either by using HTTP GET on the capabilities child of the service's root resource (cf. [VOSI]).

The capability element defined here is also used when registering UWS services at an IVOA registry (see [REGWG]). As such it is analogous to the capability definitions contained in the extension schemas for SIA, SCS, SSA, and so on (available at [SCHEMA]). It is therefore defined as an XML Schema type derived from vr:Capability by first fixing the standardID attribute to ivo://ivoa.net/std/UWS and then extending it to give UWS-specific properties and interface as described below.

1.1. Dependencies on other IVOA Standards

This specification relies directly on other IVOA standards in the following ways:

VOResource, v1.03 [VOR]
Descriptions of services that support UWS are encoded using the VOResource XML Schema. UWSRegExt is an extension of the VOResource core schema.
UWS, v1.0 [UWS]
The UWS standard describes additional concepts the declaration of which is the scope of UWSRegExt.
StandardsRegExt [SRE]
UWSRegExt uses the StandardKeyEnumeration mechanism introduced in StandardsRegExt to define controlled vocabularies.

This standard also relates to other IVOA standards:

IVOA Standard Interface, v1.0 [VOSI]
VOSI describes the standard interfaces to discover metadata about services; this document describes the response TAP services should provide on the capabilities endpoint described by VOSI.

 

2. The Extension

The concept of an application in the context of this standard can cover almost any computer program or process than can consume and/or emit data. e.g.

  • unix command line executables
  • java applets
  • REST web services
  • SOAP web services

Note that although this is a very wide ranging definition, forms of "application" e.g. web services which are specifically covered by other IVOA standards, should normally be described in terms of those standards, rather than as a general UWSRegExt.

2.1. Core UWSRegExt Metadata

uwsr:UWSInterface Type Schema Definition
<xs:complexType name="UWSInterface" >
  <xs:complexContent >
    <xs:extension base="vr:Interface" >
      <xs:sequence >
        <xs:element name="testQuery" type="xs:string" maxOccurs="1" minOccurs="0" />
      </sequence>
    </extension>
  </complexContent>
</complexType>

uwsr:UWSInterface Extension Metadata Elements
ElementDefinition
testQuery
Value type: string: xs:string
Semantic Meaning: This should contain text that can be directly POSTed to the UWS implementation to create a job for the purposes of testing and verifying the UWS. Ideally this should create a job that lasts only a few seconds (but long enough to test intermediate phases such as executing).
Occurrences: optional

uwsr:UWSCapability Type Schema Definition
<xs:complexType name="UWSCapability" >
  <xs:complexContent >
    <xs:extension base="UWSCapRestriction" >
      <xs:sequence >
        <xs:element name="retentionPeriod" type="TimeLimits" minOccurs="0"
                    maxOccurs="1" />
        <xs:element name="executionDuration" type="TimeLimits" minOccurs="0"
                    maxOccurs="1" />
      </sequence>
    </extension>
  </complexContent>
</complexType>

uwsr:UWSCapability Extension Metadata Elements
ElementDefinition
retentionPeriod
Value type: TimeLimits
Semantic Meaning: Limits on the time between job creation and DestructionTime
Occurrences: optional
executionDuration
Value type: TimeLimits
Semantic Meaning: Limits on executionDuration.
Occurrences: optional

3. Examples of use of the Application Schema

<capability standardID="ivo://ivoa.net/std/UWS" xsi:type="uwsr:UWSCapability">
<interface role="std" xsi:type="uwsr:UWSInterface">
<accessURL use="base">http://localhost:8080/uws/</accessURL>
</interface>
<retentionPeriod>
<default>172800</default>
</retentionPeriod>
<executionDuration>
<default>3600</default>
</executionDuration>
<testQuery/>
</capability>

Appendix A. The complete UWSRegExt Schema

Note that this schema can be found on-line at http://www.ivoa.net/xml/UWSRegExt/v1.0 (i.e. the target namespace can also be used as a URL for the schema.) This location should represent the definitive source, the schema is only copied below for completeness of this document.

<xs:schema targetNamespace="http://www.ivoa.net/xml/UWSRegExt/v0.9" elementFormDefault="unqualified" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:="http://www.ivoa.net/xml/UWSRegExt/v0.9" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vm="http://www.ivoa.net/xml/VOMetadata/v0.1" xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0">
<xs:import schemaLocation="../../VOResource/v1.0/VOResource.xsd" namespace="http://www.ivoa.net/xml/VOResource/v1.0"/>
<xs:annotation>
<xs:appinfo>
<vm:schemaName>UWSRegExt</vm:schemaName>
<vm:schemaPrefix>xs</vm:schemaPrefix>
<vm:targetPrefix>uwsr</vm:targetPrefix>
</xs:appinfo>
<xs:documentation> A description of the capabilities metadata for UWS paramaterized applications.</xs:documentation>
</xs:annotation>
<!-- this is copied from the TAPRegExt schema -->
<xs:complexType name="TimeLimits">
<xs:annotation>
<xs:documentation> Time-valued limits, all values given in seconds.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="default" type="xs:integer" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> The value this limit has for newly-created jobs.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="hard" type="xs:integer" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> The value this limit cannot be raised above.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UWSCapRestriction" abstract="true">
<xs:annotation>
<xs:documentation> An abstract capability that fixes the standardID to the IVOA ID for the UWS standard. </xs:documentation>
<xs:documentation> See vr:Capability for documentation on inherited children.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="vr:Capability">
<xs:sequence>
<xs:element name="validationLevel" type="vr:Validation" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="description" type="xs:token" minOccurs="0"/>
<xs:element name="interface" type="vr:Interface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="standardID" type="vr:IdentifierURI" use="required" fixed="ivo://ivoa.net/std/UWS"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UWSInterface">
<xs:annotation>
<xs:documentation> An interface that obeys UWS semantics. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="vr:Interface">
<xs:sequence>
<xs:element name="testQuery" type="xs:string" maxOccurs="1" minOccurs="0">
<xs:annotation>
<xs:documentation> This should contain text that can be directly POSTed to the UWS implementation to create a job for the purposes of testing and verifying the UWS. Ideally this should create a job that lasts only a few seconds (but long enough to test intermediate phases such as executing).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UWSCapability">
<xs:complexContent>
<xs:extension base="UWSCapRestriction">
<xs:sequence>
<xs:element name="retentionPeriod" type="TimeLimits" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> Limits on the time between job creation and DestructionTime</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="executionDuration" type="TimeLimits" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> Limits on executionDuration. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- TODO add quota -->
</xs:schema>

References

[RFC 2119]
Bradner, S. 1997., IETF RFC 2119, http://www.ietf.org/rfc/rfc2119.txt
[RM]
Hanisch, Robert (ed.) 2004. [ [] ] , IVOA Recommendation, http://www.ivoa.net/Documents/REC/ResMetadata/RM-20040426.htm
[VR]
Plante, Ray (ed.) 2006. VOResource: an XML Encoding Schema for Resource Metadata, IVOA Working Draft, http://www.ivoa.net/Documents/latest/VOResource.html
[VSTD]
Harrison, Paul. (ed.) 2006. VOStandard: an XML Encoding Schema for IVOA Standards, IVOA Working Draft, http://www.ivoa.net/Documents/latest/VOResource.html
[CEA]
Harrison, Paul. 2006. A Proposal for a Common Execution Architecture , IVOA Working Draft, http://www.ivoa.net/Documents/latest/VOCEA.html
�
[CEADM]
Harrison, Paul. 2007. CEA Application Model: A model and XML Encoding Schema for Applications in the Common Execution Architecture, IVOA Working Draft, http://www.ivoa.net/Documents/latest/CEADM.html
�
[xml]
Bray, Tim, Paoli, Jean, Sperberg-McQueen, C. M., Maler, Eve, Yergeau, Francois (editors) 2004, , W3C Recommendation http://www.w3.org/TR/REC-xml
[schema]
Fallside, David C., Walmsley, Priscilla (editors) 2004, [] , W3C Recommendation 28 October 2004, http://www.w3.org/TR/xmlschema-0/
[ID]
Plante, R., Linde, T., Williams, R., Noddle, K. 2005, [] , http://www.ivoa.net/Documents/REC/Identifiers/Identifiers-200505XX.html.
�

$Revision: 847 $ $Date: 2008-10-29 14:33:57 +0000 (Wed, 29. Oct 2008) $ $HeadURL: $