Представляем архитектурное описание компонентов нашей Электронной очереди и сводный обзор применяемых технологий.
Архитектурная схема
1. В системе заводится Головная компания, Территориальные офисы и их Подразделения, с привязкой к локациям и разграниченными правами администрирования.
2. К каждому Подразделению привязываются Табло и Киоски, расположенные внутри данных офисов и Сотрудники, которые могут регистрироваться и авторизовываться в системе.
3. Рабочие места операторов являются местом обслуживания клиентов. Когда сотрудник авторизуется на рабочем месте, он выбирает в рамках системы функционал, который он готов выполнять (обслуживание юр. лиц, физ. лиц, общие вопросы и т. д.).
4. Система электронной очереди, на основе интерфейса Стоек регистрации (киосков) предлагает клиентам получить талон по желаемому направлению (кредиты, депозиты, другие вопросы и т. д.).
5. В зависимости от рабочего функционала сотрудников (типов заявок, которые умеет/готов обрабатывать тот или иной сотрудник) система электронной очереди направляет заявку к подходящему Рабочему месту оператора.
Учитывается загруженность Рабочих мест, поддерживается пересечение заявок между столами, которые могут одинаково обрабатывать различные типы заявок.
Когда подходит очередь талона, обновляется информация на Табло и происходит вызов клиента к привязанному системой столу с сотрудником.
Алгоритм распределения заявок
1. По каждому типу заявок (кредиты, депозиты, другие вопросы и т. д.) система учитывает свободные, занятые и неактивные Рабочие места оператора.
2. Когда подходит очередь очередного клиента, после исключения занятых и неактивных столов из всех свободных сотрудников выбирается обработавший наименьшее количество заявок за установленный период.
Единый сервер
Технологии
Наше решение разработано с использованием только бесплатных технологий, а значит не требует приобретения сторонних лицензий, в качестве основы может быть использована ОС Linux. Запуск Системы электронной очереди не предполагает никаких дополнительных платежей, кроме приобретения лицензии на саму Электронную очередь и оплату пусконаладочных работ.
- СУБД PostgreSQL версии 12 и выше
- Брокер сообщений ActiveMQ
- Бэк-офис/Рабочее место оператора — Spring/SpringBoot
- Rest-сервис для работы стоек регистрации — Spring/SpringBoot
- Rest-сервис/Веб-приложение для работы электронных табло — Spring/SpringBoot
- Фоновый системный процесс (демон) — Java
- Front-end сервер — Nginx
Схема развертывания
В соответствии с данной схемой сервер решения может быть запущен исключительно в рамках внутренней сети организации. Доступ к глобальному Интернету требуется только для сервиса синтеза речи.
Безопасность
- Обеспечивается ролевая политика доступа в рамках бэк- и фронт-офиса, с настройкой по группам, в соответствии с требованиями заказчика
- Передача данных между сервером и клиентами осуществляется по https протоколу с шифрованием
- Стойки регистрации и электронные табло для доступа к серверу используют уникальные реквизиты — логин и пароль
Надежность
Для обмена информацией используется WebSocket протокол — каждое подключение рабочего места или электронного табло создает WebSocket соединение. При изменениях на сервере вся информация в режиме реального времени передается на клиентские устройства.
WebSocket это не только передовая технология, но и возможность полностью отказаться от метода poll опросов, что значительно снижает нагрузку и позволяет расширять систему — подключать больше клиентских устройств на основе того же количества аппаратных ресурсов. Дополнительно WebSocket позволяет мгновенно реагировать на любые изменения, которые происходят на сервере.
Стойка регистрации
- UI: Приложение для electron (electron v 8.3 и выше)
- Фоновый процесс — Java
- Готовый ISO образ для стоек регистрации на базе Linux-дистрибутива Fedora32
Электронное табло
- Firefox последней версии
- Готовый ISO образ для электронных табло на базе Linux-дистрибутива Fedora32
Особенность готовых ISO образов
- Полностью обновлена OS
- Установлены необходимые Runtime Environment (Java 11, electron 8.3)
- Созданы и сконфигурированы пользователи, под которыми выполняются приложения
- Произведена настройка sudoers (разрешен запуск некоторых утилит от имени root для полной автоматизации работы. Например, ПО само умеет менять часовой пояс)
- Добавлены необходимые системные сервисы
- Полностью заскриптован запуск приложений электронной очереди. При падениях реализован повторный перезапуск
- Добавлен openvpn
- Сконфигурирован sshd для усиления безопасности (запрет входа под root, специальный пользователь для удаленного входа только по ключу)
- Установлен и настроен firewallD
- Установлен и настроен fail2ban для надежной защиты sshd
- Доступна замена обоев рабочего стола, логотипов и иконок
По требованиям клиентов могут вноситься любые изменения. Сборки могут быть подготовлены индивидуально под конкретного клиента.
Мы используем современные технологии, уделяем внимание надежности и безопасности решения. Наша Электронная очередь отвечает всем базовым требованиям к системам подобного класса, при необходимости компоненты могут быть адаптированы под заказчика.