package tap.resource; /* * This file is part of TAPLibrary. * * TAPLibrary is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * TAPLibrary is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with TAPLibrary. If not, see <http://www.gnu.org/licenses/>. * * Copyright 2012,2014 - UDS/Centre de DonnĂ©es astronomiques de Strasbourg (CDS), * Astronomisches Rechen Institut (ARI) */ /** * <p>VOSI - VO Support Interfaces - lets describe a minimal interface that VO web services should provide.</p> * * <p> * This interface aims to give information about the capabilities, the availability and the reliability of the service. * To reach this goal the 3 following endpoints (resources) should be provided: * </p> * <ol> * <li><b>Capability metadata:</b> list all available resources, give their access URL and a standard ID (helping to identify the type of resource). * More information related to the service itself (or about the VO standard it is implementing) may be provided.</li> * * <li><b>Availability metadata:</b> indicate whether the service is available or not. It may also provide a note and some other information about * its reliability, such as the date at which it is up, or since when it is down and when it will be back.</li> * * <li><b>Tables metadata:</b> since some VO services deal with tabular data (in output, in input or queriable by a language like ADQL), * a VOSI-compliant service shall provide a list and a description of them.</li> * </ol> * * <p> * Implementing the VOSI interface means that each service endpoint/resource must be described in the capability endpoint with an access URL and a standard VO ID. * </p> * * <p>The standard IDs of the VOSI endpoints are the following:</p> * <ul> * <li><b>Capabilities:</b> ivo://ivoa.net/std/VOSI#capabilities</li> * <li><b>Availability:</b> ivo://ivoa.net/std/VOSI#availability</li> * <li><b>Tables:</b> ivo://ivoa.net/std/VOSI#tables</li> * </ul> * * @author Grégory Mantelet (CDS;ARI) * @version 2.0 (09/2014) */ public interface VOSIResource { /** * Get the capabilities of this resource. * * @return Resource capabilities. */ public String getCapability(); /** * Get the URL which lets access this resource. * * @return Access URL. */ public String getAccessURL(); /** * <p>Get the standardID of this endpoint of the VOSI interface.</p> * * <p>The standard IDs of the VOSI endpoints are the following:</p> * <ul> * <li><b>Capabilities:</b> ivo://ivoa.net/std/VOSI#capabilities</li> * <li><b>Availability:</b> ivo://ivoa.net/std/VOSI#availability</li> * <li><b>Tables:</b> ivo://ivoa.net/std/VOSI#tables</li> * </ul> * * @return Standard ID of this VOSI endpoint. */ public String getStandardID(); }