АННОТАЦИЯ

В данном документе приведено описание применения программы «Программный интерфейс взаимодействия системы отображения метеорологических данных измерительной информации», предназначенной для передачи системе отображения метеорологической информации из базы данных.

Общие сведения о системе

Программный интерфейс входит в состав системы отображения метеорологических данных МФ МГТУ им. Н.Э. Баумана. Основные функции программного интерфейса состоят в получении, передачи и обработке метеорологической информации в формате JSON.

Условия применения

Требования к аппаратным средствам

В состав технических средств должен входить персональный компьютер (ПЭВМ), выполняющий роль сервера, включающий в себя:

Процессор Pentium-2.0Hz, не менее

Оперативную память объемом 1 ГБ, не менее

Свободное место на диске объемом 1 ГБ, не менее. Данное требование обусловлено тем, что для корректной работы программного интерфейса необходимо установить ряд программных зависимостей

Программные зависимости

Для функционирования программного интерфейса необходимо инсталлировать резидентную систему управления базами данных класса NoSQL Redis версии 6.0.1. Также необходимо установить программную платформу Node.js версии 12.16.3, а также ряд npm-пакетов и модулей:

express - фреймворк для языка JavaScript

redis - модуль, работающий с базой данных Redis

fs - модуль, позволяющий работать с файловой системой сервера

request - модуль, необходимый для осуществления отправки асинхронных запросов

http-errors - модуль обработчика HTTP-ошибок

path - модуль, помогающий определить путь файла в файловой системе

cookie-parser - модуль обработчика cookie-файлов

morgan - модуль, позволяющий осуществлять логирование и вести системный журнал, в случае неполадок и критических ошибок

moment - модуль, предоставляющий функции для работы со временем

graphql - модуль, предоставляющий возможность проектирования, используя архитектуру GraphQL

express-graphql - модуль, связывающий фреймворк express и graphql

Все вышеперечисленные модули устанавливаются с помощью команды:

$ npm install "имя пакета"

Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше.

Входные и выходные данные

Входная информация

Входной информацией для программного интерфейса будет являться GET-запрос по протоколу HTTP к интерфейсу REST или GraphQL. Список всех возможных запросов к программному интерфейсу REST:

Запрос	Получаемые данные
calibr/last5min/:uname:serial	Откалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
calibr/lastweek/:uname:serial	Откалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
calibr/log/:fdate/:sdate/:uname:serial	Откалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
calibr/last_measurement/:uname:serial	Откалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
calibr/lastmin/:uname:serial	Откалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
not_calibr/last5min/:uname:serial	Неоткалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
not_calibr/lastweek/:uname:serial	Неоткалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
not_calibr/log/:fdate/:sdate/:uname:serial	Неоткалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
not_calibr/last_measurement/:uname:serial	Неоткалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)
not_calibr/lastmin/:uname:serial	Неоткалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер)

Для отправки запроса к программному интерфейсу REST необходимо обратиться к следующему URL:

http://название_домена:3000/запрос

Список всех возможных запросов к программному интерфейсу GraphQL:

Выходная информация