{{indexmenu_n>30}} ====== Структура биллинга [чистовик] ====== {{:introduction:mikbill_logic_structure.jpg?nolink|}} ===== Ядро биллинга ===== При запуске считываются параметры из **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 ===== Взаимодействует с бэкендом админки периодически запуская [[billing:how_it_work:cron|скрипты]] с помощи которых формируется логика тарифов, обновление графиков, очищение зависших сессий и т.д. ===== backend админки ===== Считывает конфигурацию из **admin/app/etc/config.xml**\\ Параметр <**siteName**> отвечает за титульное название страницы в браузере.\\ Сам **index.php** содержит в себе набор функций для обработки запросов от **frontend** админки, платежных систем и [[billing:preferences:management:console|консольных команд]].\\ Может вызывать скрипты находящиеся в **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** кабинета и платежных форм.