メインコンテンツまでスキップ
バージョン: 2.0

Server SDK のインストール

ASP.NET

以下の手順では、Reveal SDK を既存の ASP.NET Core プロジェクトにインストールする方法について説明します。

1 - ソリューションまたはプロジェクトを右クリックし、[ソリューションの NuGet パッケージの管理] を選択します。

2 - パッケージ マネージャー ダイアログで [参照] タブを開き、nuget.org パッケージ ソースまたは Infragistics (Local) パッケージ ソースを選択して Reveal.Sdk.AspNetCore NuGet パッケージをプロジェクトにインストールします。

3 - Program.cs ファイルを開き、using Reveal.Sdk; 名前空間を追加します。次に、既存の builder.Services.AddControllers() メソッドに IMcvBuilder.AddReveal() の呼び出しを追加します。

using Reveal.Sdk;

builder.Services.AddControllers().AddReveal();

4 - プロジェクトを右クリックし、[追加] -> [新しいフォルダー] を選択します。フォルダーの名前は 「Dashboards」 にしてください。

デフォルトで、Reveal SDK は Dashboards フォルダーからすべてのダッシュボードを読み込む規則を使用します。この規則を変更するにはカスタムの IRVDashboardProvider を作成します。詳細については、ダッシュボードの読み込みトピックを参照してください。

Node.js

1 - Node.js 用の Reveal SDK をインストールします。

npm install reveal-sdk-node

2 - main.js ファイルを変更して Reveal を追加します。

var express = require('express');
var reveal = require('reveal-sdk-node');

const app = express();

app.use('/', reveal());

app.listen(8080, () => {
console.log(`Reveal server accepting http requests`);
});

3 - Visual Studio Code で、エクスプローラーの [新しいフォルダー] ボタンをクリックし、dashboards という名前を付けます。フォルダーは dashboards という名前で、アプリケーションの作業ディレクトリに作成する必要があります。

デフォルトで、Reveal SDK は dashboards フォルダーからすべてのダッシュボードを読み込む規則を使用します。この規則を変更でするにはカスタムの IRVDashboardProvider を作成します。

Java

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

Java SDK には Java 17 以降および Jakarta EE 9 準拠サーバーが必要です。Java SDK は現在、ネイティブ .NET コンポーネントをラップしているため、AIX など、それらのコンポーネントを実行できない一部のまれなプラットフォームはサポートされていません。Jetty をサーバーとして使用する場合、そのバージョンが Reveal SDK で内部的に使用される Jetty バージョン (現在は 12.0.12) と競合する可能性があります。

1 - pom.xml ファイルを更新します。Reveal Maven リポジトリを追加します。

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

2 - Reveal SDK を依存関係として追加します。

pom.xml
<dependency>
<groupId>io.revealbi</groupId>
<artifactId>reveal-sdk-servlet</artifactId>
<version>2.0.0</version>
</dependency>

Spring Boot

RevealEngineServlet を Spring Boot サーブレットとして登録します。現在の Java SDK は JAX-RS 上で動作しなくなったため、Reveal SDK クラスを JAX-RS コンテキストに登録する必要はありません。サンプルのプロバイダー クラスはアプリケーションの実装に置き換えてください。リクエスト ベースのプロパティをユーザー コンテキストに渡す必要がある場合は、 null をリクエストから生成した Properties オブジェクトに置き換えてください。

Application.java
@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@Bean
ServletRegistrationBean<RevealEngineServlet> revealServlet() {
RevealEngineServlet revealEngineServlet = new RevealEngineServlet(() -> new RevealServerBuilder()
// Replace these sample providers with your application's implementations.
.setAuthenticationProvider(new MyIRVAuthenticationProvider())
.setDashboardProvider(new RVDashboardProvider("c:\\your-path"))
.setDataSourceProvider(new MyIRVDataSourceProvider())
.addSettings(settings -> {
// settings.setLicense("your license or remove to use ~/.revealbi-sdk/license.key");
})
.build(), request -> new RVUserContext("whatever", null /* replace null with a Properties built from the request if needed */));

return new ServletRegistrationBean<>(revealEngineServlet, "/reveal-api/*");
}
}

Tomcat

Tomcat 10 以降などの Jakarta EE 9 準拠サーブレット コンテナーを使用します。ServletContextListener クラスを作成し、RevealEngineServlet を登録します。サンプルのプロバイダー クラスはアプリケーションの実装に置き換えてください。リクエスト ベースのプロパティをユーザー コンテキストに渡す必要がある場合は、 null をリクエストから生成した Properties オブジェクトに置き換えてください。

@WebListener
public class AppInitializer implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent sce) {
RevealEngineServlet revealEngineServlet = new RevealEngineServlet(() -> new RevealServerBuilder()
// Replace these sample providers with your application's implementations.
.setAuthenticationProvider(new MyIRVAuthenticationProvider())
.setDashboardProvider(new RVDashboardProvider("c:\\your-path"))
.setDataSourceProvider(new MyIRVDataSourceProvider())
.addSettings(settings -> {
// settings.setLicense("your license or remove to use ~/.revealbi-sdk/license.key");
})
.build(), request -> new RVUserContext("whatever", null /* replace null with a Properties built from the request if needed */));

ServletRegistration.Dynamic reg = sce.getServletContext().addServlet("myServlet", revealEngineServlet);
reg.setAsyncSupported(true);
reg.addMapping("/reveal-api/*");
}
}