HELIO Taverna Plug-in
Heliophysics is the study of the effect of the Sun on the Solar System; HELIO
is a research infrastructure established under FP7 that supports the work of the Heliophysics community.
infrastructure has been implemented with a service-oriented architecture in which the tasks that need to be performed are implemented as independent services. These can be grouped into two areas: (1) The search for interesting events and phenomena and determining when and where appropriate observations were made; (2) Identifying, locating and retrieving the files containing the selected observations.
There are multiple instances of most services – these are deployed in locations that are institutionally and geographically separate. Configuring the system in this way means that the HELIO
infrastructure is extremely resilient; in the event of an instance of a service becoming unavailable, an alternate instance can usually be found.
The services are described in the HELIO Registry Service
- this is a capability that is compliant with standards developed by the IVOA
(International Virtual Observatory Alliance
). The Registry allows the various orchestrating capabilities of HELIO
to switch between instances of the services. It is already used by the main HELIO GUI
(the HFE) and by the IDL/SolarSoft
applications software; in order to facilitate the use of the HELIO
services in workflows a Plug-in
has been developed for Taverna
(which normally uses fixed service addresses).
The main goal of the HELIO Taverna Plug-in
is to provide the user with an easier interface to perform queries to the HELIO
datasets and to call certain applications remotely. The multiple service endpoints are retrieved from the Registry by the plug-in and a query from a workflow will fetch the current endpoint to be used to call the service.
Installation Material can be found here
Once installed the 'Services' window becomes populated with a 'Helio' menu. The 'Helio' services are broken up into 3 parts.
1.) TAP (Table Access Protocol) or the Query Services.
2.) Utils -- is Advanced Applications or Services that could help in the workflows. At this time only TopCat
is provided in the Utils section. It is also recommended to use AstroTaverna
plugin that contains many useful utilities to call and interpret various services and VOTables.
3.) UWS -- Universal Worker Service are remote Applications that can be called as services.
Each of these 3 types of services are described in more detail below:
The next two figures shows the menu.
Figure 1 above primary focus is the web services that it is capable of calling. It can call 3 types of services:
- REST -- Standard HTTP-GET type queries that are accepted by Helio queries. This service may also be used to call other HTTP-GET style services.
- TAP -- Forms a standard HTTP-GET but in the form that compiles with the IVOA TAP specification. This service may be used to call other TAP services, not just Helio. This has been tested on Europlanet service.
- SOAP -- Standard XML based SOAP request over the HTTP protocol, this is specific to only HELIO web services.
Fig 2. Service Types and there ports.
Figure 2 shows the 3 types of Services along with the Input and output ports. Ports are described here:
- From -- Required string. Table name to be queried on.
- Optional Endtime -- Optional. Majority of Helio services are date and time based. These inputs allow an End Time to be specified '2010-11-23T00:00:00'
- Optional StartTime -- Optional. Majority of Helio services are date and time based. These inputs allow an Start Time to be specified '2010-11-23T00:00:00'
- Optional Where -- Optional. SQL Where clause to be used. REST&SOAP services may also take the IVOA PQL (Paramter Query Language) syntax as well as SQL.
- URL Output Reference Only -- True or False. True just returns a URL that would be called. False will return the raw output i.e the whole Votable. Reason for 'True' to be used is in a pipeline other Services or Applications may only require a URL to the VOTable not the actual VOTable.
- URL or Registry Ivorn -- Base URL to the Service or an IVOA Registry identifier to be used in the Registry. Note by using the IVOA Registry Identifier you protect yourself if the services move.
- Votable -- Output of the service. VOTable that will be in an xml string Form or URL to the VOTable depending on the Reference Input.
Fig 3. TAP related Services
Helio plugin also queries the Registry to get a listing of services that are related to HELIO. This allows convenience outputs for the URL or IVOA Identifier from the Registry.
Universal Worker Service also known as Context Service in Helio. A Service that follows an IVOA Common Execution Architecutre and it's Interface allowing the ability to describe in detail information about a remote Application. The remote Application is configured to a UWS service which registered all the parameters and other details into the Registry. This information is used by the Helio Plugin by querying the registry and constructing the input and output ports on the fly based on the Registry information. Applications may have a simple or default way that is common to call an application or a more complex/advanced way, the UWS services can be configured to have different interfaces to the same application simple or complex or another name. This is shown in the Services tab see Figure 4 which shows the 'Application Name'-'Interface'.
Fig 4. Menu of the various UWS applications that are currently available in the Registry and constructed by the Helio Plugin.
Below is sample examples of workflows, these samples will be uploaded soon into MyExperiment
Fig 5. TAP query
Fig 6. UWS service
Current plugin is missing some functionality that would make it more usable. The Current list:
- When querying for the URL to a particular service it is currently grabbing the first location. There was at a time confusion would the Registry contain a valid URL or should a service/plugin query the URL to confirm. It has been decided that the plugin should call the service and verify it is operational, if not operational see if there is another URL location for this service in the Registry.
- DPAS -- is a popular Query service that queries external providers. This is currently not shown in the Menu and should along with supported Instruments. It is possible to call with the plugin, but only if you know exactly how to construct the correct URL.
- UWS Abort seems to not work at the moment and remote application continues to run.
- Tables: Currently the Plugin lists known Helio services, but does not list the Tables to populate the 'FROM'. This can be read by looking at the VO Standard Interface (VOSI) url that comes with all TAP services.
- 13 Jun 2013