Расширение функциональности 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)