Skip to content

An implementation of the Simple Spectral Access Protocol of the VO

License

Notifications You must be signed in to change notification settings

almicol/SSAPServer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSAPServer

An implementation of the Simple Spectral Access Protocol of the VO The server is a Spring Boot application that implements the API defined in the standard.

The server can either redirect the requests to a TAP service or go directly to the DB.

SSAPServer is at a very early stage of development and currently supports the mandatory parameters POS, SIZE, TIME, BAND and FORMAT. In addition, the following recommended and optional parameters are supported: COLLECTION, CREATORDID, PUBDID, SPATRES, SPECRP, SNR, TARGETNAME.

Using TAP

In this mode the server translates the incoming requests into ADQL and sends them to a TAP service. The tool assumes a specific schema is available on the TAP server. Unfortunately it is not possible to query directly ObsCore, because the UCDs are different and some columns are missing. Therefore we defined a view that can be built on top of ObsCore to enable SSA access. You can find the definition of this view for SQLServer under TBD.

Customization

SSA leaves some freedom in the implementation of specific parameters, and some of them can be specific to the data or to the model that the server is exposing. It is therefore possible to customize how a given parameter is converted in a TAP query. Every parameter defined in the SSA standard is handled by a class that implements the interface ParameterHandler. If, for example, you want to override the default TIME implementation, it is sufficient to declare a class named MyTimeHandler, that implements ParameterHandler. You can find an example in the tests.

Direct DB queries

Not yet implemented

Run the server

Execute:

./gradlew bootRun -Pargs="--ssap.tap.url=http://<host>:<port>/yourtap"

in the project root directory: the server will start at http://localhost:9000/ssa

Build

Execute:

./gradlew build

in the project root directory, a standalone jar file will be created under build/libs/SSAPServer-<version>.jar. You can run it like this:

java -jar SSAPServer-<version>.jar --ssap.tap.url=http://<host>:<port>/yourtap

Note: the first build might take a few minutes, because the script is going to download gradle and all dependencies. The next builds will be faster

Configuration

The available configuration options are here, together with their default values. They can be set in any way allowed by Spring Boot (see here)

About

An implementation of the Simple Spectral Access Protocol of the VO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 40.0%
  • Jupyter Notebook 30.2%
  • Groovy 27.2%
  • TSQL 2.6%