現場帳票電子化ソリューションXC-Gate とXC-Connect を使ってPingOne のデータを利用した帳票を作成する方法

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

最終更新日:2023-12-01

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

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

今回は現場帳票管理・電子化ソリューションの『XC-Gate』とCData JDBC ドライバを組み合わせて各種クラウドデータを帳票で活用する方法を紹介します。

XC-Gate とは?

XC-Gate は製造業、建設業、食品業界など様々な業界で活用されている現場帳票電子化ソリューションです。

https://product.technotree.com/xc-gate-ent/

普段皆さんが使っているExcel を利用して帳票をカスタマイズ、作成することができるのが大きな特徴です。

https://www.technotree.com/form/xc-editor

XC-Gate 紹介画像

また、XC-Connect というツールをサーバーにインストールして、ローコードで業務管理・生産管理システムやBIツール、Excel、CSVといったデータと連携することができます。

https://product.technotree.com/xc-gate/xc-connect/feature/

XC-Connect 紹介画像

シナリオ

今回作成する帳票は以下のようにPingOne のデータを一覧表示するものとなっています。

XC-Gate によるPingOneデータの帳票表示例

PingOne はREST APIが提供されているので、一見連携しやすいように見えますが、XC-Gate から直接クエリするにはインターフェース処理が難しい部分が実際問題として存在します。

https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/resources_query.htm

そこで今回の記事ではこのボトルネックを「CData JDBC Driver」を活用することで解消します。

https://www.cdata.com/jp/drivers/pingone/jdbc/

XC-Gate では XC-Connect というデータベースのデータを読み込むための仕組みが標準提供されており、この機能を介してSQL ServerやMySQLなどにアクセスできるようになっています。

https://www.xc-times.com/news/?newsUCd=908b7620-3ecd-4e04-ab5d-4a42897c035d

XC-Gate とXC-Connect のデータ連携説明図

そして、実はこのXC-Connect は内部でJDBC が利用されているため、XC-Connect とCData が提供しているJDBC Driver ラインナップを通じて、各種クラウドサービスのAPI にアクセスすることができるようになります。

とは言っても、説明だけではイメージできない部分もあると思うので、実際に帳票を作成してみましょう。

CData PingOne JDBC Driver のインストール

最初にCData PingOne JDBC Driver を対象のマシンにインストールします。

以下のページから30日間のトライアルがダウンロードできます。

PingOne JDBC ドライバーページ

インストーラーを入手後、対象のマシンでセットアップを進めていきます。

CData JDBC ドライバのインストール画面

セットアップ完了後、以下のフォルダにJDBC Driver のjar ファイルが配置されます。

C:\Program Files\CData\CData JDBC Driver for PingOne 2023J\lib

JDBC Driver の接続テスト

対象のjar ファイルを実行すると接続テストツールが立ち上がるので、これでPingOne への接続を確認しておきましょう。

セットアップが完了すると接続設定画面が表示されるので、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 メソッドについては、ヘルプドキュメントを参照してください。

あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。

接続設定

無事接続が完了すると、「接続テストの成功」メッセージが表示されます。接続文字列は後で利用するのでコピーして控えておきましょう。

XC-Connect の転送設定を追加する

続いてXC-Connect の接続設定を進めましょう。XC-GateでJDBC Driver 経由のデータを扱う場合は、このXC-Connect が必要となります。

XC-Connect は以下のページでデベロッパー登録をすることでダウンロードできます。

https://www.developer.technotree.com/

XC-Connect をセットアップし立ち上げると、ログイン画面が表示されるので、設定したパスワードを使用してログインします。

XC-Connect ログイン画面

併せて転送設定でXC-Gate側への接続を確立しておきましょう。予めXC-Gate の証明書を取得しておき、転送設定で指定しておきます。

XC-Connect の転送設定画面

JDBC ドライバーの登録

それではXC-Gate でCData JDBC ドライバの指定を追加していきます。

「システム設定」→「JDBCファイル設定」に移動し、

JDBC ファイル設定に移動

ここでCData JDBC ドライバをアップロードして登録します。「ファイルを選択」をクリックし「cdata.jdbc.pingone.jar」をアップロードします。

XC-Gate JDBCドライバー登録画面

JDBC 登録後は読み込みのためにXC-Connect を一度再起動させましょう。

XC-Connect 再起動指示画面

合わせてライセンスファイル「cdata.jdbc.pingone.lic」を「C:\Windows\ServiceProfiles\LocalService\.CData」に配置しておきます。もし「.CData」フォルダが無い場合は、作成して配置します。

機器の追加

CData JDBC ドライバを配置したら、XC-Connect で「どういったデータを読み込ませるのか」を指定する機器設定を追加していきます。まず最初に接続情報を追加しましょう。

「機器設定」タブに移動し、「+機器の追加」をクリックします。

XC-Connect 機器設定追加画面

プロトコルの選択画面では「メーカー:データベース」「機種:JDBC 汎用(SQL)」「プロトコル:SQL」をそれぞれ指定します。

XC-Connect 機器プロトコル設定画面

最初に接続情報を指定します。任意の設定名称を指定し、JDBC Driver 名で先程登録したDriver を選択します。

接続URLには「JDBC Driver の接続テスト」時に取得した接続文字列を指定しましょう。「ユーザー名」「パスワード」は利用しませんのでダミーの文字列を入力すればOKです。

入力後「接続テスト」をクリックして、「接続テストに成功しました」と表示さればOKです。

XC-Connect 接続情報設定画面

取得データの追加

続いて。機器設定の詳細から「どういったデータを読み込ませるのか?」を指定する「取得データの追加」設定を行います。

機器登録完了後、「+取得データの追加」をクリックします。

XC-Connect 取得データ設定画面

任意のデータ名称を取得後、実行SQL を指定します。ここではPingOne の取引先情報である「Account」テーブルを取得するためのSQLを指定しました。

取得間隔や実行タイムアウトは任意の設定を指定します。ただ、Web API の連携では、各種API 側のリクエスト制限が指定されているものも存在するので、過度に短い間隔は利用しないほうが良いかと思います。

「保存方式」は「マスタ(項目)形式」を指定し、キーとしてPingOne の「Id」カラムを指定しました。

XC-Connect データ読み込み設定画面

設定後、「接続テスト」をクリックし、以下のようにデータが取得できていればOK です。

XC-Connect データ取得テスト結果画面

登録後、「起動する」ボタンをクリックしておきましょう。

XC-Connect 転送設定起動画面

タグ設定の追加

最後にXC-Gate で登録したマスタデータを利用するためのタグ設定を追加します。

「タグ設定」タブに移動し「+タグ設定の追加」をクリックしましょう。

XC-Gate タグ設定追加画面

「機器データ名称」の「選択」ボタンをクリックして、

XC-Gate 機器データ名称選択画面

登録しているCData JDBC ドライバを選択。

XC-Gate CData JDBC ドライバ選択画面

以下のようなタグ設定の画面に移るので「+表示項目の追加」をクリックし

XC-Gate タグ設定画面

帳票に取り込みたい項目をそれぞれ追加していきます。

XC-Gate 帳票項目追加画面

あとは「タグEXCEL出力」でXC-Gate で利用するタグ設定を取得します。

XC-Gate タグExcel出力画面

これでXC-Gate で帳票を作成するためのタグが準備できました。

XC-Gate タグ設定完了画面

帳票の登録

それでは実際にXC-Connect 経由でXC-Gate の帳票にデータが表示できるか試していきましょう。今回は先程取得したタグを利用して以下のような帳票をExcel で作成しました。

XC-Gate によるExcel帳票例

XC-Gate にログインし、これを「フォルダ」から「新しいチェックシート」として登録します。

XC-Gate チェックシート登録画面

作成したExcel ファイルを指定して、任意のファイル名でチェックシートを登録します。

XC-Gate チェックシートファイル指定画面

チェックシートの登録が完了したら「プレビュー」ボタンをクリックして、帳票を参照してみましょう。

XC-Gate チェックシートプレビュー画面

以下のような画面が表示されるので「コネクト取得」をクリックしてみると、

コネクト取得をクリック

CData JDBC ドライバとXC-Connect 経由でリアルタイムにPingOne のデータが取得できました!

PingOne のデータを取得

おわりに

このようにXC-Gate・XC-Connect とCData JDBC ドライバを組み合わせることで、手軽にXC-Gate の帳票に各種クラウドサービスのデータを取り込むことができます。

CData ではPingOne 以外にも様々なクラウドデータソースのJDBC Driver を扱っています。

https://www.cdata.com/jp/jdbc/

ぜひ自社で利用しているサービスと合わせて、XC-Gate を活用してみてください。

関連コンテンツ

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

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