Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026)

Материал из 0x1.tv

Докладчик
Алиса Киселева.jpg
Алиса Киселева

Для улучшения пользовательского опыта при работе с мобильным приложением RunaWFE было решено добавить настраиваемые уведомления. Бизнес-процессы, в которых участвует пользователь, включают в себя последовательности задач и чаты. Целью было облегчить получение информации о новых задачах и сообщениях в чате.

В докладе описывается реализация механизма уведомлений в мобильном приложении RunaWFE.

Видео[править вики-текст]

Презентация[править вики-текст]

Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026).pdf

Thesis[править | править вики-текст]

Ключевые слова: СПО, система управления бизнес-процессами, мобильное приложение.

RunaWFE[1] — это система управления бизнес-процессами (далее СУБП). Бизнес-процесс отображается в виде графической схемы переходов между действиями или задачами. СУБП используется не только для моделирования бизнес-процесса, но и для симуляции, проверки и связывания реальных данных со схемой[2].

Также система осуществляет распределение и контроль выполнения задач исполнителями. Пользователи системы получают роли, описанные в схеме и по мере исполнения бизнес-процесса отмечают статус своих задач. Назначение новых задач — первый канал уведомлений.

Дополнительно в RunaWFE есть чат для всего бизнес-процесса. Он требуется для уточнения информации без обновления схемы процесса и создания промежуточных задач. Появление новых сообщений в чатах — второй канал уведомлений, хотя и менее приоритетный.

Реализация приложения для ОС Android[править | править вики-текст]

Слова «оповещение» и «уведомление» в тексте далее означают одно и то же.

Приложение для ОС Android написано на языке программирования Kotlin[3]. Ранее в нём отсутствовал механизм уведомлений, и появление новых задач или сообщений в чатах пользователю приходилось отслеживать вручную.

Основное взаимодействие с приложением ведётся в элементе браузера WebView.

Оповещения реализуются через подход polling: когда клиент через равные интервалы времени опрашивает сервер. Такое решение было выбрано для независимости от сторонних серверов уведомлений.

Были добавлены новые пункты на экране настроек:

  • Интервал обновления данных для уведомлений
  • Ссылка на стандартный раздел настроек для каждого канала уведомлений

Эти данные сохраняются в настройках приложения.

Каналом уведомлений переводится термин «notification channel». Каналов три: новые задачи, новые сообщения и основной канал (для всего остального).

В стандартном разделе настроек канала пользователь может:

  • задать свою мелодию
  • включить вибрацию при получении уведомления
  • отключить канал совсем (тогда всплывающих уведомлений от канала не будет)

В тексте оповещения указывается число новых заданий или непрочитанных сообщений, при раскрытии всплывающего элемента показывается полный текст: сообщений или названия задач.

Мобильное приложение взаимодействует с сервером RunaWFE Free по двум протоколам: REST-API (получение данных для уведомлений) и по HTTPS (работа браузера WebView).

Для получения данных был добавлен REST API клиент, работающий с необходимыми конечными точками. Классы и интерфейсы, созданные для работы с ним, расположены в пакете rest, сам клиент для реализации шаблона проектирования Одиночка (Singleton) объявлен объектом. Клиент написан с использованием библиотеки Retrofit.

Опрос сервера происходит в отдельной службе (Service). Служба запускается при переходе на экран с WebView. Если разрешение на показ уведомлений было отменено или не дано, сервис не запускается.

Ниже приведены скриншоты обновлённого экрана настроек и примеров пришедших уведомлений.

Экран настроек с разделом уведомлений.
Уведомление о новом сообщении в чате.

Приложение для ALT Mobile[править | править вики-текст]

Также было создано простое приложение для ALT Mobile. Это отдельное приложение, и оно не является копией вышеописанного приложения для Android.

Проект RunaWFE Free стремится к поддержке всей линейки операционных систем Альт. Поэтому было решено начать работу над клиентом и для ALT Mobile.

Так как в ALT Mobile стандартным окружением рабочего стола является GNOME, приложение использует библиотеку GTK (эта библиотека, в свою очередь, изначально ориентирована на языки C и C++). Оно запускает браузер с открытой страницей RunaWFE Free сервера. Адрес сервера записан в конфигурационном файле.

Хотя на текущий момент функционал приложения самый простой, если потребуется, возможности приложения будут расширены до тех, что имеются в приложении для Android.

Заключение[править | править вики-текст]

В результате в мобильное приложение под ОС Android был добавлен функционал настраиваемых уведомлений. Благодаря этому пользователь находится в курсе состояния бизнес-процесса без необходимости проверять новые данные вручную.

В код приложения был добавлен API-клиент, который в дальнейшем можно расширить для иных целей.

Также был создан простейший клиент RunaWFE Free для мобильной операционной системы ALT Mobile.

Список литературы[править | править вики-текст]

  1. Михеев А. Г. Системы управления бизнес-процессами и административными регламентами на примере свободной программы RunaWFE. Второе издание. — М.: ДМК Пресс, 2016.
  2. Сайт проекта RunaWFE Free: https://runawfe.org
  3. GitHub-репозиторий приложения: https://github.com/processtech/runawfe-free-android-app


Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026)!.jpg

Примечания и ссылки[править вики-текст]