УДК 004.05 DOI 10.24147/2222-8772.2020.4.136-147
ПРОЕКТИРОВАНИЕ МОДУЛЯ УВЕДОМЛЕНИЙ О СОБЫТИЯХ В ИНФОРМАЦИОННОЙ СИСТЕМЕ УПРАВЛЕНИЯ УЧЕБНЫМ ПРОЦЕССОМ ОМГУ
О.А. Бондаренко
студент, e-mail: [email protected] Е.А. Костюшина к.т.н., доцент, e-mail: [email protected]
Т.В. Олейникова студент, e-mail: [email protected] Д.Н. Лавров к.т.н., доцент, e-mail: [email protected]
Омский государственный университет им. Ф.М. Достоевского, Омск, Россия
Аннотация. Статья посвящена особенностям проектирования модуля уведомлений в информационно-аналитической системе «Учебный процесс». В связи со сложностью и нелинейностью задачи решено было применить для исследования предметной области метод системного анализа. Кроме того, были рассмотрены существующие аналоги систем оповещения, что позволило определить максимально-возможный функционал модуля.
Ключевые слова: информационно-аналитическая система, события, учебный процесс.
Введение
Система уведомления о событиях ИИАС «Учебный процесс» — проект веб-модуля в рамках веб-приложения «Электронные сервисы ОмГУ» [5, 9], позволяющий пользователю получать уведомления с помощью электронном почты об изменениях в базе данных по событиям, на которые пользователь подписался и настроил в своём личном кабинете. Проект должен формировать уведомления по событиям информационной системы управления учебным процессом ОмГУ, учитывая группы пользователей, определённых во всех подсистемах системы, работать как для корпоративных ресурсов, так и для внешних ресурсов системы с точки зрения сети вуза. В настоящий момент в вузе для управления учебным процессом используется интегрированная информационно-аналитическая система «Учебный процесс» (ИИАС «Учебный процесс») [8].
В настоящий момент в ИИАС «Учебный процесс» пользователь не имеет возможности оперативно получать информацию об изменениях в базе данных (например, на кафедру переданы ресурсы, и их необходимо назначить преподавателю; студент через «Электронные сервисы ОмГУ» отправил заявку, и её нужно вовремя обработать).
Поэтому была поставлена задача спроектировать модуль формирования уведомлений в процессе фиксирования важных событий в виде данных в базе данных. Доступность настройки оповещения о событии должна быть привязана к привилегиям пользователя, предоставленным ему в информационной системе.
Для проектирования модуля в связи со сложностью и нелинейностью задачи решено было применить для исследования предметной области метод системного анализа. Кроме того, были рассмотрены существующие аналоги систем оповещения, что позволило определить в проекте максимально возможный функционал модуля.
1. Системный анализ предметной области
Целью применения системного анализа к проблеме является повышение степени обоснованности принимаемого решения, расширение множества вариантов, среди которых производится выбор, с указанием способов отбрасывания тех из них, которые заведомо уступают другим [6].
Рассматриваемую систему можно назвать сложной системой управления, так как в литературе определяется, что сложные системы «нельзя корректно описать математически либо потому, что в системе имеется очень большое число различных элементов, неизвестным образом связанных друг с другом, либо потому, что мы не знаем природы явлений, протекающих в системе, и потому не можем количественно их описать» [7].
Кроме того, если рассматривать модуль уведомления о событиях как явление, то оно обладает многомерностью (большие объёмы циркулирующих потоков информации, из которых отбираются данные для формирования списка событий), многообразием форм связи между элементами (многомерные, сетевые, линейные и др.), многообразием природы элементов (события о студентах, учебных ресурсах, учебных планах, преподавателях и т. п.), многократным изменением состояния структуры и состава системы [7].
Начнём с проектирования базы данных предметной области. При проектировании базы данных, необходимой для рассылки, будем учитывать тот факт, что она будет являться расширением уже существующей базы данных ИИАС «Учебный процесс» [8], поэтому в структуру были включены как новые таблицы, так и уже существующие таблицы (они выделены серым). Е^диаграмма представлена на рисунке 1.
При проектировании системы были учтены некоторые особенности.
1) Пользователь может самостоятельно настраивать уведомления, выбирая события из доступного ему списка. Администратор системы может управлять уведомлениями.
2) Для более легкого администрирования события были объединены в группы для разных типов пользователей. Это позволит уменьшить число уведомлений, получаемых пользователем.
3) При проектировании была учтена возможность редактировать или дополнять списки событий для каждой группы пользователей, чтобы не множить группы, а изменять текущую, добавляя или удаляя определённое
Рис. 1. БИ-модель базы данных системы оповещений
событие для группы. Рассмотрим существующие аналоги систем уведомлений о событиях. Они предназначены для разного рода рассылок и, соответственно, имеют разную функциональность, но для проектирования нашего модуля важно выделить необходимый нам функционал (таблица 1).
Комментарии к таблице 1: «+» означает наличие данной функции, «-» — отсутствие, «?» — нет информации на этот счёт.
Ни одна из изученных систем не включает всего необходимого функцио-
Таблица 1. Сравнительный анализ сервисов массовых рассылок
Сфера применения Сервисы Изменения статуса письма Формирование шаблона Возможность подписаться /отписаться от рассылки Изменение данных пользова теля Возможность иниции ровать рассылку Повторная отправка Реакция на наступление события
отправлено доставлено откло нено
Коммерция Unisender [2] + + + - + + + + +
EraaiLChef [4] + + + 4- + + + + +
Построение систем безопасности Sigur[l] 7 7 7 7 + 7 + 7 +
Сфера оказания государствен ных услуг Личный кабинет налогопла телыцика 7 7 ? ? + + ? ? +
Госуслуги [3] ? 7 ? ? + + ? ? +
Социальные сети УК 7 7 7 7 + + 7 - +
нала, к тому же большинство аналогов сервисов массовой рассылки платные, поэтому было принято решение самостоятельно разработать систему уведомлений о событиях системы сопровождения учебного процесса ОмГУ. Отметим ещё, что основная причина отказа от существующих систем оповещения состояла в том, что задача требует привязки оповещения к событиям, отражающимся изменениями данных в базе данных, это логичнее всего сделать с применением механизма триггеров базы данных, что однозначно требует своей собственной разработки системы оповещения.
После анализа сервисов массовых рассылок была определена функциональность, которую необходимо спроектировать в системе уведомлений ИИАС «Учебный процесс». Список укрупнённых функций: изменение статуса письма, формирование шаблона письма,
возможность подписывать пользователя на рассылку и отписывать от неё, возможность изменять данные пользователя,
возможность инициировать рассылку и повторять её в случае необходимости,
возможность системы реагировать на наступление какого-либо события.
2. Проектирование системы уведомлений
Напомним, что проектируемый модуль должен быть веб-модулем веб-приложения «Электронные сервисы ОмГУ». «Электронные сервисы ОмГУ» — это набор микросервисов, связанных DAS — системой хранения данных с прямым подключением DAS (Direct Attached Storage). Авторизация происходит на стороне «Электронных сервисов ОмГУ» с использованием DAS [9].
Для того чтобы пользователь переходил из одного раздела упомянутого портала в другой используется технология единого входа (Single Sign-On). Сама авторизация происходит с использованием протокола OAuth 2.0, позволяющего одному сервису выдать права на доступ к ресурсам пользователя на другом сервисе.
Здесь же отметим, что в «Электронных сервисах ОмГУ» платформой является Java, языком программирования — Scala. Существующая база данных реализована в среде СУБД Oracle. Для реализация фронтенда используется CSS.
Рассмотрим бизнес-логику системы (рис. 2).
В системе определены две роли пользователей: обычные пользователи и администраторы. В процессе авторизации пользователя приложение проверяет, какая роль ему назначена.
Далее рассмотрим действия, возможные для пользователя, и приведём макет интерфейса, позволяющий понять переходы между страницами интерфейса. Пользователь может выбирать, на какую почту он хочет получать рассылку, может выбирать события из списка, на которые он хочет подписаться. После этого происходит проверка, достаточно ли у него для этого прав (рис. 3).
Рис. 2. Событийная модель системы уведомлений
ООО /-\
ОО ©1 1
Выбор КЮРИНСКИ Н<5 (ГОбытиЯ
Выберите альмпочту
5сны .сотоюие получать сообменыя на другую почту укажите ее ниже
§5 &М-ЛПО-ПИ ¿(ирмть-иаилт« Сниекить 1 1 № Ам1еакг"ь
Рис. 3. Макет страницы подписки на события и выбора почты со стороны пользователя
Далее рассмотрим пользователя с правами администратора (рис. 4), он может выполнять те же действия, что и обычный пользователь, но уже для всех пользователей, то есть он может изменить почту выбранного пользователя, подписать или отписать его от информирования о группе событий (рис. 5) путём добавления или удаления его из группы. Например, могут быть выделены такие группы, как студенты с событиями «заявление на материальную поддержку», «группа для выдачи справки с места учёбы», преподаватели факультетов с событиями, такими как «изменение учебного плана».
ООО /-\
ОО 0
РедгЖтмров'Зние групп и подписок пользователя
Груипы, в ¡сотовых сооном»« нояъзоелгиель Подпили
Препойввлтели: ряд
Ш 4>у9«««1> событии, ио которым
п^йиело^иги рассылка
Быбсртис ОДЬхНСраКМЫвауЮ пОЧй1у
для текущего пользователя
1 1
<?К Роит*«
--------- •
Рис. 4. Макет страницы выбора пользователя и группы со стороны администратора
Рис. 5. Макет страницы редактирования пользователя
Администратор имеет дополнительную функциональность: 1) редактирование групп (рис. 6);
2) формирование шаблона сообщения с использованием реализованных выражений (рис. 7);
3) принудительное отправление сообщения пользователю;
4) формирование групп событий.
Рис. 6. Макет страницы редактирования групп
Рис. 7. Макет страницы создания шаблона сообщения
Таким образом, можно обобщить роли и их привилегии (табл. 2).
Более внимательно рассмотрим процесс рассылки сообщений. Пусть произошло событие из списка еуепиеэспрИоп, тогла в таблицу еуеп1_НБ1 добавляется идентификатор этого события (рис. 8).
События есть в некоторых группах, по группам находятся пользователи в группе, во внешней таблице отделы_пользователя по внешнему ключу иэег_1б
Таблица 2. Роли и их привилегии
Обычный пользователь Администратор
Подписка/отписка от события + +
Изменение личной информации + +
Редактирование групп пользователей - +
Формирование групп событий - +
Формирование шаблона сообщения с использованием реализованных выражений +
Принудительное отправление сообщения пользователю - +
Рис. 8. Событийная модель функционирования триггера на заполнение таблицы Буеп^^
находится поле department_id, и этот идентификатор добавляется в таблицу event_list как внешний ключ. Атрибут selected показывает, обработано событие или нет, по умолчанию устанавливается 0, что означает: событие не обработано. Далее происходит работа триггера, и по событиям из таблицы Event_list формируются шаблоны сообщений, которые непосредственно и отправляются пользователям с определённой регулярностью или в случае, когда администратор инициирует рассылку (рис. 9).
Рис. 9. Событийная модель процесса формирования отправки уведомления
Как можно увидеть на рисунке 9, после срабатывания триггера происходит формирование сообщений для отправки. Текст сообщений формируется с помощью таблиц Mailing и Mail_strings, где содержатся шаблоны тела письма и тема. Адресаты — это люди, находящиеся в определённой группе пользователей. На рисунке 10 показан процесс формирования сообщения для отправки. По полю event_id текущего события выполняется поиск строки в таблице Mailing. Заголовком будет являться атрибут mailing_subject, а по полю (первичному ключу) mailing_id происходит сборка тела письма по данным из таблицы Mail_strings. Во время формирования текста письма вместо тегов вставляется нужная информация, например отдел пользователя. Администратор заранее может самостоятельно изменять тему и текст сообщения для различных событий, используя различные теги.
После сборки текста уведомления готовое сообщение отправляется пользователям из группы, для которой произошло событие. После отправки отслеживается, было ли доставлено сообщение.
Все обработанные и отправленные события помещаются в таблицу Sended_mails; значение атрибута successed позволяет проверить, было ли доставлено сообщение пользователю (1 — сообщение доставлено, 0 — не доставлено (произошла ошибка при отправке)). В случае ошибки сообщение можно отправить заново за некоторое фиксированное число попыток.
Рис. 10. Событийная модель процесса формирования текста письма
Во время формирования рассылки будет учитываться тип контакта пользователя (по умолчанию это электронная почта из таблицы es_useгs, но пользователь может менять как сам контакт, так и его тип в дальнейшем). В зависимости от типа контакта будет происходить рассылка.
В результате проведённого анализа спроектированы база данных и система уведомлений, описан процесс формирования динамического списка событий, оповещение о которых было бы полезно получать пользователю, разработан макет интерфейса, позволяющий проследить взаимодействие элементов интерфейса.
3. План развития
Следующая стадия развития проекта — его реализация. Непосредственно для отправки сообщения будет использоваться JavaMail — это Java API, предназначенное для получения и отправки электронной почты с использованием протоколов SMTP, POP3 и IMAP. Кроме того, с помощью JavaMail будет отслеживаться, доставлено ли сообщение, и в случае неудачи отправляться повторно определённое количество раз.
Как упоминалось выше, изначально отправка сообщений планируется по электронной почте. В последствии планируется осуществлять её через социальную сеть ВК с помощью чат-бота, потому что большинство студентов проверяют сообщения в этой социальной сети регулярнее, чем заходят на почту. То есть при использовании отправки сообщений не на почту, а в социальные
сети, повысится охват аудитории и актуальность модуля.
Литература
1. Система уведомлений о событиях (Webhooks) [Электронный ресурс]. Электрон. текстовые дан. URL: https://www.unisender.com/ru/support/api/ common/sistema-uvedomlenij-o-sobytiyah-webhooks/(дата обращения 04.04.2020).
2. Features [Электронный ресурс]. Электрон. текстовые дан. URL: https:// emailchef.com/features (дата обращения 27.03.2020).
3. Рассылка уведомлений о событиях системы [Электронный ресурс]. Электрон. текстовые дан. URL: https://sigursys.com/func_notifications.php (дата обращения 02.04.2020).
4. Уведомления о событиях в «Личном кабинете» можно получать на адрес электронной почты [Электронный ресурс]. Электрон. текстовые дан. URL: http://holmogori.ru/govinfo/govinfofns/media/2020/3/18/ uvedomleniya-o-sobyitiyah-v-lichnom-kabinete-mozhno-poluchat -na-adres-elektronnoj-pochtyi (дата обращения 29.03.2020).
5. Электронные сервисы [Электронный ресурс]. Электрон. текстовые дан. URL: https://eservice.omsu.ru/ (дата обращения 17.10.2020).
6. Губанов В.А., Захаров В.В., Коваленко А.Н. Введение в системный анализ. Л : Издательство Ленинградского университета, 1988. 232 с.
7. Гуревич И.М. Законы информатики — основы исследований и проектирования сложных систем // Информационные технологии. 2003. № 11. Приложение. 24 с.
8. А.с. 2011612300 РФ, Роспатент. Интегрированная информационно-аналитическая система «Учебный процесс» (ИИАС «Учебный процесс») / Епанчинцева О.Л., Ворошилов В.В., Костюшина Е.А., Погромская Т.А. (RU). № 2010617657; заявл. 06.12.2010; опубл. 18.03.2011. Бюл. № 2(75). С. 329.
9. Костюшина Е.А., Илюшечкин Е.А., Ворошилов В.В., Городецкий А.Д. Многокомпонентное веб-приложение «Электронные сервисы вуза». Свидетельство об официальной регистрации программы для ЭВМ № 017612596, 01.03.17.
DESIGNING A MODULE FOR NOTIFICATIONS ABOUT EVENTS IN THE EDUCATIONAL PROCESS MANAGEMENT INFORMATION SYSTEM
OF OMSU
O.A. Bondarenko
Student, e-mail: [email protected] E.A. Kostushina Ph.D.(Eng.), Associate Professor, e-mail: [email protected]
T.V. Oleynikova Student, e-mail: [email protected] D.N. Lavrov
Ph.D.(Eng.), Associate Professor, e-mail: [email protected] Dostoevsky Omsk State University, Omsk, Russia
Abstract. The article is devoted to the design features of the notification module in the information-analytical system "Educational process". Due to the complexity and nonlinearity of the problem, it was decided to apply the system analysis method to research the subject area. In addition, the existing analogues of warning systems were considered, which made it possible to determine the maximum possible functionality of the module.
Keywords: information and analytical system, events, educational process.
References
1. Sistema uvedomlenii o sobytiyakh (Webhooks) [Elektronnyi resursj. Elektron. tekstovye dan. URL: https://www.unisender.com/ru/support/api/ common/sistema-uvedomlenij-o-sobytiyah-webhooks/(data obrashcheniya 04.04.2020). (in Russian)
2. Features [Elektronnyi resursj. Elektron. tekstovye dan. URL: https://emailchef. com/features (data obrashcheniya 27.03.2020). (in Russian)
3. Rassylka uvedomlenii o sobytiyakh sistemy [Elektronnyi resursj. Elektron. tekstovye dan. URL: https://sigursys.com/func_notifications.php (data obrashcheniya 02.04.2020). (in Russian)
4. Uvedomleniya o sobytiyakh v "Lichnom kabinete" mozhno poluchat' na adres elektronnoi pochty [Elektronnyi resursj. Elektron. tekstovye dan. URL: http://holmogori.ru/govinfo/govinfofns/media/2020/3/18/ uvedomleniya-o-sobyitiyah-v-lichnom-kabinete-mozhno-poluchat-na-adres-elektronnoj-pochtyi (data obrashcheniya 29.03.2020). (in Russian)
5. Elektronnye servisy [Elektronnyi resursj. Elektron. tekstovye dan. URL: https:// eservice.omsu.ru/ (data obrashcheniya 17.10.2020). (in Russian)
6. Gubanov V.A., Zakharov V.V., and Kovalenko A.N. Vvedenie v sistemnyi analiz. L., Izdatel'stvo Leningradskogo universiteta, 1988, 232 p. (in Russian)
7. Gurevich I.M. Zakony informatiki — osnovy issledovanii i proektirovaniya slozhnykh sistem. Informatsionnye tekhnologii, 2003, no. 11, Prilozhenie, 24 p. (in Russian)
8. A.s. 2011612300 RF, Rospatent. Integrirovannaya informatsionno-analiticheskaya sistema "Uchebnyi protsess" (IIAS "Uchebnyi protsess"), Epanchintseva O.L., Voroshilov V.V., Kostyushina E.A., Pogromskaya T.A. (rU). no. 2010617657; zayavl. 06.12.2010; opubl. 18.03.2011. Byul., no. 2(75), pp. 329. (in Russian)
9. Kostyushina E.A., Ilyushechkin E.A., Voroshilov V.V., and Gorodetskii A.D. Mno-gokomponentnoe veb-prilozhenie "Elektronnye servisy vuza". Svidetel'stvo ob ofit-sial'noi registratsii programmy dlya EVM no. 017612596, 01.03.17. (in Russian)
Дата поступления в редакцию: 15.11.2020