MotionBoard からPingOne のデータに連携してダッシュボードを作成

国産BI のMotionBoard からCData Connect Server を使ってPingOne のデータにリアルタイム連携するレポートを作成。

桑島義行
テクニカルディレクター

最終更新日:2024-01-12

こんにちは!テクニカルディレクターの桑島です。

MotionBoard は、ウイングアーク1st 社が提供する人気のBI ダッシュボードツールです。この記事ではMotionBoard で、PingOne のデータをCData Connect を通じてシームレスに統合利用する方法を説明します。

ホスティング型の連携プラットフォームであるConnect Server は、BI ツールや分析ツールとの使用に理想的です。サーバーの構成やデータプロキシのセットアップをすることなく、Web ベースのUI を使用してPingOne の仮想データベースを作成し、MotionBoard から接続してリアルタイムPingOne のデータを使った分析を開始できます。

ホスティングについて

MotionBoard からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、MotionBoard はCData Connect Server に接続することができません。

クラウドホスティングでの利用をご希望の方は、AWS MarketplaceGCP Marketplace で設定済みのインスタンスを提供しています。


PingOne のデータの仮想データベースを作成する

CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。

  1. Connect Server にログインし、「CONNECTIONS」をクリックします。 データベースを追加
  2. 一覧から「PingOne」を選択します。
  3. PingOne に接続するために必要な認証プロパティを入力します。

    PingOne に接続するには以下のプロパティを設定します。

    • Region:自身のPingOne 組織のデータがホスティングされている地域。
    • AuthScheme:PingOne に接続する際に使用する認証の種類。
    • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

    WorkerAppEnvironmentId の設定

    WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

    はじめに、このプロパティの値を見つけます。

    1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
    2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
    3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
    4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
    5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
      WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

    次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

    AuthorizationServerURL の設定

    AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

    OAuth でのPingOne への認証

    PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

    • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
    • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
    • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

    OAuth(認可コードグラント)

    AuthSchemeOAuth に設定します。

    デスクトップアプリケーション

    OAuth アクセストークンの取得およびリフレッシュ

    以下を設定して、接続してください。

    • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
    • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
    • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

    接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

    1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
    2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

    ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

    Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

    コネクションを設定(Salesforce の場合)。
  4. Test Connection」をクリックします。
  5. 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。

仮想データベースが作成されたら、MotionBoard を含むお好みのクライアントからPingOne に接続できるようになります。

MotionBoard からPingOne のデータに接続してダッシュボードを作成

MotionBoardの「システム設定 → 接続/認証 → 外部接続」から新しい外部接続を作成します。ここでのポイントは、接続先タイプはSQL Server を選択します。

  • 外部接続名:任意(例:CDataConnect)
  • 接続先タイプ:SQL Server
  • 中継サービス:使用しない

外部接続の基本情報タブにて以下内容をセットします。

  • 外部接続名:任意(例:CDataConnect)
  • 接続先タイプ:SQL Server
  • 接続先タイプ:SQL Server 4.0(JDBC)
  • 中継サービス:使用しない
  • サーバー名:xxx.cdataconnect.com
  • ポート : 14333
  • データベース名 : 先ほどConnect Server で作成した接続先データソース名(例:PingOne1)
  • ユーザー名 : Connect Server のユーザー名(メールアドレス)
  • パスワード : パーソナルアクセストークン
基本情報エリアの最下部に「接続確認」ボタンをクリックして外部接続の確認が取れることを確認します。

「データソース」タブを開き、PingOne 内のテーブルが一覧に表示されることを確認できます。ここまで確認できたら「保存」ボタンで外部接続定義を保存して閉じます。

「ボード新規作成」から新しいボードを作成します。

アイテムウィザードのDS1の接続先に上記の外部接続定義で作成した接続(本例では Cdata Connect)を選択します。次に、左側のデータベースにPingOne のテーブルリストが表示されますので、使用するテーブルを選択します。右側にDealsテーブル内のデータがプレビューされます。

ウィザードを次に進み、作成するアイテムにチャートを選択して、「次へ」をクリックします。データソース エディタが起動します。左側の項目一覧から可視化したい項目を行項目・列項目・集計項目にセットします。もうRDB やCSV などのデータソースを扱う場合と同じ操作でビジュアライズを作成できます。あとは、おすすめチャートから適切なチャート種類を選択します。

おわりに

このように、CData Connect Server を経由することで、API 側の複雑な仕様を意識せずにMotionBoard でデータを可視化できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。

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

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