SOGS-API : An API for Satellite Data Retrieval
Silvennoinen, Markus (2021)
Silvennoinen, Markus
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2021051229781
https://urn.fi/URN:NBN:fi-fe2021051229781
Tiivistelmä
The Finnish Meteorological Institute (FMI) has a set of satellite data retrieval tools, which are used in SOGS-API. The full name is Sodankylä Ground Station API. Initially, the API had been put together quickly, and the problem was that it lacked features, contained bugs and had been implemented in a technology, which was about to be outdated. This thesis is about solving the problem by rewriting the API and adding the missing features and adapting existing ones. The goal is that the API is easy to use and access through SSH or web protocols, and it should be able to handle traffic and threats.
SOGS-API and its tools have been mainly implemented using Python 3 in a Linux environment. Most features of SOGS-API are used through a command line interface. Customer needs may change during and after the thesis, so it is important to keep the API maintainable. The API is tested and validated on a test server before it goes operational.
The following objective is formulated:
Rewrite SOGS-API to comply with new requirements, such that the API is reliable, secure and maintainable in order to let FMI provide third parties access to the organization’s satellite retrieval services.
The rewriting of SOGS-API include adapting existing monitoring, visualization and re-porting tools to work with the API. Some of the existing tools had not been designed for a wider audience and required safety and performance enhancements, and some had features that were removed because they were not essential for the API. The reliability and security of the API are evaluated with automated scripts, and by letting FMI employees test it. The API should be able to handle normal traffic, which is expected to be at most 1000 requests per minute, and most common threats, such as password cracking and Distributed Denial of Service attacks. The API has been implemented in a way that makes security breaches unfeasible. The maintainability of the API is preserved by following good programming practices. The retrieval services include tools for checking satellite overpass schedules, signal data and antenna status data.
SOGS-API and its tools have been mainly implemented using Python 3 in a Linux environment. Most features of SOGS-API are used through a command line interface. Customer needs may change during and after the thesis, so it is important to keep the API maintainable. The API is tested and validated on a test server before it goes operational.
The following objective is formulated:
Rewrite SOGS-API to comply with new requirements, such that the API is reliable, secure and maintainable in order to let FMI provide third parties access to the organization’s satellite retrieval services.
The rewriting of SOGS-API include adapting existing monitoring, visualization and re-porting tools to work with the API. Some of the existing tools had not been designed for a wider audience and required safety and performance enhancements, and some had features that were removed because they were not essential for the API. The reliability and security of the API are evaluated with automated scripts, and by letting FMI employees test it. The API should be able to handle normal traffic, which is expected to be at most 1000 requests per minute, and most common threats, such as password cracking and Distributed Denial of Service attacks. The API has been implemented in a way that makes security breaches unfeasible. The maintainability of the API is preserved by following good programming practices. The retrieval services include tools for checking satellite overpass schedules, signal data and antenna status data.