Запуск клиента через BGBilling Runner

images/download/attachments/164233221/bgclientrunner_03.png

С версии 7.1+ (в сборках от 15 января 2019 и позднее) доступен новый способ запуска клиента биллинга BGBilling Runner. Данный вариант является рекомендуемым способом запуска клиента биллинга.

Для запуска клиента биллинга данным способом, необходимо:

  1. На клиентском компьютере должна быть установлена виртуальаная машина Java (JRE)

  2. Загрузить архив с BGBilling Runner на клиентский компьютер (например отсюда ftp://ftp.bgbilling.ru/pub/bgbilling/runner/)

  3. Распаковать архив в домашнем каталоге пользователя или на сетевом диске если клиент будет запускать несколько пользователей.

  4. Убедиться, что установлена и корректно настроена системная переменная JAVA_HOME

  5. При необходимости настроить адреса сервера(ов) биллинга по умолчанию (что то типа http[s]://host[:port][/bgbilling]/executer), которые будут использоваться при запуске BGBilling Runner. Доступно несколько способов задания списка доступных серверов:

    1. в файле config.json из архива BGBilling Runner

    2. на локальном сервере, при запуске BGBilling Runner пытается загрузить список серверов с сайта http://billing.local/servers.json (пример файла config_http.json см. архиве BGBilling Runner). Адрес сайта и имя файла могут быть заданы в файле config.json, парметр "configURL" : "none". Значение "none" отключает загрузку с сайта.

    3. ручной ввод данных сервера в интерфейсе BGBilling Runner.

  6. Запустить BGBilling Runner с помощью скриптов запуска runner.sh(Linux) или runner_w2k.bat(Windows)

  7. Выбрать необходимый сервер, ввести ни необходимости логин и пароль и Войти на сервер.

    Внимание

    При установке базы биллинга в ней создаётся единственный пользователь admin c паролем admin. После первого входа желательно поменять пароль в целях безопасности.

Если при запуске клиента нужно передать дополнительные параметры это можно сделать в редакторе VM arguments. Для каждого сервера можно настроить свои параметры, при этом если необходимо, что бы параметры сохранялись между запусками клиента, их необходимо их добавлять в режиме редактирования, иначе они будут применяться только для текущего запуска.

Алгоритм работы BGBilling Runner

Программа использует похожий на JavaWebStart алгоритм запуска программы с дополнительные возможностями.

После запуска BGBilling Runner, выбора сервера, и ввода логина и пароля, BGBilling Runner обращается к серверу биллинга за списком библиотек необходимых для запуска клиента биллинга. Сервер возращает список библиотек и их контрольные суммы. BGBilling Runner проверяет наличие запрашиваемых библиотек в локальном кеше клиента (в домашнем каталоге пользователя, каталог ./bgbilling/libs). Отсутствующие библиотеки или отличающиеся по контрольной сумме, загружаются с сервера и сохраняются в кэше. При наличие в кеше всех необходимых библиотек, BGBilling Runner запускает клиент биллинга в виде отдельно java процесса. Кроме списка библиотек, с сервера загружает контрольная сумма всех библиотек, которая передается клиенту биллинга при запуске и используется в процессе работы клиента для контроля совпадения версии клиента и сервера, в случае обновления сервера, его контрольная сумма меняется и в клиенте выводится сообщение о необходимости перезапуска (обновления) клиента.

BGBilling Runner позволяет одновременно запускать несколько клиентов биллинга разных версий (в том числе, например 7.1 и 8.0) без необходимости переустановки клиента.

В процессе работы BGBilling Runner сохраняет вручную добавленные сервера, а также логины и пароли, в домашнем каталоге пользователя, в файле ./bgbilling/servers.json

В BGBilling Runner встроен механизм очистки кэша от редко используемых библиотек. По умолчанию библиотеки не использованные для запуска клиента более 15 дней удаляются из кеша. Данный срок может быть изменен с помощью ключа запуска -Dbg.client.runner.cache.period=15. Дата последнего использования библиотеки хранится, в домашнем каталоге пользователя, в файле ./bgbilling/cache.json

При первом запуске BGBilling Runner, если в домашнем каталоге пользователя есть файл ./bgbilling/config, то программа попытается загрузить из него данные о серверах, и сохраненных логинах и паролях. Данные будут сохранены в файле ./bgbilling/servers.json. При последующих запусках если существует файл ./bgbilling/servers.json, то загрузка данных из ./bgbilling/config производиться не будет.

Обновление BGBilling Runner

В сборка доступных после 1 марта 2019 года в версиях 7.1+ реализован механизм автоматического обновления библиотеки программы BGBilling Runner. Для активации данного режима необходимо убедиться в следущем:

1) у вас на рабочей станции установлен BGBilling Runner версии 1903011835 или старше.

2) на сервере установлена сборка сервера старше 1 марта 2019 года

3) в каталоге установленного сервера есть скрипт update_runner.sh (если скрипта нет, его можно загрузить с ftp://ftp.bgbilling.ru/pub/bgbilling/runner/update_runner.sh)

Для обновления BGBilling Runner необходимо запустить скрипт update_runner.sh (можно периодически запускать скрипт из планировщика) который проверит наличии новой версии на сервере ftp://ftp.bgbilling.ru/pub/bgbilling/runner/ и при наличии, загрузит ее на сервер биллинга в каталог runner. Далее при запуске BGBilling Runner на рабочей станции, происходит сравнение версии на рабочей станции и на сервере, если версия на сервере больше версии на рабочей станции, версия с сервера копируется на рабочую станцию в папку BGBillingRunner/lib.update. При следущем запуске BGBillingRunner файлы из папки BGBillingRunner/lib.update переносятся в папку BGBillingRunner/lib.

Параметры запуска BGBilling Runner

При запуске скриптов runner.sh(Linux) или runner_w2k.bat(Windows) можно задать параметр autostart=default|<server_key>, где default - ключевое слово обозначающее сервер по умолчанию заданный в конфигурационных файлах (параметр "defaultServerKey"); <server_key> - значение параметра "key" из конфигураций сервера. При наличии этого параметра запуск указанного клиента биллинга будет происходит автоматически.

Часто задаваемые вопросы

1. При подключение выдается ошибка

Ошибка

"Выбранный сервер не поддерживает данный режим запуска клиента. Необходимо настроить сервер."

Данная проблема возможна по следующим причинам

  • Сервер биллинга не поддерживает данный способ запуска, необходимо обновить сервер до более поздних версий

  • Сервер биллинга находится например за nginx, на котором не настроен доступ к сервлету http://host[:port]/[bgbilling/]clientUpdate/*

  • Если подключаетесь к только что установленному серверу биллинга, необходимо выполнить процедуру обновления сервера (загрузить в каталог сервера архивы, например https://bgbilling.ru/v7.2/download/kernel/update_7.2.zip и update_lib_7.2_XX.zip c ftp://ftp.bgbilling.ru/v7.2/ , после чего на остановленном сервере запустить скрипт "./bg_installer.sh update_7.2.zip" и "./bg_installer.sh update_lib_7.2_XX.zip")

2. Использование самоподписанного сертификата на сервере биллинга

Для отключение проверки валидности сертификата в config.json или config.json загружаемого с сервера, нужно указать параметр "anySSL" : "true"

3. Запуск клиента биллинга в debug режиме

Если перед нажатием кнопки Войти в BGBilling Runner щелкнуть по ссылке по "показать дополнительные параметры" и установить галочку режим отладки, то в этом случае после запуска клиента биллинга, в домашнем каталоге пользователя будет создан файл debug_XXXXXXXXXX.log с логами обмена запросами клиента и сервера.