В настоящее время у многих крупных компаний имеется множество филиалов и офисов, за которыми необходимо вести постоянный мониторинг, отслеживая их деятельность. При этом необходимо оперативно управлять их работоспособностью и ресурсами. Существует много систем мониторинга с широким спектром настроек, например, Nagios. Но это либо системы с расширенным функционалом, который попросту не всегда нужен, либо специфичные системы, используемые в узкоспециализированных целях. В любом случае применение таких систем не является целесообразным. Во многих областях применение собственных систем является оправданным, пример такой системы приведен в работе [4]. Поэтому остро встаёт вопрос о разработке собственной системы мониторинга филиалов и офисов Мегафон.
Система предназначена для мониторинга терминалов оплаты и поступления денег на счет компании от пользователей услуг компании и должна оповещать администратора о каких-либо заметных изменениях.
Так как все операции с базой данных будут проводиться администратором, целесообразно написать программу администрирования и настройки БД в RAD Studio XE. Среда разработки выбрана из-за простоты описания интерфейса и простоты работы с базами данных. СУБД целесообразно выбрать MySQL, так как она поддерживается большинством web-серверов. Она как раз предназначена для малых и средних приложений, и ее использование существенно облегчит работу с БД [1,2].
Для реализации мониторинга в web-браузере, был использован язык php, как один из наиболее распространенных языков программирования для web-приложений.
В процессе реализации разработано 5 модулей (рисунок 1). Модуль администрирования БД, модуль мониторинга оплаты, модуль рассылки сообщений, модуль авторизации для просмотра БД, модуль генерации запросов на оплату.
Модуль администрирования БД доступен только администратору. С помощью него администратор может добавлять или удалять новые филиалы, редактировать информацию о клиентах, добавлять новых клиентов и строить отчеты по оплате на определенный срок.
Рис. 1. Схема взаимодействия модулей
Модуль мониторинга оплаты существует для наглядного представления о проходящих оплатах, разделенных по филиалам и по операторам связи. Этот модуль может настраиваться по промежуткам времени для отображения того или иного действия. Данный модуль обрабатывает post запросы от сервера и отображает их в удобном для пользователя виде.
Модуль рассылки сообщений основан на смс-шлюзе и спроектирован таким образом, что администратор может подключить шлюз по своему усмотрению, т. е. выбрать наиболее дешевый или подключить уже существующий. Если смс-шлюзом пользоваться неудобно по каким-либо причинам, есть альтернатива рассылки информационных сообщений по e-mail.
Так как при проектировании и создании программы не было доступа к программно-аппаратной части терминалов оплаты был разработан специальный модуль, который генерирует оплату с того или иного оператора. Модуль полностью настраиваемый, начиная от случайной генерации отрезков времени оплаты, заканчивая строгим заданием этих интервалов. Данный модуль служит промежуточным вариантом для демонстрации работоспособности программы. При внедрении данной программы на конкретное предприятие и получение доступа к программно-аппаратному комплексу терминалов оплаты этот модуль легко заменить.
Для доступа к БД реализовано несколько ролей пользователей [3]. Для распределения ролей доступа используется модуль авторизации. Для построения отчетов по БД достаточно роли пользователя, а для редактирования, добавления или удаления данных необходим доступ администратора. При проектировании стояла задача создания легкой программы мониторинга для торговых терминалов оплаты. Для решения этой задачи была выбрана схема с хранением БД на сервере, со следующей структурой (рисунок 2):
Рис. 2. Схема базы данных
База данных содержит следующие таблицы:
- — Clients — эта таблица хранит данные о клиентах: имя, телефон, принадлежность клиента к определенному филиалу.
- — Filials — в этой таблице собрана вся информация по филиалам:
Название филиала, расположение и суммируемое поле по доходам данного филиала.
- Servers — здесь находятся вся информация о возможностях оплаты, по определенным филиалам.
- Sellary — сводная таблица по прохождению платежей, которая содержит информацию, кто и когда заплатил, посредствам какого способа оплаты и по какому филиалу.
При разработке программного комплекса возникали и решались различные проблемы. В частности проблема с поиском смс-шлюза, для тестирования корректности работы оповещения пользователей. В основном все предоставляемые смс-шлюзы платные, а бесплатные требуют введение Captcha. Это существенно снижает автоматизацию процесса оповещения. Для обхода такой ситуации и минимизации затрат был создан модуль оповещения по e-mail. Простота реализации и отсутствие необходимости оплачивать дополнительные сервисы являются основной причиной реализации данного модуля. Так как сейчас распространено повсеместное использование интернета, то больших затруднений в получении уведомления быть не должно.
Разработанная система оттестирована и готова к применению на предприятии только после небольших доработок с интеграцией приема платежей под конкретное предприятие и конкретный аппаратный комплекс.
Она может послужить хорошей альтернативой, громоздким комплексам мониторинга информационных узлов, для узкоспециализированной области. Так же после проведения работ по реализации были подготовлены предложения по улучшению и дополнению функционала новыми возможностями, в частности расширение системы оповещения при работе в одной локальной сети, планировщик создания и печати отчетов.
Немаловажной частью, является и актуализация программных кодов под стабильно изменяющуюся инфраструктуру, поэтому при работе с программным комплексом хорошо вписывается модель распространения по лицензии GPL с открытыми исходными кодами. Это необходимо для актуализации протоколов доступа к терминалам, интернет протоколов. Также для изменения доступа к смс-шлюзам. При использовании бесплатных смс-шлюзов, для автоматизации обязательно понадобиться ReCaptcha, которую тоже будет необходимо добавить. Все это можно будет добавить на предприятие в процессе процедуры внедрения и актуализации конкретно поставленной задачи.
Таким образом, разработанная программа отличается высоким быстродействием, простотой настройки, системой мониторинга в заданном промежутке времени. Она выполняет узкоспециализированные задачи, но способна расширяться и улучшаться.
Литература:
1. PHP and MySQL Web Development. Люк Веллинг, Лаура Томсон. Вильямс 2010.
2. Осипов Д. Л. Базы данных в PHP. Теория и практика. — Бхв–Петербург 2011. — 601 с.
3. Роберт Шелдон, Джоффрей Мойе. MySQL 5: базовый курс = Beginning MySQL. — М.: «Диалектика», 2007. — 880 с.
4. Силаев А. А. Автоматизированная система учёта услуг и распределения времени между клиентами, в сфере музыкальной репетиционной деятельности [Текст] / А. А. Силаев, А. Н. Кукушкин // Молодой ученый. — 2012. — № 5. — С. 81–83.