历史版本29 :FineReport 集成到 FineBI 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在实际使用过程中存在需要将 FineReport 工程集成到 FineBI 数据决策系统上使用的情况。

本文将介绍将 FineReport 集成到 FineBI 的步骤。

1.2 功能简介

将 Finereport 集成到 FineBI ,可以将这两个软件合并成一个整体的系统,应用服务只需维护 一套;并且统一 FineBI 和 Finereport 的用户、权限体系、门户以及管理系统;用户登录时只需要登录一个平台。

2. 准备工作编辑

2.1 服务器配置推荐

参考 FineBI服务器配置推荐 ,如内存消耗大可以在 FineBI 需求内存的基础上增加。

2.2 版本适配

在实际操作前,请确保 FineBI 和 FineReport 版本兼容。版本兼容情况详情参见:FineBI 与 FineReport 版本适配说明

注:FineBI4.1 暂时不能升级至 5.0,待后续更新,目前仅能新安装 5.0 版本。  

2.3 确定工程版本

2.3.1 确定 FineBI 版本

管理员登录数据决策系统,选择「管理系统>注册管理」。查看 BI 模块版本,如下图所示:

1606706322141878.png

2.3.2 确定 FineReport 版本

打开 FineReport 设计器,点击「帮助>更新升级」,查看当前 FineReport 版本,如下图所示:

1606706960516106.png

如果实际安装的 FineReport 版本与 FineBI 版本不一致需要升级,详情参见:FineReport 升级指南 、升级指南索引 

注:不仅需要大版本匹配,小版本 JAR 日期也需要一致,否则可能存在问题。

2.4 确定工程是否配置外接数据库

若在集成前,FineReport 或者 FineBI 配置了 配置外接数据库 ,那么需要首先将 外接数据库回迁内置数据库 ,在集成结束后再迁回外置数据库。

2.5 确定工程 lic 一致

修改 FineReport 的 license 和 FineBI 一致再集成,或在集成前先清空 FineReport 、FineBI 的 license ,等集成后再添加 lic 。查看 lic 步骤如下图所示:

1606707596839647.png

3. 操作步骤编辑

3.1 不同情况下具体步骤

如下表所示:

FineBIFineReport具体步骤
已有仪表板
已有模板参考本文 3.2 、3.3 节步骤
已有仪表板新安装工程,没有在上面做任何操作,即 FineReport 工程为空没有模板时参考本文 3.2 节步骤
为空,新安装的版本没有做任何操作已有模板参考本文 3.2 、3.3 节步骤
新安装且没有做任何操作新安装且没有做任何操作参考本文 3.2.1 节、3.2.3 节步骤

需要注意以下两点:

  • 集成只能保留两个工程其中一个的配置。若保留 FineReport 的配置,保留 FineDB ,则 FineBI 的配置全部丢失,包括仪表板配置。若需要保留 FineReport 的配置,同时保留 FineBI 的仪表板和数据表,请参见本文 3.3.4 节。

  • FineReport 集成 FineBI 后,数据决策系统默认使用 FineBI 的端口号。例如在集成前 FineReport 数据决策系统端口为 8075,FineBI 数据决策系统端口号为 37799 ,则在集成后工程默认使用 37799。


3.2 必须操作

3.2.1 拷贝主工程 JAR 包

确保 FineBI 和 FineReport 的 JAR 包同步之后,将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\lib下的所有 JAR 包拷贝至 FineBI 工程目录的%FineBI%\webroot\WEB-INF\lib文件夹中「若有相同的 JAR 包,保留原先 FineBI 里的不替换」,如下图中所示:

1577172048677306.png

注:若原 FineReport 工程的 %FR_HOME%\webroot\WEB-INF\lib 文件下存在驱动,集成的时候需要判断集成后使用的数据连接需要哪种驱动,从而保留对应版本,如上图中的 mysql-connector-java-5.1.39-bin、ojdbc14 和 sqljdbc 驱动,不需要的驱动版本需要删除。 

3.2.2 拷贝插件包

将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\plugins下的所有文件拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\plugins下,若有相同的文件,保留 BI 的不替换。如下图所示:

1577172319131138.png

3.2.3 拷贝 FineReport 的 phantomjs 到 FineBI 对应目录

注:2020-04-26 及之后的 FineReport 版本不需要此步骤。

将 FineReport 目录%FR_HOME%\webroot\WEB-INF\assist下拷贝文件夹 phantomjs 至 FineBI 对应目录下,若不进行此操作,使用到 FineReport 的图表导出和定时调度中含有图表时,图表会无法显示。如下图所示:

1577173277952828.png

3.3 选择性操作

以下操作需要根据客户的需求,保存 FineReport 还是 FineBI 的 embed、logs、resources 文件夹来进行操作。文件夹详细介绍请查看 FineBI 工程目录结构 

3.3.1 embed文件夹

embed 文件夹里面存储了数据决策系统中平台配置信息,包含内置数据库 FineDB 、模板定时任务信息等。

注:管理系统界面下的所有配置信息都保留在 embed 中,替换 FineReport 的 embed 时全部替换为 FineReport 的数据,不存在只替换某个子目录如「用户管理」为 FineReport 的数据。

将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF 下的 embed 文件夹拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF内替换 FineBI 原先的文件夹。若想保留 FineBI 的设置信息,则这一步可不操作,即不替换 embed 文件夹。

1577184713269432.png

3.3.2 logs 文件

logs 文件夹是 FineBI 日志监控开启之后保存日志的内置数据库。

若想保留 FineReport 系统中的日志数据,则需要将 FineReport 安装目录%FR_HOME%\webroot下的 logs 文件夹拷贝至 FineBI 目录%FineBI%\webroot内替换原先的文件夹。若想保留 FineBI 的日志信息,则这一步可不操作,即不替换 logs 文件夹。

3.3.3 resources 文件

resources 文件夹保存了报表信息、配置信息等。

若想要在集成后保留原先 FineReport 中的此类数据,可参考 FineBI 工程目录结构 查看配置文件详细介绍,将想要保存的配置文件从 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\resources中拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\resources内替换即可。

3.3.4 既要保留 FineBI 的表和仪表板,又保留 FineReport 配置

1)若需要保留  FineReport 的配置,同时保留 FineBI 的仪表板和数据表,可以在集成前,将需要保留的 仪表板挂出,通过 资源迁移 先导出仪表板和数据集。

2)集成后,删除 %FineBI%\webroot\WEB-INF\dashboards 文件夹,如下图所示:

1597910370303246.png

3)建立与原 FineBI 中完全一致的数据连接,再进行 资源迁移  

3.4 效果展示

将 JAR 包拷贝覆盖后,重新启动 FineBI ,可以看到管理系统中会增加 FineReport 管理系统内已安装的节点。比如,在 FineReport 中安装了 HTML5 报表节点,那集成到 FineBI 中以后,管理系统下就会新增 HTML5 报表节点。

注:若在 FineReport 管理系统下没有单独安装自定义的节点,则在集成后,FineBI 的管理系统下没有任何变化。

222

4. FineBI 中使用 FineReport 模板编辑

因为 FineReport 不为空,原先在 FineReport 中已制作的报表在集成到 FineBI 中显示给出详细说明。

1)首先需要在 FineBI 中添加 FineReport 已制作报表使用到的数据连接,且数据连接名称要相同,可参考 配置数据连接 

2) FineReport 的模板路径%FR_HOME%\webroot\WEB-INF\reportlets中将需要展示的报表拷贝至 FineBI 工程目录%FineBI%\webroot\WEB-INF\reportlets中。拷贝 FineReport 的报表 GettingStarted.cpt 至 FineBI 中,如下图所示:

222

3)登录 FineBI 数据决策系统,在「管理系统>目录管理」中选择添加模板,如下图所示:

222

4)选择之前拷贝过去的报表模板,如下图所示:

222

5)点击下一步设置模板显示的名称、描述等,点击确定完成设置。如下图所示:

222

6)点击确定后刷新页面,即可在目录节点看到添加的 FineReport 报表。如下图所示:

222

注:在集成时,FineReport 与 FineBI 的 License 需统一,统一使用 FineBI 的 license 。

5. 集成后将 FR 从 BI 中拆分出,形成单独的 FR 工程编辑

若用户在将 FineReport 集成到 FineBI 后需要将 FineReport 工程重新拆分出来单独使用,则需要进行如下操作:

5.1 重新部署

拷贝当前工程目录下的 webroot 文件,按照 Web 服务器部署 在新的服务器中进行重新部署。

5.2 删除 BI 目录节点

部署完成后启动工程,登录数据决策系统,然后删除目录管理中 BI 相关的目录节点即可。

注1:若不需要显示「数据准备」、「仪表板」节点,进入「管理系统>用户管理>平台用户管理」,将所有用户设置为 BI 查看用户即可。

注2:若需要进行重新授权注册,请参见:注册管理