Spring Boot と Jersey サーバーの構成
インストール
以下の手順では、既存の Spring Boot と Jersey プロジェクトに Reveal SDKをインストールする方法を説明します。
1 - pom.xml ファイルを更新します。
まず、Reveal Maven リポジトリを追加します。
<repositories>
<repository>
<id>reveal.public</id>
<url>https://maven.revealbi.io/repository/public</url>
</repository>
</repositories>
次に、Reveal SDK を依存関係として追加します。
<dependency>
<groupId>com.infragistics.reveal.sdk</groupId>
<artifactId>reveal-sdk</artifactId>
<version>1.3.0</version>
</dependency>
2 - Jersey Config クラスを作成し、RevealEngineInitializer.initialize メソッドを呼び出して Reveal SDK を初期化します。Reveal SDK を Jersey で正しく動作させるためには、Reveal SDK の全クラスを Jersey に登録する必要があります。Reveal SDK のクラスを登録するには、RevealEngineInitializer.getClassesToRegister メソッドによって返されるクラスをループして、Jersey Config にそれらを登録します。
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.stereotype.Component;
import com.infragistics.reveal.engine.init.RevealEngineInitializer;
import javax.ws.rs.ApplicationPath;
@Component
@ApplicationPath("/")
public class RevealJerseyConfig extends ResourceConfig
{
public RevealJerseyConfig()
{
RevealEngineInitializer.initialize();
//register all Reveal classes in JAX-RS context
for (Class<?> clazz : RevealEngineInitializer.getClassesToRegister()) {
register(clazz);
}
}
}
エクスポート
(プログラム上またはユーザー インタラクションによって) ダッシュボードを画像にエクスポートするには、Reveal SDK は Playwright を使用します。ダッシュボードを Excel、PDF、または 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 - お使いのプラットフォームに必要なバイナリをダウンロードします: Windows、Linux、macOS
ステップ 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