RunMyProcess DSEC を使用して DigitalSuite Studio で Workday のデータ に接続
CData JDBC Driver for Workday は JDBC 標準を実装しており、BI からIDE まで幅広いアプリケーションから Workday への接続を可能にします。この記事では、Arkobi Digital RunMyProcess の DSEC から Workday のデータ に接続し、RunMyProcess で 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
はじめに
EnterpriseConnect Agent のセットアップ
RunMyProcess ドキュメントの EnterpriseConnect ページに従って、EnterpriseConnect Agent を設定します。
JDBC Adapter のセットアップ
JDBC Adapter のセクションでは、JDBC を使用して RDBMS に接続する手順が説明されています。手順に従って JDBC.config ファイルを開きます。
- CData JDBC Driver for Workday 用の JSON エントリを作成します。例:
Workday = { "sqlDriver" : "...", "sqlSource" : "...", "sqlDriverPath" : "..." } - "sqlDriver" フィールドに CData JDBC Driver のクラス名を設定します。例:
cdata.jdbc.workday.WorkdayDriver - "sqlSource" フィールドに Workday に接続するための JDBC URL を設定します。例:
jdbc:workday:User=myuser;Password=mypassword;Tenant=mycompany_gm1;BaseURL=https://wd3-impl-services1.workday.com;ConnectionType=WQL;組み込みの接続文字列デザイナー
JDBC URL の作成には、Workday JDBC Driver に組み込まれている接続文字列デザイナーをご利用ください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.workday.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Workday 接続プロパティの取得・設定方法
ここでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。
接続の前提条件
API / 前提条件 / 接続パラメータ
WQL / WQL サービスを有効化(下記参照) / ConnectionType: WQL
Reports as a Service / カタログレポートの設定(ヘルプドキュメントの「データアクセスのファインチューニング」参照) / ConnectionType: Reports
REST / 自動で有効化 / ConnectionType: REST
SOAP / 自動で有効化 / ヘルプドキュメントのWorkday SOAP API への認証を参照BaseURL およびTenant の取得
BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURL とTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。
REST API Endpoint のフォーマットは、 https://domain.com/
/mycompany です。ここで、
- https://domain.com(URL のサブディレクトリと会社名の前の部分)はBaseURL です。
- mycompany(URL の最後のスラッシュの後の部分)はTenant です。
例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURL はhttps://wd3-impl-services1.workday.com であり、Tenant はmycompany です。
WQL サービスを有効化
Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。- Workday を開きます。
- 検索バーにView Domain と入力します。
- プロンプトにWorkday Query Language と入力します。
- Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。
Workday への認証
Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。 Workday への認証につての詳細は、ヘルプドキュメントの「Workday への認証」セクションを参照してください。
- "sqlDriverPath" フィールドに CData JDBC Driver JAR ファイルの名前を設定します。例:
cdata.jdbc.workday.jar
JDBC.config ファイルの例
#DBAgent Configuration
Workday = {"sqlDriver" : "cdata.jdbc.workday.WorkdayDriver", "sqlSource" = "jdbc:workday:User=myuser;Password=mypassword;Tenant=mycompany_gm1;BaseURL=https://wd3-impl-services1.workday.com;ConnectionType=WQL;","sqlDriverPath" = "cdata.jdbc.workday.jar" }
JDBC ドライバー JAR ファイル(cdata.jdbc.workday.jar)を unified-adapter-[version].jar と同じディレクトリに配置します。
注意:CData ライセンスファイル(cdata.jdbc.workday.lic)も同じディレクトリに配置してください。ライセンスは製品がインストールされているマシンの一意の識別子に基づいて生成されるため、ファイルを別のマシンに配置する場合はオフラインアクティベーションが必要になります。
DigitalSuite EnterpriseConnect Agent の起動
Windows では、Windows サービスから RunMyProcess DigitalSuite EnterpriseConnect Agent を起動します。コマンドラインでアプリケーションを起動する場合は、RunMyProcess ドキュメントの Starting the EnterpriseConnect Agent を参照してください。
JDBC Adapter の起動
runAdapter.bat から JDBC Adapter を起動します。Adapter が起動したら、エージェントアドレス(例:127.0.0.1:8080)を通じてアプリケーションにアクセスできます。以下は Windows でコマンドを実行した例です。
... > java -Djava.util.logging.config.file=./log.properties -cp lib/* org.runmyprocess.sec2.AdapterHandler : 2021-06-09 14:37:58|INFO|correlationId=|Searching for config file... 2021-06-09 14:37:58|INFO|correlationId=|Adapter Handler started with [JDBC] configuration 2021-06-09 14:37:59|INFO|correlationId=|agent address: 127.0.0.1:8080 2021-06-09 14:38:00.251:INFO::ConnectionThread: Logging initialized @1820ms to org.eclipse.jetty.util.log.StdErrLog 2021-06-09 14:38:00|INFO|correlationId=|onConnect() websocket connection between Agent and Adapter established
DigitalSuite EnterpriseConnect Agent と JDBC Adapter が起動したら、ブラウザで http://localhost:(指定したポート番号)/ にアクセスして、以下のページを開きます。
Postman や cURL などのツールを使用して JDBC Adapter の接続確認を行います。ここでは Postman を使用して HTTP POST リクエストを送信します。
RequestHeader を以下のように設定します:
Content-Type application/json
RequestBody を以下のように設定します:
{
"protocol":"JDBC",
"data":{
"DBType":"Workday",
"sqlUsername":"",
"sqlPassword":"",
"sqlStatement":"SELECT * FROM Workers"
}
}
JDBC.config ファイルに認証情報が含まれている場合、sqlUsername と sqlPassword は空のままにできます。テーブル名が不明な場合は、SELECT * FROM sys_tables リクエストを使用してテーブルの一覧を取得できます。
ステータスが 200 で、ボディに JSON 形式の Workday のデータ データが含まれていれば、リクエストは成功です。
DigitalSuite Studio で DSEC Agent を介して Workday に接続
DigitalSuite Studio プロジェクトを作成し、プロジェクト内に Provider を作成します。
- URL:JDBC Agent にアクセスするための URL(例:http:localhost:8080/)
- Authentication Scheme:Login/password
- Login:application.properties ファイルの agent.user の値
- Password:application.properties ファイルの agent.password の値
- Secured:チェックを入れる
- Use DigitalSuite EnterpriseConnect:チェックを入れる
- With domain:application.properties ファイルの agent.domain の値
次に、Provider 内に Connector を作成します。
- Connector URL:空のままにする
- Architecture:REST/XML-RPC
- Method:POST
- Result format:JSON
- Accept media type:application/json
- Character set:Automatic
- Content:JDBC Adapter で使用した Request body と同じ内容
- Content type: application/json
JDBC Adapter で Request body として使用した JSON データ:
{
"protocol":"JDBC",
"data":{
"DBType":"Workday",
"sqlUsername":"",
"sqlPassword":"",
"sqlStatement":"SELECT * FROM Workers"
}
}
Launch Test を開いてテストを実行します。右側のペインの Result に Workday のデータ データが表示されれば、テストは成功です。
これで、DSEC を介して RunMyProcess DigitalSuite Studio で Workday のデータ を使用できるようになりました。
サポートされる SQL コマンドの詳細については、ヘルプドキュメントの「SQL Compliance」セクションを参照してください。テーブルの詳細については、「Data Model」セクションを参照してください。