BILLmanager — это платформа с комплексной архитектурой. Платформа управляет процессами, связанными с обработкой платежей и взаимодействием с пользователями. Ключевыми компонентами архитектуры платформы являются:
- веб-сервер (ihttpd);
- база данных;
- BILLmanager (COREmanager и billmgr.so);
- внешние приложения в составе BILLmanager;
- CGI-приложение (доступно через веб-сервер);
- сторонние внешние приложения;
- файловая система.
Схема работы BILLmanager

Схема работы BILLmanager
- Веб-сервер — приложение, которое обеспечивает взаимодействие с платформой через веб-интерфейс. Подробнее см. в разделе Интерфейс BILLmanager и в статье Настройка встроенного веб-сервера (ihttpd)
- DB — СУБД MySQL или MariaDB. Требуется для хранения информации о клиентах, платежах, настройках и других данных, необходимых для функционирования платформы. Подробнее см. Структура базы данных
- BILLmanager — платформа для автоматизации. Основу составляют фреймворк COREmanager и библиотека billmgr.so. Также включает:
- API-функции — предоставляют интерфейсы для интеграции BILLmanager с внешними системами и приложениями. Подробнее см. Взаимодействие через API
- библиотеки дополнительных модулей;
- плагины;
- база данных;
- файлы — описания интерфейса в формате XML, настройки пользователей, документы технической поддержки, различные изображения и файлы для веб-интерфейса;
- модули — например, модули оплаты, обработчиков услуг, документооборота, и т.д.
- mgrctl — приложение для выполнения операций с платформой, включая управление пользователями, настройками и обработку платежей. Подробнее см. Утилита mgrctl
- FS — файловая система. Отвечает за хранение файлов и документов, связанных с работой BILLmanager, включая отчёты и шаблоны документов
- CGI — общий интерфейс шлюза (Common Gateway Interface). Используется для обработки запросов, связанных с выполнением скриптов и взаимодействием с сервером
- Input — источники входящих запросов. В случае, если процесс биллинга не запущен, вызов функции через любой из этих механизмов приведёт к его запуску:
- веб-сервер (ihttpd);
- mgrctl;
- mgr_client::Local — библиотека для выполнения запросов к платформе из кода на языке C++. Используется при написании клиентских плагинов или модулей;
-
Output — формат вывода данных. Определяется параметром строки запроса out. Например:
- html;
- xml;
- JSON;
- text.
Может быть полезно