Расширение функциональности BGBilling
BGBilling поддерживает возможность гибкого расширения функциональности системы путём написания пользовательских скриптов, которые могут: обрабатывать различные события системы, выполняться обособленно, управлять устройствами и т.д. Имеется возможность разработки расширений функциональности на следующих языках:
язык Java - обработчики событий могут быть реализованы в виде Java-классов, которые компилируются и загружаются динамически; использование Java в качестве пользовательских скриптов предпочтительнее как с точки зрения удобства и возможностей разработки, так и с точки зрения производительности самих скриптов (быстрее до 50 раз).
язык BGBS - это интерпретируемый Java-подобный язык программирования, который хорошо подходит для написания небольших скриптов, время выполнения которых не критично. BGBS представляет собой интегрированный в биллинг интерпретатор языка BeanShell (http://www.beanshell.org/) + API для управления данными биллинга и набор событий биллинга, которые можно обрабатывать. Разработка на BGBS требует знание языка Java, т.к. большинство вызовов BeanShell прозрачно переадресуются Java API. Синтаксис BeanShell также практически полностью идентичен Java.;
Язык BeanShell уже морально устарел и оставлен для совместимости, чтобы работали старые скрипты. Все новые скрипты нужно писать на java.
Пользовательские скрипты Java/BGBS могут использоваться как:
Скрипты поведения - привязанные к договорам и обарабатывающие определенные события, происходящие с ними;
Функции глобальных событий - обработчики событий системы, не свзязанных с конкретными договорами;
Глобальные скрипты поведения - выполняемые периодически или единоразово действия.
Только пользовательские скрипты в виде динамических Java классов могут использоваться как:
Скрипты пред- и постобработки запросов, скрипты управления сервисом в модуле Inet.
Только пользовательские BGBS скрипты могут использоваться как:
Скрипты предобработки RADIUS запросов, привязаных к NASам модулей DialUp/VoiceIp и производящих предобработку RADIUS запросов;
Скриптовые шлюзы модуля IPN - скрипт производит управление шлюзом.
Примеры использования скриптов доступны в базе знаний WiKi. Вы также можете публиковать там свои разработки.
При разработке скриптов будет полезен наш API, ссылка на который есть на сайте http://bgbilling.ru. (например, API 7.1)