Adding RESTful web services to the Virtual Solar Observatory: How to write Data Providers in Python
Abstract
The Virtual Solar Observatory (VSO) is expanding the methods by which it can query and support new data providers. In particular we describe how we are are adding support for RESTful web services to the VSO codebase. The ability to query Data Providers as RESTful web services generalizes the VSO so both SOAP and REST data transfer mechanisms are supported. We detail the requirements needed to add queries to remote RESTful services from a multi-threaded Perl application. Examples of RESTful Data Providers written in Python, using Flask, for GONG, Parker Solar Probe WISPR and Solar Orbiter EUI data are illustrated. The next major observatory that will be added to VSO is the Daniel K. Inouye Solar Telescope (DKIST). We discuss the steps needed to integrate the new DKIST Data Provider, written in Python. We also describe support in the VSO for TAP queries to ESA data sources. We examine how we are automatically validating our RESTful services, in both Perl and Python and describe how we are creating unit tests in Python and load testing using Locust to improve the quality of the VSO services. In summary, all the steps needed to create new RESTful Data Providers in Python are presented.
- Publication:
-
AGU Fall Meeting Abstracts
- Pub Date:
- December 2021
- Bibcode:
- 2021AGUFMSH55A1819M