Состав системы DECK.AUTH

PHP-FPM


FPM (FastCGI Process Manager, менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов.

Основная часть DECK.AUTH (панель администратора и captive-портал) реализована на PHP с использованием фреймворка Yii2.

СУБД PostgreSQL


PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД). PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011.

DECK.AUTH использует PostgreSQL для хранения данных и кофигураций.

Минимальная версия PostgreSQL для DECK.AUTH 9.5 (рекомендуемая 9.6).

Memcached


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

DECK.AUTH использует Memcached для хранения PHP-сессий и кэширование результатов запросов к СУБД.

NGINX - вебсервер


nginx — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах.

По данным W3Techs, nginx наиболее часто используется на высоконагруженных сайтах, занимая первое место по частоте использования среди 100 000 самых посещаемых сайтов в мире — больше половины из них работает на nginx.

DECK.AUTH использует nginx для предоставления доступа к панели администратора и captive-порталу.

Статические данные отдаются клиенту непосредственно самим nginx. Для доступа к динамическим данным используется nginx proxy до PHP-FPM.

В DECK.AUTH nginx настроет по рекомендациям для обеспечения максимальной нагрузки.

RabbitMQ


RabbitMQ — платформа, реализующая систему обмена сообщениями между компонентами программной системы (Message Oriented Middleware) на основе стандарта AMQP (Advanced Message Queuing Protocol).

RabbitMQ создан на основе испытанной Open Telecom Platform, обеспечивающий высокую надёжность и производительность промышленного уровня и написан на языке Erlang.

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

DECK.AUTH использует RabbitMQ для взаимодействия компонент системы между собой.

В текущем релизе, DECK.AUTH использует RabbitMQ для маршрутизации RPC вызовов, например для вызова отправки SMS, для вызова отправки запроса к Fidelio Agent`у.

В следующих релизах планируется задействовать RabbitMQ для передачи событий между компонентами системы и для предоставления интерфейсов интеграции со сторонними системами.

Панель администратора


Часть DECK.AUTH, отвечающая за предоставление web-интерфейса для управления системой ее настроики и мониторинга состояния.

Доступ к панели администратора ограничен парой логин/пароль.

Captive портал


Часть DECK.AUTH отвечающая за визуализацию и логику работы captive-портала.

Web-интерфейс отображаемый абоненту при подключении к WiFi сети и серверная часть для взаимодействия с компанентами системы.

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

RADIUS Authentication сервер и Accounting сервер


RADIUS (англ. Remote Authentication in Dial-In User Service) — протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием.

В DECK.AUTH используются два раздельных сервера, один отвечает за аутентификацию, а другой за прием и сохранение accounting пакетов.

В DECK.AUTH используется RADIUS сервер собственной разработки, в который вложен, минимально необходимый для функцианирования системы, функционал. В сервер заложена логика работы с поддерживаемым системой активным оборудованием.

RADIUS сервер разработан на платформе NodeJS.

Параметры и логика работы сервера настраивается в панели администратора системы.

SMPP - сервис


Сервис DECK.AUTH, отвечающий за взимодействие с SMS шлюзами по протоколу SMPP.

SMPP — (Short Message Peer-to-Peer) короткие сообщения одноранговой Сети. Является открытым стандартом в телекоммуникационной отрасли, который разработан специально, чтобы обеспечить гибкий интерфейс для п ередачи коротких сообщений между внешними сущностями (устройства, приложения) коротких сообщений (ESME), маршрутизаторами и центров сообщений (SMSC).

Сервис может использоваться системой для отправки или приема SMS.

Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.

Разработан на платформе NodeJS.

SMS - сервис


Сервис DECK.AUTH, отвечающий за взимодействие с SMS шлюзами по протоколу HTTP или API вызовов конкретных шлюзов.

Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.

Разработан на платформе NodeJS.

Fidelio - сервис


Сервис DECK.AUTH, отвечающий за взимодействие агентом Fidelio.

Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.

Разработан на платформе NodeJS.

Данный сервис позволет осуществить аутентификацию абонентов по номеру комныты и фамилии зарегистрированного постояльца в системе управления гостиницей Fidelio Suite 8.

Fidelio - агент


Отдельное програмное обеспечение собственной разработки, отвечающее за обращение к СУБД системы управления гостиницей Fidelio Suite 8.

Для взаимодействия с DECK.AUTH используется протокол HTTP с передачей данных в зашифрованном виде.

Разработан на платформе GO.