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