In this summary, I will explain:
Capability describes how the service behaves; in particular, it tells what its limitations are. This description is mainly in terms of metadata that is specific to the type of service. For example, Cone Search services must give the maximum search radius they support. Thus, every service standard (e.g. Cone Search, SIA) should extend this element to add the metadata that implementations can use to describe how they behave. So far, this has been done for Cone Search and SIA: ConeSearch-v0.2.xsd defines the ConeSearch element, and SIA-v0.6.xsd defines the SimpleImageAccess element.
Capability has two optional metadata terms that can apply to any service. The StandardID is an IVOA identifier for the standard it complies to; this, then, is an unambiguous way of identifying services that comply to a particular standard (or version of the standard). If no such standard exists (either an IVOA standard or a local standard), this term can be omitted. The StandardURL gives a URL for the human-readable document that describes the standard the service implements. This allows developers to discover how to use a standard service in general (like SIA) the first time they encounter one in a registry.
The Interface element describes how to use the service. The category of interface is given with the Invocation element; this value determines how the AccessURL should be interpreted, which is explained in the next below. Interface also allows an optional Description for human-readable text about the interface. Obviously, since the AccessURL is mandatory, all services are assumed to be web-based.
Invocation | Meaning | AccessURL refers to... |
---|---|---|
WebService | The interface is a Web Service described by a WSDL document | the WSDL document. There is discussion that the AccessURL in this case should point to the Web Service endpoint. |
WebBrowser | The interface is an interactive form accessed via a web browser | the URL for the web form. |
GLUService | A service that is described in a GLU registry | the URL to the GLU record |
Extended | A service that is described using an extension of the Interface element. The ParamHTTP element, defined in the VODataService schema, is an example that handles interfaces like Cone Search and SIA. | The specific extension should indicate what it refers to. The "role" attribute of the AccessURL indicates whether it is a base URL, a full URL pointing to a document, or a full URL pointing to a directory. |
Custom | A service that doesn't fit into any of the above categories | The Description element should indicate what the AccessURL refers to. The "role" attribute of the AccessURL indicates whether it is a base URL, a full URL pointing to a document, or a full URL pointing to a directory. |
Traditional GET and POST services should be described by the ParamHTTP extension to the Interface element. ParamHTTP assumes simple name=value inputs. To describe these, it allows zero or more Param elements to describe the input parameters. Each parameter is described by a Name, Description, DataType, Unit, and UCD.
Needed: we need to indicate which parameters are required and which are optional.
For traditional GET and POST services, the output is described in the ParamHTTP element's HTTPResults, which simply is a MIME-type string.
For Cone Search and SIA, the output is actually a VOTable that includes a particular set of columns. The columns returned are not described as part of the Interface description, but rather outside of it in the context of a TabularSkyService. This is discussed below.