Оформление
Интеграция FineReport с FineBI - Справочная документация FineReport|Разработка отчетов|Использование отчетов|Учебные пособия
Интеграция FineReport с FineBI
1. Обзор
1.1 Сценарии применения
На практике встречаются случаи, когда проекты FineReport необходимо интегрировать в систему принятия решений по данным FineBI.
В этой статье описаны шаги по интеграции FineReport в FineBI.
1.2 Функциональный профиль
- Интеграция FineReport в FineBI позволяет объединить эти два программных продукта в единую систему с одним набором прикладных сервисов для обслуживания.
- После интеграции FineReport в FineBI пользователи, система разрешений, портал и System Management FineBI и FineReport становятся едиными, и при входе в систему пользователям достаточно зайти на одну платформу.
Конкретный процесс показан на рисунке ниже:
Примечание: Пользователи, которые не хотят интегрировать FineReport в FineBI, но при этом хотят иметь доступ к единому порталу, могут посмотреть: FineBI и FineReport Connection Tool Plug-in.

2. Подготовительная работа
2.1 Рекомендуемая конфигурация сервера
Обратитесь к рекомендациям по настройке сервера FineBI, если потребление памяти велико, вы можете увеличить его сверх потребности в памяти FineBI.
2.2 Адаптация версий
Прежде чем приступить к работе, убедитесь, что версии FineBI и FineReport совместимы.
Примечание: FineBI 6.0 совместим только с FineReport 11.0. Дополнительную информацию о совместимости версий см. в разделе: Совместимость версий FineBI и FineReport.
2.3 Определите версию модуля отчетности
Примечание 1: Должны совпадать не только мажорные версии, но и даты минорных версий JAR, иначе могут возникнуть проблемы.
Примечание 2: Если фактическая установленная версия FineReport не соответствует версии FineBI, вам необходимо обновить версию, пожалуйста, обратитесь к: FineReport Upgrade Guide, FineBI Upgrade Guide.
2.3.1 Определение версии FineBI
Администратор входит в систему Data Decision System и выбирает "System Management > Управление регистрацией", чтобы просмотреть версию модуля отчета. Это показано на рисунке ниже:

2.3.2 Определение версии FineReport
Версии FineReport можно просматривать в конструкторе или платформе.
Рассматривается в конструкторе:
Откройте FineReport Designer и нажмите "Справка > Обновить", чтобы посмотреть текущую версию FineReport, как показано ниже:

Вид в платформе:
Войдите в платформу от имени администратора и нажмите "System Management > Управление регистрацией", чтобы просмотреть текущую версию FineReport, как показано на следующем рисунке:

2.4 Определите, сконфигурирован ли проект с внешней базой данных.
- Если FineReport настроен на конфигурирование внешней базы данных перед интеграцией, а внешняя библиотека все еще используется после интеграции, вам нужно скопировать db.properties из %FR_HOME%\webapps\webroot\WEB-INF\config в соответствующее место в FineBI, но для встроенной библиотеки этого делать не нужно. Встроенным библиотекам не нужно выполнять этот шаг.
- Если FineBI настроен на работу с внешней базой данных, интеграция будет использовать именно эту внешнюю библиотеку и ничего больше.
2.5 Определение лицензии на проведение работ
Вам необходимо удалить лицензии FineReport и FineBI до интеграции, а затем добавить новую лицензию, содержащую точки регистрации FineReport и FineBI, после интеграции или заменить новую лицензию после интеграции. Шаги по просмотру лицензий показаны на следующем рисунке:

3. Операционные шаги
3.1 Конкретные действия в различных ситуациях
Как показано в таблице ниже:
| Зарезервированные конфигурации | FineBI | FineReport | конкретный шаг |
|---|---|---|---|
| Конфигурация FineBI | - | - | См. раздел 3.2 Шаги в данном документе |
| Конфигурация FineReport | Отсутствие пользовательских панелей | - | См. разделы 3.2 и 3.3 данного документа. |
| Наличие пользовательских приборных панелей | Порядок действий см. в разделах 3.2, 3.3 и 3.4 данного документа. |
Необходимо обратить внимание на следующие два момента:
- Интеграция может сохранить конфигурацию только одного из двух проектов. Если сохраняется конфигурация FineReport, все конфигурации FineBI, включая конфигурации приборной панели, теряются.
- Если вы хотите сохранить конфигурацию FineReport и приборные панели и наборы данных FineBI, вам нужно повесить приборные панели, которые вы хотите сохранить, и провести пилотную миграцию приборных панелей и наборов данных с помощью миграции ресурсов до начала шага интеграции, как описано в разделе 3.4 этого документа.
- После интеграции FineReport с FineBI система принятия решений о данных по умолчанию использует номер порта FineBI. Например, если номер порта системы принятия решений по данным FineReport равен 8075, а номер порта системы принятия решений по данным FineBI равен 37799 до интеграции, то после интеграции проект будет использовать 37799 по умолчанию.
3.2 Обязательные операции
3.2.1 Скопируйте JAR-пакет основного проекта
Убедившись, что JAR-пакеты FineBI и FineReport синхронизированы, скопируйте все JAR-пакеты из каталога установки FineReport%FR_HOME%\webroot\WEB-INF\libвпапку%FineBI%\webroot\WEB-INF\libв каталоге проекта FineBI, и " сохраните те же JAR-пакеты в FineBI без замены", как показано на рисунке ниже. Если у вас есть те же JAR-пакеты, сохраните их в FineBI без замены", как показано на следующем рисунке:

Примечание: Если в исходном проекте FineReport есть драйвер в файле %FR_HOME%\webroot\WEB-INF\lib, вам нужно определить, какой драйвер нужен для подключения данных после интеграции, и сохранить соответствующую версию.
3.2.2 Копирование пакета подключаемых модулей
Скопируйте все файлы из каталога установки FineReport%FR_HOME%\webroot\WEB-INF\pluginsв каталог FineBI%FineBI%\webroot\WEB-INF\plugins, если там есть одинаковые файлы, оставьте BI без замены. Как показано на рисунке ниже:

3.2.3 Скопируйте phantomjs из FineReport в соответствующую директорию FineBI.
Примечание: Этот шаг не требуется для версий FineReport 2020-04-26 и более поздних.
Скопируйте папку phantomjs из каталога FineReport %FR_HOME%\webroot\WEB-INF\assist в соответствующий каталог FineBI. Если этого не сделать, графики не будут отображаться при включении их в экспорт графиков и планирование таймера в FineReport. Как показано на следующем рисунке:

3.3 Селективная работа
В зависимости от потребностей клиента для выполнения следующих операций необходимо сохранить папки embed, logs и resources в FineReport или FineBI. Подробные сведения о папках см. в структуре каталогов проекта FineBI.
3.3.1 Папка для встраивания
В папке embed хранится информация о конфигурации платформы в системе принятия решений о данных, включая встроенную базу данных FineDB, информацию о шаблонах временных задач и так далее.
Примечание: Вся информация о конфигурации в интерфейсе системы управления хранится во вставке, при замене вставки FineReport будут заменены все данные FineReport, нет такой возможности, как замена только подкаталога, например "Управление пользователями", данными FineReport.
Скопируйте папку embed из каталога установки FineReport %FR_HOME%\webroot\WEB-INF в каталог FineBI%FineBI%\webroot\WEB-INF, чтобы заменить оригинальную папку FineBI. Если вы хотите сохранить информацию о настройках FineBI, этот шаг не нужен, т.е. не заменяйте папку embed.

3.3.2 файл журналов
Папка logs - это встроенная база данных, в которой хранятся журналы при включенном мониторинге журналов FineBI.
Если вы хотите сохранить данные журнала в системе FineReport, вам нужно скопировать папку logs из каталога установки FineReport %FR_HOME%\webroot в каталог FineBI %FineBI%\webroot, чтобы заменить оригинальную папку. Если вы хотите сохранить информацию о журналах FineBI, этот шаг не требуется, т.е. вы не заменяете папку logs.
3.3.3 файлы ресурсов
В папке "Ресурсы" хранится информация об отчетах, конфигурации и т. д.
Если вы хотите сохранить эти данные в оригинальном FineReport после интеграции, вы можете обратиться к структуре каталогов проекта FineBI, чтобы увидеть подробное описание файла конфигурации, и скопировать файл конфигурации, который вы хотите сохранить, из каталога установки FineReport %FR_HOME%\webroot\WEB-INF\resources в каталог FineBI %FineBI%\webroot\WEB-INF\resources. FineBI%\webroot\WEB-INF\resources и замените его на тот, который находится в каталоге установки FineReport %FR_HOME%\webroot\WEB-INF\resources.
3.3.4 Файл chartmapsvg
Если проект FineReport содержит старые шаблоны карт, во время интеграции необходимо скопировать папку %FR_HOME%\webapps\webroot\WEB-INF\assets\chartmapsvg в проекте FineReport в соответствующую директорию assets в FineBI.
3.4 Сохранение таблиц и панелей FineBI и конфигурации FineReport
(1) Если вам нужно сохранить конфигурацию FineReport и панели и наборы данных FineBI, вы можете повесить панели, которые нужно сохранить, до интеграции и сначала перенести панели и наборы данных с помощью миграции ресурсов.
2) Удалите папку %FineBI%\webroot\WEB-INF\dashboards после ее интеграции с помощью шагов, описанных в этой статье, как показано на следующем рисунке:

(3) Создайте соединение данных, идентичное исходному FineBI, а затем импортируйте ресурсы.
3.5 Отображение эффектов
Конкретные эффекты описаны ниже:
- Если конфигурация FineBI сохраняется, проект FineBI остается неизменным.
- Если конфигурация FineReport сохранена, шаблоны на узле "Каталог" платформы являются шаблонами FineReport, а управление каталогом, управление пользователями, настройка прав и планирование сроков в системе управления являются конфигурациями FineReport.
- После интеграции FineReport в FineBI обработка данных происходит в FineBI, а проекты FineReport могут продолжать использоваться как отдельные проекты FineReport.
Пример: до интеграции проект FineReport имеет запланированную задачу с именем a, а проект FineBI - запланированную задачу с именем b. Если конфигурация FineReport сохраняется, то после интеграции b будет перезаписана a.
Примечание: Используя плагин Platform Functions External Integration, вы можете удалить левую навигацию и верхнюю навигацию BI для достижения интеграции.
4. Использование шаблонов FineReport в FineBI
Поскольку FineReport не пуст, отчеты, созданные в FineReport, отображаются в FineBI для получения подробной информации.
1) Скопируйте отчет, который вы хотите показать в шаблоне FineReport, по пути %FR_HOME%\webroot\WEB-INF\reportlets в каталог проекта FineBI %FineBI%\webroot\WEB-INF\reportlets. Скопируйте отчет FineReport GettingStarted.cpt в FineBI, как показано ниже:

(2) Вам нужно добавить FineReport был создан в FineBI отчет, чтобы использовать соединение данных, и имя соединения данных должно быть таким же, вы можете обратиться к Настройка соединений данных
3 ) Войдите в систему FineBI Data Decision System ивыберите Добавить шаблонв разделе " System Management > Управление каталогом",как показано ниже:

4) Выберите шаблон отчета, который вы скопировали ранее, как показано ниже:

5) Нажмите Next, чтобы задать имя, описание и т. д. шаблона отображения, и нажмите OK, чтобы завершить настройку. Как показано на рисунке ниже:

6) НажмитеOK и обновите страницу, чтобы увидеть добавленные отчеты FineReport в узле Каталог. Как показано на рисунке ниже:

Примечание: При интеграции FineReport и FineBI лицензии FineReport и FineBI должны быть унифицированы, и следует использовать лицензию FineBI.
5. условия
5.1 Отсутствующие изображения в инструментальных панелях BI
Описание проблемы
После того как пользователи интегрируют FineBI в FineReport, оригинальные изображения FineBI теряются.
Рецепт
Изображения, загруженные компонентом FineBI Image Component, хранятся в папке assets/temp_attach. Если после интеграции вы обнаружите их отсутствие, скопируйте содержимое этой папки в соответствующую папку в FineReport.