Раздел: информационные технологии. Разработка информационной системы «Дистанционная лаборатория»1 Автор: ассистент кафедры радиофизики и электроники ФГБОУ ВО «СГУ им. Питирима Сорокина» Квочкин Дмитрий Олегович, г. Сыктывкар Основной целью научно-технической разработки является создание простого и легковесного клиент-серверного приложения, позволяющее удовлетворить потребности естественнонаучных лабораторий в сборе и хранении информации по проведённым экспериментам. Для достижения поставленной цели необходимо решить ряд задач, среди них в первой части разработки выделяются следующие: построение модели ИС, выбор подходящих программных средств для реализации «front-end» и «back-end» звеньев, создание концептуальной модели базы данных ИС, проработка первичных алгоритмов работы промежуточного звена «application server». Рис. 1. – Структура информационной системы. Отличительными особенностями разработки являются: возможность создания распределённой БД, объединение научных сообществ в рамках одной «научной сети». 1 Работа выполнена при поддержке гранта «УМНИК-2014» по договору № 8219ГУ2/2015 от 02.12.2015 г. Разрабатываемая информационная система классифицируется как многозвенная распределённая групповая автоматизированная информационносправочная система (со структурой «клиент-сервер»). Общий вид модели ИС приведён на рис. 1. Центральным узлом ИС является сервер, на котором располагаются: 1. БД пользователей (обеспечивающая авторизацию в системе), 2. БД экспериментов (обеспечивающая структурированное хранение информации о том или ином эксперименте), 3. СУБД для доступа к обеим базам данных («back-end»), 4. Веб-сервер в связке с веб-фреймворком в качестве промежуточного звена («application server»), 5. Функциональный веб-сайт («front-end») для доступа пользователя к базе данных экспериментов, 6. Приложение-сервис «Менеджер лаборатории», обеспечивающее низкоуровневый доступ к лабораторным установкам. Связь сервера ИС с экспериментальными установками обеспечивается через согласующие аппаратные модули с одной стороны и программным обеспечением сервера с другой стороны. Аппаратные модули могут быть специфическими коммерческими разработками, предоставляющие возможность для сбора и обработки данных по стандартным интерфейсам: RS-232, USB, Ethernet, или аппаратные модули собственной разработки. В настоящее время, в рамках тестирования и первичной наладки ИС в качестве аппаратного модуля использовуется собственная разработка сетевого модуля сбора данных, обеспечивающая передачу информации с экспериментальных установок в сеть передачу данных стандарта Ethernet, выполненная на связке микроконтроллера ATmega8 и Ethernet-контроллера ENC28J60. Предложенное аппаратное решение является неотъемлемой частью (в отсутствии прочих сторонних коммерческих модулей-систем сбора данных) информацион- ной системы, обеспечивающее низкоуровневый доступ сервера ИС к экспериментальным установкам. Функциональный веб-сайт строится на базе Python фреймворка Django, что упрощает процесс непосредственной разработки функционала сайта. В качестве модели БД выбрана реляционная модель данных (реляционная БД). Взаимодействие между СУБД и веб-сайтом осуществляется через адаптер SQLite3 платформы Django. Приложение-сервис «Менеджер лаборатории» это приложение-сервис, запущенное на серверной стороне, отслеживающее запросы с сайта на проведение того или иного эксперимента. Связь между веб-сайтом и «Менеджером лаборатории» реализована через локальный TCP-сокет. Сервис «Менеджер лаборатории» управляется через TCP порт 55555 на localhost с помощью текстовых команд. При получении запроса от пользователя через веб-сайт «Менеджер лаборатории» проверяет доступность эксперимента, генерирует буферный файл (файл данных), в который осуществляется накопление собранной с удалённой установки экспериментальных данных. После этого «Менеджер лаборатории» запускает дочерний процесс, осуществляющий низкоуровневые операции с модулем сетевого управления на удалённой экспериментальной установке. Связь с дочерними процессами осуществляется через локальные TCP-сокеты. По окончанию эксперимента дочерний процесс закрывает файл данных и возвращает на сайт информацию для занесения в БД экспериментов с пометками даты, описания эксперимента и ответственных за эксперимент. В ходе работы над второй частью разработки информационной системы были решены следующие задачи: переработана модель взаимодействия веб-сайта и удалённых экспериментальных установок, ИС переведена на фреймворк Django 1.9, улучшена система хранения данных и конфигураций экспериментальных установок. В настоящее время работа над проектом продолжается.