В этой статье:

Интеграция с Python

Интеграция с Java

Интеграция с R

Интеграция с LPSolve

Интеграция с TRAMO и SEATS

Подключение дополнительных модулей к «Форсайт. Аналитическая платформа»

Интеграция с Python

Интеграция с языком программирования Python позволяет расширить функциональные возможности «Форсайт. Аналитическая платформа» в инструментах «Моделирование и прогнозирование», «Анализ временных рядов», «Отчеты». В указанных инструментах функции Python применяются в универсальном редакторе выражения.

Примечание. Поддерживается интеграция с Python от версии 3.5 до 3.12. Поддержка более новых версий требует отдельных исследований. Разрядность Python и «Форсайт. Аналитическая платформа» должна совпадать.
В Astra Linux уже имеется предустановленная версия Python 3.7, поэтому должна использоваться именно она. Если по каким-либо причинам данная версия не находится, то добавьте символьную ссылку на библиотеку, выполнив команду: sudo ln -s /usr/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.so /opt/foresight/fp10.x-biserver/bin/

Шаги по интеграции с Python отличаются в зависимости от используемой операционной системы.

Для интеграции с Python на OC Linux предварительно необходимо произвести сборку исходных файлов Python.

Сборка Python из исходных файлов на OC Linux

Рассмотрим пример сборки исходных файлов Python версии 3.6.9 в Astra Linux.

Выполните действия:

  1. Скачайте архив с исходными файлами Python версии 3.6.9:

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz

  1. Распакуйте файл из архива:

tar xvf Python-3.6.9.tgz
cd Python-3.6.9

  1. Добавьте в файл configure, поставляемый вместе с исходными файлами Python, параметры --enable-shared для генерации динамической библиотеки, которую использует платформа, и --prefix с указанием места установки Python:

./configure --enable-shared --prefix=/opt/python

  1. Выполните компиляцию исходного кода Python, используя altinstall:

sudo make altinstall

Примечание. Команда make altinstall используется для предотвращения замены бинарного файла Python, который по умолчанию находится по пути S/usr/bin/python, где S - путь до папки установки Python.

Результат компиляции должен быть примерно следующим:

Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2

Интеграция с Python на OC Linux

Рассмотрим пример интеграции Python версии 3.6.9 в Astra Linux. Убедитесь, что предварительно была произведена сборка исходных файлов Python.

Для интеграции с Python в Astra Linux:

  1. Проверьте, что сборка исходных файлов прошла успешно и была установлена новая версия Python.

Если версия в системе по умолчанию не была переписана, то проверьте текущую версию Python с помощью команды:

python3.6 --version

  1. Выполните одно из действий, если команда не была найдена:

    • добавьте путь к папке с установленным Python в системной переменной Path:

echo export PATH=$PATH:/opt/python/bin >> ~/.bashrc
source ~/.bashrc

    • укажите путь до местоположения библиотеки Python libpython3.*m.so, которая была создана с помощью параметра --enable-shared в шаге 3:

echo export LD_LIBRARY_PATH="/opt/python/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

При первом использовании Python платформа будет искать библиотеку из списка:

libpython3.9.so, libpython3.8.so, libpython3.7m.so, libpython3.6m.so, libpython3.5m.so

Платформа будет использовать первую найденную библиотеку до перезапуска. Перезапустите BI-сервер:

sudo systemctl restart apache2-fp10.x

Для интеграции с Python на OC Windows:

  1. Загрузите дистрибутив Python.

  2. Установите Python на тот же компьютер, на котором установлено настольное приложение «Форсайт. Аналитическая платформа». Если Python планируется использовать и в веб-приложении, то установите Python на компьютер, на котором расположен BI-сервер.

    • При установке включите флажок «Add Python <Version> to PATH» для добавления пути к папке с установленным Python в системной переменной Path.

Если Python устанавливается с помощью какого-либо пакета, например Anaconda, то во время установки также необходимо включить флажок «Add...to PATH». Таким образом, будет выполнена интеграция продукта «Форсайт. Аналитическая платформа» с Python. Все выполняемые скрипты должны находиться в папке «Форсайт. Аналитическая платформа».

Для указания дополнительной папки со скриптами:

  • создайте в реестре строковый параметр PythonPath и задайте в нём необходимый путь до дополнительной папки со скриптами. Параметр создается в ветке реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Python];

  • используйте метод IPythonUtils.AddFolderToPythonPath.

Если несколько версий Python установлено в ОС Linux, то выполните следующие действия:

  1. Добавьте символьную ссылку на нужную библиотеку, например:

ln -s /opt/python/lib/libpython3.9.so /opt/foresight/fp10.x-biserver/bin/

  1. В ОС Windows в ветке реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Python] создайте строковый параметр PythonLib, в качестве значения укажите наименование библиотеки Python нужной версии, например "libpython3.9.so". Сохраните настройки в файл с расширением *.reg в папку /opt/foresight/fp10.x-biserver/bin.

Примечание. Ветка реестра [HKEY_CURRENT_USER] может быть заменена на [HKEY_LOCAL_MACHINE], если путь до библиотеки Python указывается для всех пользователей, а не только для текущего.

Если для установки Python использовалась система управления пакетами pip, то при возникновении проблем с поиском библиотек Python произведите установку с использованием команды sudo pip3. Без использования sudo установка производится в папку пользователя /home/user/.local/bin, в которой BI-сервер не сможет обнаружить библиотеки Python.

Если было установлено несколько версий Python и требуется использовать определённую, то при работе в ОС Windows создайте в ветке реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Python] строковый параметр PythonLib и укажите для него в качестве значения имя библиотеки Python нужной версии, например "python39.dll".

Для получения подробной информации о создании Python-модулей, в которых будут храниться коды макросов на языке Python, обратитесь к разделу «Создание Python-модулей».

Интеграция с Java

Интеграция с языком программирования Java позволяет расширить функциональные возможности «Форсайт. Аналитическая платформа» в инструментах «Моделирование и прогнозирование», «Анализ временных рядов», «Отчеты». В указанных инструментах функции Java применяются в универсальном редакторе выражения.

Установка Java в ОС Linux

Если язык Java уже установлен в среде Linux, то следующие пункты 1-8 можно пропустить. Для установки языка Java:

  1. В терминале выполните команды:

sudo mkdir /usr/lib/jvm
cd /usr/lib/jvm

  1. Скачайте .gz пакет по адресу https://www.oracle.com/java/technologies/downloads/#java8.

  1. Выполните команду:

sudo tar -xvzf ~/Downloads/jdk-8u<Ver>-linux-x64.tar.gz

Примечание. Путь до .gz-файла может отличаться. Укажите тот путь, куда был сохранён пакет.

  1. Откройте на редактирование файл с переменными:

sudo gedit /etc/environment

  1. Добавьте в конец файла строки:

J2SDKDIR="/usr/lib/jvm/jdk1.8.0_<Ver>"

J2REDIR="/usr/lib/jvm/jdk1.8.0_<Ver>/jre"

JAVA_HOME="/usr/lib/jvm/jdk1.8.0_<Ver>"

DERBY_HOME="/usr/lib/jvm/jdk1.8.0_<Ver>/db"

  1. Если в файле отсутствует переменная PATH, то добавьте следующее значение:

PATH="/usr/lib/jvm/jdk1.8.0_<Ver>/bin:/usr/lib/jvm/jdk1.8.0_<Ver>/db/bin:/usr/lib/jvm/jdk1.8.0_<Ver>/jre/bin:$PATH"

Если переменная имеется, то добавьте в список значение:

/usr/local/games:/usr/lib/jvm/jdk1.8.0_<Ver>/bin:/usr/lib/jvm/jdk1.8.0_<Ver>/db/bin:/usr/lib/jvm/jdk1.8.0_<Ver>/jre/bin

  1. Выполните в терминале:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_<Ver>/bin/java" 0

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_<Ver>/bin/javac" 0

sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_<Ver>/bin/java

sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_<Ver>/bin/javac

  1. Перезапустите терминал. Для проверки установленной версии выполните команду:

java -version

Интеграция с Java на OC Linux

  1. Добавьте символьную ссылку:

sudo ln -s /usr/lib/jvm/jdk1.8.0_<Ver>/jre/lib/amd64/server/libjvm.so /opt/foresight/fp10.x-biserver/bin/libjvm.so

  1. В ОС Windows в ветке реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Java] создайте подраздел «Java», в котором добавьте строковый параметр Options. Данный параметр будет использоваться для указания дополнительных опций, используемых при создании и работе Java-машины. Значения в параметре Options указываются через запятую. Сохраните настройки в файл с расширением *.reg в папку /opt/foresight/fp10.x-biserver/bin/registry.

  2. Откройте полученный *.reg файл на редактирование в среде Linux и задайте значение для параметра Options:

"Options"="-Djava.home=/usr/lib/jvm/jdk1.8.0_<Ver>/jre"

  1. Если во время работы будет возникать ошибка «Проверьте значение CLASSPATH», то добавьте через запятую в параметр Options значение «-Dfile.encoding=UTF-8».

  2. Дополнительно в Options могут быть указаны пути до файлов с пользовательскими классами (архивов с пользовательскими классами). Пути между собой разделяются двоеточием, например, «-Djava.class.path=/opt/foresight/fp10.x-biserver/:/usr/local».

Примечание. В указанных выше командах <Ver> - версия языка Java.

Для интеграции с языком Java установите на компьютере соответствующее программное обеспечение:

  • Java SE Runtime Environment (JRE);

  • Java SE Development Kit (JDK).

Примечание. Версии устанавливаемого программного обеспечения Java должны быть 8 или выше. Разрядность Java и «Форсайт. Аналитическая платформа» должна совпадать.

После установки выполните настройки:

  1. В системную переменную Path добавьте путь до библиотеки jvm.dll в папке установки JRE (например, c:\Program Files\Java\jre1.8.0_<Ver>\bin\server\).

  2. В ветке реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv] создайте подраздел «Java», в котором добавьте строковый параметр Options. Данный параметр будет использоваться для указания дополнительных опций, используемых при создании и работе Java-машины. Значения в параметре Options указываются через запятую.

  3. Задайте в Options путь до установленного JDK (указывается путь до подкаталога jre в папке установки JDK), например, «-Djava.home=c:/Program Files/Java/jdk1.8.0_<Ver>/jre/»;

  4. Дополнительно в Options могут быть указаны пути до файлов с пользовательскими классами (архивов с пользовательскими классами). Пути между собой разделяются точкой с запятой, например, «-Djava.class.path=d:/Work/Java/;D:/Test/».

Для получения подробной информации о создании Java-модулей, в которых будут храниться коды модулей на языке Java, обратитесь к разделу «Создание Java-модулей».

Примечание. В указанных выше командах <Ver> - версия языка Java.

Интеграция с R

Подключение R позволяет расширить функциональные возможности «Форсайт. Аналитическая платформа» в инструментах «Моделирование и прогнозирование», «Анализ временных рядов» и универсальном редакторе выражения.

Для подключения R:

  1. Установите R на локальный компьютер и сервер приложений, если предполагается использование инструмента «Планировщик задач» для запуска расчета задач моделирования.

Шаги по установке R отличаются в зависимости от используемой операционной системы.

Для установки R на Astra Linux:

  1. Настройте прокси-сервер для командной оболочки Bash.

  2. Настройте прокси-сервер для программы Apt-Get, предназначенной для установки, обновления и удаления программных пакетов в Debian-подобных дистрибутивах ОС Linux.

  3. Подключитесь к внешнему репозиторию Debian для скачивания файлов R. Для этого откройте на редактирование файл /etc/apt/sources.list и добавьте в него команду:

deb http://ftp.ru.debian.org/debian/ stretch main

  1. Проверьте подписи пакетов из репозитория. Для этого скачайте ключ GPG для репозитория Debian и установите его с помощью команды:

sudo apt-key add <файл ключа>

  1. Обновите списки пакетов в подключённом репозитории с помощью команды:

sudo apt-get update

  1. Установите R с помощью команды:

sudo apt-get install r-base

Примечание. Для получения подробной информации об установке R обратитесь к документации к R.

  1. Установите пакет Rserve для взаимодействия продукта «Форсайт. Аналитическая платформа» с R с помощью команды:

sudo apt-get install r-cran-rserve

Примечание. Для получения подробной информации об установке пакета Rserve обратитесь к документации к Rserve.

  1. Запустите R.

  2. Подключите пакет Rserve с помощью команды:

library(Rserve)

  1. Запустите пакет Rserve с помощью команды:

Rserve()

  1. Установите требуемые пакеты R с помощью команды:

install.packages("<наименование пакета>")

Список требуемых пакетов представлен в разделе «Какие методы в «Форсайт. Аналитическая платформа» можно рассчитать с помощью R?».

  1. Зарегистрируйте пакет Rserve в качестве службы:

    1. Создайте файл rserve.service в каталоге /etc/systemd/system:

[Unit]
Description=Rserve

[Service]
Environment="ARG=--save --RS-encoding latin1"
Environment="R_HOME=/usr/lib/R"
ExecStart=/usr/lib/R/site-library/Rserve/libs//Rserve $ARG
Type=forking

[Install]
WantedBy=default.target

Где:

      • Environment со значением ARG. Аргумент для запуска RServe с использованием кодировки latin1 для корректной обработки запросов при расчёте формул, содержащих методы R;

      • Environment со значением R_HOME. Путь до папки установки R;

      • ExecStart. Путь до пакета RServe;

      • WantedBy. Целевой файл default.target, содержащийся в каталоге /etc/systemd/system.

    1. Запустите Rserve:

systemctl daemon-reload
systemctl start rserve

Примечание. Регистрация пакета Rserve в качестве службы необязательна, но рекомендуется для автоматического запуска R при запуске продукта «Форсайт. Аналитическая платформа».

После выполнения действий R будет установлен на Astra Linux.

Для установки R на ОС Windows:

  1. Загрузите инсталлятор R.

  2. Установите R.

Примечание. Для получения подробной информации об установке R обратитесь к документации к R.

  1. Добавьте в системную переменную Path путь до папки «S\bin», где S - это папка установки R.

  2. Запустите R и установите пакет RServe для взаимодействия продукта «Форсайт. Аналитическая платформа» с пакетом R с помощью команды:

install.packages("RServe");

После выполнения действия в процессе установки пакета RServe будет выдан диалог для выбора сервера, с которого будут загружаться файлы пакета. При успешной установке пакета будет выведено соответствующее сообщение.

Примечание. Для получения подробной информации об установке пакета RServe обратитесь к документации к RServe.

  1. Скопируйте файлы Rserve.dll, Rserve.exe, Rserve_d.exe:

    • для 32-разрядных систем: из «S\library\Rserve\libs\i386» в «S\bin\i386»;

    • для 64-разрядных систем: из «S\library\Rserve\libs\x64» в «S\bin\x64»;

где S - это папка установки R.

  1. Выполните команду в главном меню «Пакеты > Установить пакет(ы)» и установите требуемые пакеты R. Если пакеты уже загружены на компьютер, то для их установки выполните команду в главном меню «Пакеты > Установить пакет(ы) из локальных файлов». Подробная информация о пакетах, требуемых для расчёта методов R, приведена в разделе: «Какие методы в «Форсайт. Аналитическая платформа» можно рассчитать с помощью R?».

После выполнения действий R будет установлен на ОС Windows.

  1. В продукте «Форсайт. Аналитическая платформа» укажите путь, по которому установлен R, или сервер, на котором развёрнут R.

Примечание. Данный шаг необходим, если R установлен на рабочей станции отличной от рабочей станции, на которой установлен «Форсайт. Аналитическая платформа». Если R установлен на той же рабочей станции, что и «Форсайт. Аналитическая платформа», то путь к каталогу R уже будет указан.

    1. Выполните команду «Сервис > Параметры» в главном меню:

      • навигатора объектов в настольном приложении;

      • инструмента «Анализ временных рядов» в настольном приложении;

      • инструмента «Моделирование и прогнозирование» в веб-приложении. Команда доступна, если в рабочей области открыта какая-либо модель.

Будет открыт диалог «Параметры».

    1. Перейдите на вкладку «Подключаемые модули» и укажите путь, по которому установлен R, например:

      • для ОС Linux: /usr/lib/R/site-library/Rserve/libs/;

      • для ОС Windows: C:\Program Files\R\R-3.0.3\.

Таким образом, будет выполнена интеграция продукта «Форсайт. Аналитическая платформа» с R.

Интеграция с LPSolve

Подключение LPSolve позволяет расширить функциональные возможности «Форсайт. Аналитическая платформа»:

Для использования модуля решения линейных задач LPSolve:

  1. Загрузите и распакуйте библиотеку liblpsolve55.so. Загрузку можно произвести с одного из сайтов:

Расположите библиотеку в каталоге /opt/foresight/fp10.x-biserver/bin/.

  1. Рассчитайте контрольную сумму библиотеки по алгоритму ГОСТ Р 34.11-2012, с длиной хеш-кода 256 бит, и создайте файл LpSplveHash. Для расчёта контрольной суммы библиотеки liblpsolve55.so и создания файла можно использовать OpenSSL:

openssl dgst -engine gost -md_gost12_256 /opt/foresight/fp10.x-biserver/bin/liblpsolve55.so > /opt/foresight/fp10.x-biserver/bin/LpSolveHash

При использовании OpenSSL убедитесь, что установлена библиотека для шифрования по алгоритму ГОСТ Р 34.11-2012:

    • для Debian-подобных дистрибутивов: libgost-astra;

    • для RedHat-подобных дистрибутивов и ALT Linux: openssl-gost-engine.

  1. Откройте на редактирование файл /opt/foresight/fp10.x-biserver/bin/LpSolveHash и удалите строку:

md_gost12_256(/opt/foresight/fp10.x-biserver/bin/liblpsolve55.so)=

В файле должно остаться только значение суммы.

  1. Убедитесь, что владельцем добавленных файлов: liblpsolve55.so и LpSplveHash - установлен www-data:

sudo chown -R www-data:www-data /opt/foresight/fp10.x-biserver/bin/LpSolveHash

sudo chown -R www-data:www-data /opt/foresight/fp10.x-biserver/bin/liblpsolve55.so

  1. Перезапустите BI-сервер:

sudo systemctl restart apache2-fp10.x

Для использования модуля решения линейных задач LPSolve:

  1. Загрузите и распакуйте библиотеку lpsolve55.dll. Загрузку можно произвести с одного из сайтов:

  2. Укажите путь, по которому расположена библиотека lpsolve55.dll:
    1. Выполните команду «Сервис > Параметры» в главном меню:

      • навигатора объектов в настольном приложении;

      • инструмента «Анализ временных рядов» в настольном приложении.

    1. Перейдите на вкладку «Подключаемые модули» и укажите путь к библиотеке. Например:

    1. Нажмите кнопку «ОК».

После выполнения действий будет указан путь к библиотеке lpsolve55.dll.

  1. Рассчитайте контрольную сумму библиотеки по алгоритму ГОСТ Р 34.11-2012, с длиной хеш-кода 256 бит. Для расчёта контрольной суммы библиотеки lpsolve55.dll можно использовать утилиту cpverify.exe от КриптоПро:

cpverify.exe -mk -alg GR3411_2012_256 <полный путь до библиотеки>

  1. Сохраните результат контрольной суммы в произвольный файл или в файл с наименованием LpSolveHash без расширения:

    • если предполагается использование произвольного файла, то создайте строковый параметр EtalonHashPath и задайте ему полный путь до файла в разделе реестра [HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\Debug] на BI-сервере, если используется веб-приложение, или на локальных компьютерах всех пользователей, если используется настольное приложение;

    • если предполагается использование файла с наименованием LpSolveHash без расширения, то разместите его в папке установки «Форсайт. Аналитическая платформа».

Таким образом, будет выполнена интеграция продукта «Форсайт. Аналитическая платформа» с LPSolve.

Интеграция с TRAMO и SEATS

При работе со статистическими методами TRAMO и SEATS в ОС Linux необходимо произвести дополнительную настройку, для ОС Windows дополнительных настроек не требуется.

Для выполнения дополнительной настройки в ОС Linux:

  1. Убедитесь, что установлена библиотека glibc версии 2.29 или выше.

  2. Скачайте .tar.gz архив по адресу https://sourceforge.net/projects/gretl/files/tramo/tramo-seats-linux-64.tar.gz/download.

  3. Распакуйте архив с помощью команды:

tar -zxvf tramo-seats-linux-64.tar.gz

  1. Перейдите в распакованный каталог opt с помощью команды:

cd opt

  1. Переместите каталог tramo в системную папку opt с помощью команды:

sudo cp -r tramo /opt

  1. Создайте ссылку на программу TRAMO:

sudo ln -s /opt/tramo/bin/tramo /usr/bin/tramo

  1. Создайте ссылку на программу SEATS:

sudo ln -s /opt/tramo/bin/seats /usr/bin/seats

После выполнения указанных действий в ОС Linux будут доступны статистические методы TRAMO и SEATS.

См. также:

Какие методы в «Форсайт. Аналитическая платформа» можно рассчитать с помощью R?