各製品の資料を入手。
詳細はこちら →SpagoBI でPingOne に連携
SpagoBI Studio でリアルタイムPingOne にフィーチャーしたレポートを作成します。ホストのPingOne はSpagoBI サーバーを報告します。
最終更新日:2022-06-13
この記事で実現できるPingOne 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Driver for PingOne はJDBC 標準をサポートするビジネスインテリジェンスおよびデータマイニングツールからリアルタイムPingOne に接続することを可能にします。この記事では、PingOne をSpagoBI Studio のレポートに統合し、SpagoBI サーバーでホストする方法を説明します。
SpagoBI サーバーのJDBC ドライバーをデプロイ
以下のステップに従ってSpagoBI サーバーでJDBC data source for PingOne を作成します。
- ドライバーJAR を%CATALINA_BASE%/lib にコピーします。これらのファイルは、インストールディレクトリのlib サブフォルダにあります。
PingOne ドライバーリソースをコンテクストに追加します。以下のリソース定義をserver.xml の[GlobalNamingResources]要素に追加できます。
<Resource name="jdbc/pingone" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.pingone.PingOneDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>
- 以下のリソースリンクを追加し、Web アプリケーションへのアクセスを許可します。この記事では、SpagoBI のMETA-INF\context.xml に次の行を追加します。
<ResourceLink global="jdbc/pingone" name="jdbc/pingone" type="javax.sql.DataSource"/>
- サーバーを再起動します。
SpagoBI サーバーのリソースにドライバーを追加した後、データソースを追加します。SpagoBIで[Resources]->[Data Source]->[Add]と進み、以下の情報を入力します。
- Label:ドライバーに独特の識別子を入力します。
- Description:ドライバーにディスクリプションを入力します。
- Dialect:デフォルトの方言を選択します。
- Read Only:読み取り専用オプションを選択します。このオプションは、データソースがエンドユーザーによって作成された、データセットを保存するためのデフォルトデータベースであるかどうかを決定します。
- Type:[JDBC]を選択します。
- URL:
- 必要な接続文字列プロパティを使用してJDBC URLを入力します。
PingOne に接続するには以下のプロパティを設定します。
- Region:自身のPingOne 組織のデータがホスティングされている地域。
- AuthScheme:PingOne に接続する際に使用する認証の種類。
- WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。
WorkerAppEnvironmentId の設定
WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、PingOne JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.pingone.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH
- Driver:ドライバーのクラス名にcdata.jdbc.pingone.PingOneDriver を入力します。

SpagoBI Studio でレポートを作成
以下のステップに従い、SpagoBI StudioでPingOne に基づいたレポートを作成します。SQL クエリの結果をチャートに挿入するデータセットを作成します。次のセクションでは、このレポートをSpagoBI サーバーでホストします。
初めに、SpagoBI Studio のレポートからPingOne に接続してください。
- SpagoBI Studio で、[File]->[New]->[Project]とクリックしていき、[Business Intelligence and Reporting Tools]フォルダで[Report Project]を選択します。
- [File]->[New]->[Report]と進み、[Blank Report]を選択します。
- [Data Explorer]ビューで[Data Sources]を右クリックし、[New Data Source]をクリックします。
- [JDBC Data Source]を選択し、データソース名を入力します。
- [Manage Drivers]をクリックし、[Add]をクリックしてドライバーJAR(cdata.jdbc.pingone.jar) を追加します。
- ドライバーJAR は、インストールディレクトリのlib サブフォルダにあります。
- [Driver Class]メニューでドライバークラス(cdata.jdbc.pingone.PingOneDriver)を選択します。
- [Database URL]ボックスに、[JDBC URL]を入力します。以下は一般的な接続文字列です。
jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH
必要な接続プロパティを取得するためのガイドについては、ドライバーヘルプの[Getting Started]チャプターを見てください。
PingOne に接続した後、SQL クエリの結果を含むデータセットを作成します。
- [DataSet]フォルダを右クリックし、[New Data Set]をクリックします。JDBC data source for PingOne を選択し、データセットの名称を入力します。
- SQL クエリを構築します。ここでは、このクエリを使用してダッシュボードにチャートを追加します。例:
SELECT Id, Username FROM [CData].[Administrators].Users WHERE EmployeeType = 'Contractor'
データセットを使用して、レポートオブジェクトにデータを入力できます。以下のステップに従って、チャートを作成します。
- [Palette]ビューで、チャートをキャンバスにドラッグします。
- [Select Chart Type]タブで棒グラフを選択します。
- [Select Data]タブで[Use Data From]オプションをクリックし、メニューからPingOne のデータセットを選択します。
- Id をテーブルからx 軸の系列にドラッグします。
- Username をテーブルからy 軸の系列にドラッグします。
SpagoBI サーバーに関するホストPingOne レポート
以下のステップに従って、SpagoBI サーバーでリアルタイムPingOne に基づいてドキュメントをホストできます。前のセクションで作成したレポートをテンプレートとして使用します。レポートユーザーがリアルタイムデータにアクセスできるようにするには、サーバー上のPingOne JDBC データソースに置き換えられるプレースホルダパラメータを作成します。
- 未実行の場合、SpagoBI Studio で[Report Design]パースペクティブで開きます。
- [Data Explorer]ビューで[Report Parameters]フォルダを右クリックし、[New Parameter]をクリックします。url パラメータを追加し、それに空の値を割り当てます。このパラメータはSpagoBI サーバー上のJDBC データソースのプレースホルダです。
- PingOne のデータソースを右クリックし、[Edit]をクリックします。
-
[Property Binding]ノードで、JDBC Driver のURL バインディングプロパティurl パラメータに設定します。プロパティのボックスをクリックします。[Category]セクションで[Report Parameters]を選択します。[Subcategory]セクションで[All]を選択し、パラメータをダブルクリックします。
JavaScript構文に以下のように入力することもできます。
params["url"].value
続いて、SpagoBI サーバーでレポート用の新しいドキュメントを作成します。
- SpagoBI サーバーで、[Documents Development]->[Create Document]->[Generic Document]と進みます。[Document Details]ページが表示されます。
- 以下の情報を入力し、ドキュメントを作成します。
- Label:ドキュメントに独自の識別子を入力します。
- Name:ドキュメントのわかりやすい名前を入力します。
- Type:メニューから[Report]を選択します。
- Engine:[BIRT Report Engine]を選択します。
- Data Source:SpagoBI サーバーのCreate a JDBC Data Source for PingOne で作成したPingOne Data Source を選択します。
- [Show Document Templates]セクションで、ドキュメントを格納したいフォルダを選択します。
[Template]セクションで、[Choose File]をクリックします。レポートプロジェクトを含むフォルダに移動します。.rptdesign ファイルを選択します。
Noteプロジェクトへのパスは、プロジェクトプロパティで確認できます。
- [Save]ボタンをクリックします。

サーバーでレポートを実行すると、プレースホルダurl パラメータがサーバーで定義されたJDBC URL に置き換えられます。
