Это старая версия документа!
Логическая структура проекта
Ядро биллинга
При запуске считываются параметры из admin/app/etc/config.xml
Из участка <kernel> берутся параметры <ip> и <port> для общения с radius.
При первом запросе от radius будет проверено наличие файлов лицензии по пути:
admin/app/etc/client.key admin/app/etc/serv.crt
При их отсутствии поставится ограничение на 123 пользователя.
Если файлы будут найдены, сформируется запрос на сервер лицензий:
cert1.celteh.com cert2.celteh.com cert3.celteh.com
При успешной проверке, будет прочитана информация и установится лимит абонентов по лицензии.
После создаются соединения с базой, количество соединений указывается в конфигурации radius.
Radius
При запуске загружается список и параметры BRAS из базы данных. Настройки подключения содержатся в файле sql.conf
Взаимодействие с ядром биллинга происходит за счет файла mikbill.pl где указаны ip и порт на котором запущено ядро:
my $sock = new IO::Socket::INET ( PeerAddr => 'localhost', PeerPort => '2007', Proto => 'tcp', );
cron
Взаимодействует с бекендом админки периодически запуская скрипты с помощи которых формируется логика тарифов, обновление графиков, очищение зависших сессий и т.д.
backend админки
Считывает конфигурацию из admin/app/etc/config.xml
Параметр <siteName> отвечает за титульное название страницы в браузере.
Сам index.php содержит в себе набор функций для обработки запросов от frontend админки, платежных систем и консольных команд.
Может вызывать скрипты находящиеся в admin/sys/scripts или любую другую программу указанную в системных опциях.
backend кабинета
Считывает конфигурацию из stat/app/etc/config.xml
Сам index.php содержит в себе набор функций для обработки запросов от frontend кабинета.
Может вызывать скрипты находящиеся в stat/sys/scripts
backend платежных форм
Это файл pay.php с открытым кодом в корне папки кабинета, взаимодействует с файлами из stat/res/paysystem для формирования формы, адреса и суммы оплаты. Результат отдает на frontend кабинета.
frontend админки (flash)
Это файл mikbill.swf в корне админки, содержит в себе набор функций для обеспечения работоспособности GUI и общения с backend админки.
frontend админки (html)
Это файл index.html в корне админки, взаимодействует с файлами в папке admin/MBPlatform.
Аналогично flash версии, содержит набор функций для обеспечения работоспособности GUI и общения с backend админки.
frontend кабинета
Это файл main.php c открытым кодом в корне кабинета, взаимодействует с файлами в папке stat/data и stat/res.
Содержит набор функций для обеспечения работоспособности GUI и общения с backend кабинета и платежных форм.
Гибкость
Данные элементы можно размещать на разных серверах, завязывая их общение по внутренней сети либо по выделенным каналам.
- cron, backend и frontend админки