Jaspersoft Studio からOkta のデータに接続する方法

Jaspersoft Studio でリアルタイムOkta のデータを基に帳票を作成。

加藤龍彦
デジタルマーケティング

最終更新日:2022-06-07

この記事で実現できるOkta 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。



この記事では、CData JDBC Driver for Okta を使ってOkta の連携機能を持つJaspersoft Studio の基本的な帳票をテーブルやチャートで作成する方法を説明します。レポートを実行するたびに、チャートおよびテーブルはリアルタイムデータを表示します。JasperSoft のウィザードを使って、レポートエレメントを埋めるSQL クエリをいくつかビルドします。ドライバーは、リレーショナルデータベースへのデータのコピー処理をスキップする間、標準SQL を利用可能にします。代わりに、クエリは基になるOkta API に直接実行されます。

JDBC データソースとしてOkta のデータに接続

Jaspersoft Studio で、[Data Adapter]ウィザードを使ってJDBC データソースに接続できます。下記の手順に従って、プロジェクトからOkta に接続します。Okta のデータアダプターをワークスペースに追加します。

  1. [Repository Explorer]で[Data Apters]ノードを右クリックし、[Create Data Adapter]をクリックします。
  2. [Database JDBC Connection]を選択します。
  3. ユーザーフレンドリーなドライバー名を入力します。
  4. [Driver Classpath]タブで[Add]をクリックします。ダイアログが表示されたら、インストールディレクトリの[lib]サブフォルダにナビゲートします。ドライバーのJAR を選択します。
  5. [Database Location]タブでは、以下の情報が必要です:
    • JDBC Driver:JDBC driver のクラス名cdata.jdbc.okta.OktaDriver を入力。
    • JDBC URL:JDBC URL に必要な接続プロパティを入力。接続プロパティは、セミコロン区切りでname-value ペアを入力する必要があります。Okta の一般的なJDBC URL は次のとおりです:

      jdbc:okta:Domain=dev-44876464.okta.com;

      Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。

      Okta への認証にはOAuth を使用するため、カスタムOAuth アプリケーションを作成する必要があります。

      カスタムOAuth アプリケーションの作成

      Okta アカウントから:

      1. 管理者アカウントでOkta のデベロッパーエディションにサインインします。
      2. Admin Consoleで、Applications > Applications に移動します。
      3. Create App Integration をクリックします。
      4. Sign-in method は、OIDC - OpenID Connect を選択します。
      5. Application type は、Web Application を選択します。
      6. カスタムアプリケーションの名前を入力します。
      7. Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
      8. コールバックURL を設定します。
        • デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
        • Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
      9. Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
      10. OAuth アプリケーションを保存します。
      11. アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
      12. Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
      13. Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。

A data adapter configured to use the JDBC Driver. (Salesforce is shown.)

Okta データ で帳票を作成

Okta のデータアダプターを作成したら、Okta のデータをJasperReports に追加できます。このセクションでは同梱されているテンプレートの一つをOkta のデータに連携させる方法について説明します。

  1. [File]>[New Jasper Report]をクリックします。テンプレートを選択し、親プロジェクトを選択して、帳票に名前を入力します。
  2. [Data Adapter]ウィザードで、先のセクションで作成したデータアダプターを選択します。
  3. [Diagram]タブでは、クエリを視覚的にビルドできます:テーブルをボックスにドラッグしお好みのカラムをクリックします。カスタムクエリも入力可能です。例: SELECT * FROM Users The SQL query to be used to pull data into the report. (Salesforce is shown.)
  4. データセットに含めたいフィールドを選択します。

[Preview]タブでは、最新のOkta を使ったものと同じ帳票を見ることができます。

A JasperReport template populated with live data. (Salesforce is shown.)

チャートを追加

下記の手順に従って、Okta のチャートを既存の帳票に追加します。棒グラフを、先のセクションで作成した帳票テンプレートの最後に追加します。

  1. [Design]タブをクリックします。
  2. [Outline]ビューで、帳票のルートノードを右クリックし[Create Dataset]をクリックします。
  3. データセット名を入力し、オプションをクリックして接続またはデータソースから新しいデータセットを作成します。
  4. [Data Adapter]メニューで、最初のセクションで作成した[Data Adapter]を選択します。
  5. 次のクエリを入力します:

    SELECT Id, ProfileFirstName FROM Users WHERE Status = 'Active' The SQL query to be used to fill the chart. (Salesforce is shown.)
  6. データセットに必要なフィールドを選択します。この例ではすべてのフィールドを使います。
  7. カラムでグループ化する手順はスキップします。Okta API はGROUP BY のステートメントをサポートしていません。

データセットを追加したら、下記の手順に従ってチャートを作成します。

  1. [Outline]ビューの[Summary]ノードをクリックします。[Properties]ビューで高さを400ピクセルに設定します。サマリーバンドが帳票の最後にプリントされます。
  2. チャートを[Palette]からsummary にドラッグします。Chart ウィザードが表示されます。
  3. チャートの種類を選択します。この例では棒グラフを使います。
  4. [Dataset]メニューで、チャート用に作成したデータセットを選択します。
  5. [Dataset]タブで、オプションを選択してマスター帳票と同じ接続を使用します。Chart ウィザードは接続パラメータを入力し、メニューセレクションを[Use Another Connection]に変更します。
  6. [Series]メニューの隣にあるボタンをクリックし、デフォルトシリーズを削除します。[Add]をクリックします。
  7. [Expression Editor]が表示されたら、カラムをダブルクリックして各カラム値に新しいシリーズを作成します。例:Id。シリーズをId に設定した場合、Id ごとに新しい棒グラフが作成されます。 The column selected as the Series for the chart.
  8. [Value]ボックスの隣にあるボタンをクリックし、チャートのmeasures 用に[Expression Editor]を開きます。カラムをダブルクリックしてy 軸に追加します。例:ProfileFirstName。
  9. [Label]ボックスの隣にあるボタンをクリックし、チャートのdimensions 用に[Expression Editor]を開きます。カラムをダブルクリックしてx 軸に追加します。例:Id。
  10. この例ではカテゴリを使用しないため、[Category]ボックスに空の文字列 "" を入力します。 Columns selected for the axes of the chart.

チャートを作成したら基本的なフォーマットを行い、サブレポートをレポートに未使用スペースなくシームレスに追加できるようにします。

  1. チャートを右クリックして[Size to Container]>[Fit Both]をクリックします。
  2. メインレポートでサブレポートを右クリックして[Size to Container]>[Fit Both]をクリックします。

プレビューする前に帳票への変更を保存します。チャートが帳票の最後のページに表示されます。

The finished report's last page, displaying the chart. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。