RPA ツールBizRobo! でPingOne に連携したフローを作成する

RPA ツールBizRobo! で PingOne に連携したフローを作成する方法:CData JDBC Driver。

杉本和也
リードエンジニア

最終更新日:2022-03-24

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

こんにちは!リードエンジニアの杉本です。

BizRobo! はRPAテクノロジーズ株式会社が提供する低コストかつスモールスタートで利用できるRPA ツールです。
この記事では、BizRobo! に備わっているJDBC インターフェースと CData JDBC Driver for PingOne を組み合わせることによりBizRobo! でPingOne データを活用した自動化フローを作成する方法を紹介します。

BizRobo! 環境の構成

はじめるにあたりBizRobo! 側の環境を用意しておきます。

  1. 今回は検証にあたって、BizRobo! Basic を利用しました。JDBC Driver のアップロードに「BizRobo! Management Console」を利用するためです。
  2. 「BizRobo! Management Console」にアクセスするために、あらかじめBizRobo! Basic がインストールされたサーバー上で「Start Management Console」を実行しておきましょう。

CData JDBC Driver for PingOne のインストール

続いてCData JDBC Driver for PingOne をBizRobo! と同じマシンにインストールします。

  1. 以下のパスにJDBC Driver がインストールされます。
    C:\Program Files\CData\CData JDBC Driver for PingOne 20xxJ\lib\cdata.jdbc.pingone.jar
  2. 続いて、接続用の文字列を取得するために、CData JDBC Driverの接続ユーティリティを利用しましょう。対象の「cdata.jdbc.pingone.jar」を実行します。
  3. 以下のような接続テストツールが立ち上がるので必要なプロパティを指定し接続テストを実行します。入力した接続文字列はあとで利用するので控えておきましょう。
    URL:jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH
  4. また、事前に DbVisualizer のようなJDBC の接続ツールでどのようなデータが取得できるか確認しておくのがおすすめです。
  5. 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 メソッドについては、ヘルプドキュメントを参照してください。

BizRobo! にJDBC Driver をアップするために lic ファイルを調整

併せてCData JDBC ドライバのライセンスファイルをBizRobo! にアップロードするために少し追加の作業を実施します。

  1. 「lib」フォルダに存在する「cdata.jdbc.pingone.lic」ファイルをZIPに圧縮し
  2. 名前を「cdata.jdbc.pingone.lic.jar」に変更しておきます。これでBizRobo! にアップロードできるようになります。

BizRobo! Managmenet Console にJDBC Driver をアップロード

それでは「BizRobo! Managmenet Console」でCData JDBC ドライバを利用できるように設定を進めていきましょう。

  1. 「設定」→「データベース ドライバー」から「cdata.jdbc.pingone.jar」、「cdata.jdbc.pingone.lic.jar」2つのファイルをアップロードします。
  2. CData JDBC ドライバのアップロードが完了したら「データベースタイプ」で接続設定を追加しましょう。「設定」→「データベース タイプ」から「新しいタイプ」として以下の情報を入力し保存します。
    名前: 例)CData JDBC Driver
    JDBC ドライバー:cdata.jdbc.pingone.PingOneDriver
    接続URL テンプレート:jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH
    SQLフレーバー:PostgreSQL
  3. 続いて対象のクラスタにデータベース接続を追加します。「管理」→「RoboServer」から対象のクラスタの「クラスタ設定」を開きます。
  4. 「新しいデータベース」をクリックし各種情報を指定します。この際、明示的な指定が必要なものは「タイプ」だけです。ここで先ほど作成したデータベースタイプを入力します。
    それ以外の情報は内部的には利用しないので、任意の文字列を入力してもらって構いません。
  5. これで設定を反映させれば対象のクラスタでCData JDBC ドライバが利用できるようになります。

データベース設定をプロジェクトに追加

Design Studio を立ち上げて、ロボットを作成するためのプロジェクト側の準備を進めていきましょう。

  1. 「BizRobo! Managmenet Console」で追加したデータベース設定は Design Studio のデータベース一覧に表示されるのでここから右クリックで「プロジェクトに追加」から対象の環境に追加します。
  2. 任意のマッピング名で追加します。
  3. ちなみにデフォルトでは警告メッセージが表示されてしまうので、追加したデータベース マッピングの「設定」から
  4. 「警告を表示」のチェックを外しておくと良いです。

データを格納するためのタイプを追加

続いて、取得したデータを変数に適切に追加するために、「タイプ」を作成しましょう。

  1. メニューの「ファイル」→「新しいタイプ」をクリックし
  2. 任意のタイプ名で作成します。
  3. あとは下記のように各種項目を定義します。

新しいWeb オートメーションロボットを追加

実際にロボットの作成を開始します。

  1. 「メニュー」から「新しい Web オートメーションロボット」を選択し
  2. 任意の名称で作成します。
  3. これで以下のようにデフォルトのロボットが作成され、フローのデザイン画面が表示されます。

変数の準備

取得したデータを格納する変数を設定します。

  1. 以下の変数画面から「+」ボタンをクリックし
  2. 先ほど作成したタイプを元に変数を追加します。

データベース照会アクションを追加

変数を追加したら、実際にCData JDBC ドライバ経由でデータを取得するアクションを追加します。

  1. デザイン画面から「アクション ステップ」を追加し
  2. アクションの一覧から「データベース照会」を選択します。「データベース」で先ほど登録したデータベースマッピングを選択し、SQL クエリの欄にデータを取得するためのクエリを入力します。
    最後に変数マップとして先ほど登録したタイプ変数にSQL クエリで取得できる各項目をマッピングします。

CSV 出力フローを追加

取得したデータはBizRobo! の機能を使って、自由に処理できます。

  1. 今回は試しにCSV データとして出力を行ってみました。詳細な手順は省略しますが、フローの作成方法はBizRobo! のマニュアルを参考に作成しています。
  2. 対象のCSV ファイルを読み込むアクションを追加し、LongText の変数に格納します。
  3. そのCSV ファイルデータを元に、レコードを1行づつ追加するファイル出力アクションを設定しました。

デバッグして実際に動かしてみる

これでロボットが完成です。それでは実際に動かしてみましょう。

  1. デバッグ画面に移動して、「実行」ボタンをクリックします。
  2. 正常にロボットが動作すると、以下のようにCSV ファイルが生成されます。

このようにCData JDBC Driver for PingOne とBizRobo! を組み合わせることで、簡単にPingOne のデータを活用した自動化フローを作成することができました。ぜひ、30日の無償評価版をお試しください。

関連コンテンツ

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

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