Workday のデータ の PostgreSQL インターフェースを作成(MySQL リモーティング経由の JDBC)

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Workday JDBC Driver のリモート機能を使用して、データアクセス用の PostgreSQL エントリポイントを作成します。

PostgreSQL には多くの対応クライアントがあります。標準のドライバーから BI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーのリモーティング機能を使用することで、任意の標準クライアントから接続できる PostgreSQL エントリポイントを簡単に作成できます。

Workday のデータ に PostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Workday のリモーティング機能と、EnterpriseDB の MySQL Foreign Data Wrapper(FDW)を使用します。この記事では、FDW をインストールし、PostgreSQL Server からWorkday のデータにクエリを実行する方法を説明します。

Workday データ連携について

CData は、Workday のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • Prism Analytics Data Catalog で作成したテーブルやデータセットにアクセスでき、Workday システムの忠実性を損なうことなく、ネイティブの Workday データハブを操作できます。
  • Workday Reports-as-a-Service にアクセスして、Prism から利用できない部門データセットや、Prism の許容サイズを超えるデータセットのデータを表示できます。
  • WQL、REST、または SOAP でベースデータオブジェクトにアクセスし、より詳細で細かいアクセスを実現できます(ただし、クエリの作成には Workday 管理者や IT の支援が必要な場合があります)。

ユーザーは、Tableau、Power BI、Excel などの分析ツールと Workday を統合し、当社のツールを活用して Workday データをデータベースやデータウェアハウスにレプリケートしています。アクセスは、認証されたユーザーの ID とロールに基づいて、ユーザーレベルで保護されます。

Workday を CData と連携させるための設定についての詳細は、ナレッジベース記事をご覧ください:Comprehensive Workday Connectivity through Workday WQL および Reports-as-a-Service & Workday + CData: Connection & Integration Best Practices


はじめに


Workday への接続を設定

以下の手順に従って、Workday への接続に必要な認証情報やその他の接続プロパティをドライバーの MySQL デーモンに設定します。MySQL デーモンは、Workday のデータ を CDataWorkday という名前の MySQL データベースとして公開します。デーモンの設定ファイル内の databases セクションに接続プロパティを追加します。設定ファイルは、ドライバーのインストールディレクトリの lib サブフォルダにあります。

以下は一般的な接続文字列です:


[databases]
workday = "User=myuser;Password=mypassword;Tenant=mycompany_gm1;BaseURL=https://wd3-impl-services1.workday.com;ConnectionType=WQL;"

また、users セクションにユーザーを作成します。

MySQL デーモンのすべての設定オプションについては、ヘルプドキュメントをご参照ください。

リモーティングサービスを開始

以下の手順に従って、CData JDBC Driver for Workday の MySQL リモーティング機能を有効にします。

  1. ドライバーはテスト用に適したデフォルト設定を作成します。サービスを開始するだけでWorkday のデータに接続できます。

  2. 以下のコマンドで MySQL リモーティングサービスを開始します:
    java -jar cdata.jdbc.workday.jar -f cdata.jdbc.workday.remoting.ini
    

MySQL Foreign Data Wrapper をビルドしてインストール

Foreign Data Wrapper は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。

お使いの OS で pgxn が利用可能な場合は、以下のコマンドでインストールできます:

pgxn install mysql_fdw USE_PGXS=1

利用できない場合は、以下の手順で自分でビルドしてください:

  1. MySQL C クライアントライブラリをインストールし、EnterpriseDB の MySQL 用 FDW のソースを取得します(例:GitHub から)。
  2. FDW をビルドします。pg_config と mysql_config の実行ファイルを PATH に追加してください:
    env PATH=/usr/local/pgsql/bin:/usr/local/mysql/bin:$PATH make USE_PGXS=1
    
  3. FDW をインストールします:
    make USE_PGXS=1 install
    

インストールを完了するには、libmysqlclient ライブラリを環境にロードする必要があります(例:パスに追加するなど)。

Workday のデータ を PostgreSQL データベースとしてクエリ

拡張機能をインストールした後、以下の手順に従ってWorkday のデータへのクエリ実行を開始します:

  1. データベースにログインします。
  2. データベースの拡張機能をロードします:
    postgres=#CREATE EXTENSION mysql_fdw;
    
  3. Workday のデータ 用のサーバーオブジェクトを作成します:
    postgres=# CREATE SERVER Workday FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host
    '127.0.0.1', port '3309');
    
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードでユーザーマッピングを作成します:
    postgres=# CREATE USER MAPPING for postgres SERVER Workday OPTIONS (username
    'admin', password 'test');
    
  5. ローカルスキーマを作成します:
    postgres=# CREATE SCHEMA Workday_db;
  6. デーモン設定ファイルで定義した Workday データベース内のすべてのテーブルをインポートします:
    postgres=# IMPORT FOREIGN SCHEMA "Workday" FROM SERVER Workday INTO Workday_db;
    

これで Workday に対して 読み取り/書き込み コマンドを実行できます:

postgres=# SELECT * FROM Workday_db."workers";

はじめる準備はできましたか?

Workday Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Workday Icon Workday JDBC Driver お問い合わせ

Workday データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。