RFC 013: A Web Services Description of DAS
Author: Brian King (brian.king@animorphics.net)
Date: 12 June, 2002
Related Documents:
- Introduction
This document is a proposal for recasting the Distributed Annotation Service (DAS) protocol 1.5 as a Web Service. The proposed Web Service API will be known as DAS 2.0. The purpose for defining DAS as a Web Service is to improve the chances for application interoperability by more strictly defining the DAS data types and messages, and by making the DAS services available through web service registries.
Architecture
Service Defintions
The DAS 2.0 genomic web service is defined using Web Services Description Language (WSDL) and XML Schema. The definitions of data types, operations, and bindings form a layered, modular architecture. Each layer is defined in a WSDL or Schema file where the higher level files include the definitions in the lower levels. The following table summarizes the definition files.
Table 1 Genomic Service Definition Files
lscore.xsd defines data types which may be used across life sciences. Currently it contains only the definition of the life sciences identifier. annotation.xsd defines the genomic data exchanged in DAS. GenomicService.wsdl is an abstract service definition of the operations supported by a Genomic service.
Namespaces
WSDL documents use names from several different standards including the WSDL, SOAP, and XML Schema standards. DAS specific names are also introduced in the service definition. The tables below summarize the service definition namespaces.
Table 2 Web Service Definition Namespaces
Description |
URI |
Prefix |
XML Schema Instance names |
http://www.w3.org/2001/XMLSchema-instance |
xsi |
XML Schema names |
http://www.w3.org/2001/XMLSchema |
xsd |
SOAP names |
http://schemas.xmlsoap.org/wsdl/soap/ |
soap |
SOAP encoding names |
http://schemas.xmlsoap.org/soap/encoding |
soap-enc |
Web Service Definition names |
http://schemas.xmlsoap.org/wsdl/ |
wsdl |
Table 3 I3C Core Namespace
Description |
URI |
Prefix |
Life Sciences Core names |
http://www.i3c.org/names/core |
ls |
Table 4 Namespaces Introduced by DAS
Description |
URI |
Prefix |
DAS WSDL names |
http://www.biodas.org/names/wsdl |
* |
DAS Data Types |
http://www.biodas.org/names/annotation |
das |
The DAS WSDL names URI is the value of the "targetNamespace" of the DAS WSDL definitions. This namespace is used for binding references within the DAS WSDL document. The DAS Data Types namespace is the namespace of the XML Schema used to define the DAS data types.
*Note that the DAS WSDL documents may use the conventional prefix "tns" for "this namespace".
Operations
The heart of the DAS 2.0 specification is the definition of web operations for retrieving genomic annotations on sequences. These operations are briefly described in this section.
getDataSources
Returns the data sources that are available from this server. This operation replaces the DAS 1.0 dsn query.
getAnnotatedResources
Returns the identifiers of the available annotated sequences . This operation replaces the DAS 1.0 entry_points query.
getAnnotationTypes
Returns the list of annotation types available on the identified segment. This operation replaces the DAS 1.0 types query.
getAnnotations
Returns the annotations within a specified segment. This operation replaces the DAS 1.0 features query.
getAnnotationsByLocation
Returns the annotations within a specified segment and location. This operation replaces the DAS 1.0 features query used with the optional start and end parameters.
The WSDL definition of these operations is in
GenomicService.wsdl.
Data Types
The XML Schema definitions of the data types exchanged in DAS 2.0 messages are found in
annotation.xsd and
lscore.xsd.
References
"Web Services Description Language (WSDL) 1.1" (http://www.w3.org/TR/wsdl)
"Namespaces in XML" (
http://www.w3.org/TR/1999/REC-xml-names-19990114/)
Distributed Sequence Annotation System (http://www.biodas.org/documents/spec.html)