メインコンテンツまでスキップ

Tomcat サーバーの構成

インストール

以下の手順では既存の Tomcat アプリケーションに Reveal SDK をインストールする方法を説明します。

1 - pom.xml ファイルを更新してください。

まず Reveal Maven リポジトリを追加します。

pom.xml
<repositories>
<repository>
<id>reveal.public</id>
<url>https://maven.revealbi.io/repository/public</url>
</repository>
</repositories>

次に Reveal SDK を依存関係として追加します。

pom.xml
<dependency>
<groupId>com.infragistics.reveal.sdk</groupId>
<artifactId>reveal-sdk</artifactId>
<version>1.3.0</version>
</dependency>

2 - JAX-RS の依存関係を追加する

Jakarta RESTful Web Services(JAX-RS)実装への依存関係を追加します。Jersey、RESTeasy、Apache CXF など複数の選択肢の中から選ぶことができます。お好みのプロバイダー提供元が説明する手順に従ってください。

例として Jersey 用に追加する必要がある依存関係を以下に示します:

<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.32</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-cdi2-se</artifactId>
<version>2.32</version>
</dependency>

3 - ServletContextListener クラスを作成し RevealEngineInitializer.initialize メソッドを呼び出して Reveal SDK を初期化します。

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.infragistics.reveal.engine.init.RevealEngineInitializer;

@WebListener
public class RevealServletContextListener implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent ctx) {

}

@Override
public void contextInitialized(ServletContextEvent ctx) {

//initialize Reveal
RevealEngineInitializer.initialize();
}
}

エクスポート

(プログラム上またはユーザー インタラクションによって) ダッシュボードを画像にエクスポートするには、Reveal SDK は Playwright を使用します。ダッシュボードを ExcelPDF、または PowerPoint にエクスポートするには、Reveal SDK は ExportTool と呼ばれる内部アプリケーションを使用します。

デフォルトでは、エンドユーザーがダッシュボードを画像、PDF、PowerPoint に初めてエクスポートしようとすると、Playwright と ExportTool の両方が、それらの動作に必要な依存関係のダウンロードを自動的に開始します。ただし、プラットフォームによっては、事前にインストールが必要な依存関係があったり、サーバー環境が外部ダウンロードを制限しているなど、これらのツールを手動でセットアップする必要がある場合があります。

Playwright の構成

Playwright は必要なバイナリをダウンロードしようとしますが、手動での構成が必要な場合は、Playwright のドキュメンテーション を確認してください。

macOS 依存性

macOS で必要なライブラリは libgdiplus のみです。インストール方法

Linux 依存性

Linux では、複数のネイティブ・ライブラリに依存します。インストールする必要のある依存関係の正確なリストは、使用するディストリビューション、バージョン、および以前にインストールしたパッケージのリストに依存します。

以下に、基本的な Ubuntu 18.0.4 ディストリビューションに必要なライブラリの一覧を示します。

sudo apt-get update

sudo apt-get install -y libgdiplus\
libatk1.0-0\
libatk-bridge2.0-0\
libxkbcommon0\
libxcomposite1\
libxdamage1\
libxfixes3\
libxrandr2\
libgbm1\
libgtk-3-0\
libpango-1.0-0\
libcairo2\
libgdk-pixbuf2.0-0\
libatspi2.0-0

sudo apt-get install -y --no-install-recommends xvfb
注記

必要であれば、ログファイルに含まれるエラーから、不足しているライブラリに関する詳細な情報を得ることができます。

Ubuntu を使用する場合は、Maven を使用して Chromium の依存関係をインストールする必要があります。

mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install-deps chromium"

その他の環境では、以下の依存関係が必要な場合があります:

sudo apt-get install -y --allow-unauthenticated libc6-dev
sudo apt-get install -y --allow-unauthenticated libx11-dev

ExportTool の手動セットアップ

ここからの手順は、以下のシナリオの場合のみ必要です。

  • 自動ダウンロードの仕組みに問題がある場合。
  • 事前にすべてをインストールしておきたい場合。

ステップ 1 - お使いのプラットフォームに必要なバイナリをダウンロードします: WindowsLinuxmacOS

ステップ 2 - Web アプリケーションが動作しているサーバーのディレクトリにファイルを解凍します (ユーザーはそのディレクトリにアクセスできる必要があります)。

ステップ 3 - ZIP ファイルを解凍した後、<dir>/<version>/<arch>/ExportTool フォルダから ExportTool を入手できます。例を以下に示します。

<dir>/1.0.0/linux-x64/ExportTool.

ステップ 4 - Reveal の初期化中に、ZIP ファイルを解凍したディレクトリを設定します。以下のようなコードになるはずです:

String exportToolDir = "<dir>";
RevealEngineInitializer.initialize(new InitializeParameterBuilder().
setExportToolContainerPath(exportToolDir).
build());

また、以下のようにシステムプロパティ reveal.exportToolContainerPath を通じてディレクトリを指定することもできます:

java -Dreveal.exportToolContainerPath=<dir> -jar target/upmedia-backend-spring.war