Это старая версия документа!
В данном программном документе приведено руководство системного программиста по установке и настройке программы «Программный интерфейс взаимодействия системы отображения метеорологических данных с базой данных измерительной информации», предназначенной для передачи системе отображения метеорологической информации из базы данных.
Программный интерфейс входит в состав системы отображения метеорологических данных МФ МГТУ им. Н.Э. Баумана. Основные функции программного интерфейса состоят в получении, передачи и обработке метеорологической информации в формате JSON.
Программный интерфейс состоит из двух частей: программного интерфейса REST(порт 3000) и программного интерфейса GraphQL(порт 4000). Они круглосуточно работают на сервере, ожидая HTTP-запрос метода GET. При получении нового запроса происходит его обработка, согласно заранее определенному сценарию. Программный интерфейс в ходе своей работы использует Redis - резидентную систему управления базами данных NoSQL, работающую со структурами данных «ключ-значение». Redis работает на порте 6379.
Для функционирования программного интерфейса необходимо инсталлировать резидентную систему управления базами данных класса NoSQL Redis версии 6.0.1. Также необходимо установить программную платформу Node.js версии 12.16.3, а также ряд npm-пакетов и модулей:
Все вышеперечисленные модули устанавливаются по-отдельности с помощью команды:
$ npm install "имя пакета"
Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше.
Сначала необходимо установить кэширующее средство Redis. Для этого:
$ sudo apt-get install build-essential
$ sudo apt update
$ sudo apt install redis-server
$ sudo systemctl restart redis.service
$ sudo systemctl enable redis.service
$ redis-cli
$ ping
В результате должно вывестись сообщение «PONG», что будет означать успешную установку Redis
Для настройки программного интерфейса необходимо скачать архив программных документов, который находится в программном документе «Текст программы». Необходимо перенести папку «routes» в корневую папку проекта, после чего объявить использование в основном файле проекта:
app.use('/Rest',restRouter) app.use('/GraphQL',GraphQLRouter)
Для проверки работоспособности программного интерфейса необходимо проверить работоспособность интерфейсов REST и GraphQL. Для этого необходимо отправить два запроса:
http://название_домена:4000/graphql?query={calibr(time:"day",date:"2019-04-04",uname:"РОСА-П",serial:"01")}
http://название_домена:3000/api/calibr/day/2019-04-04/РОСА-П/01
В результате должны прийти идентичные данные, содержащие откалиброванную метеорологическую информацию за 2019-04-04 с прибора «РОСА-П», имеющего серийный номер «01».
Сообщение | Причины | Действия системного программиста |
---|---|---|
404 Error | Сервер, на котором функционирует программный интерфейс, выключен, либо не функционирует корректно. Запрос, отправленный серверу, не соответствует языкам запросов, описанных в руководстве программиста | Проверить работоспособность сервера, при необходимости перезагрузить его. В случае, если сервер работает исправно, еще раз проверить запрос на предмет ошибок и опечаток, после чего повторить запрос. При необходимости переустановить программный интерфейс. |
Redis connection failed | База данных Redis, необходимая для работы программного интерфейса, либо выключена, либо работает неисправно. | Проверить запущена ли база данных Redis. В случае повторного возникновения данного сообщения перезагрузить ее, или переустановить, при необходимости. |