ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Workday は、Java アプリケーションとリアルタイムWorkday データ のデータ連携を実現します。これらの技術を組み合わせることによって、Workday データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するWorkday データ の読み書きのためのコードの作成について説明します。
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MyWorkersDAO {
//request specific data from Workday (String type is used for simplicity)
@SqlQuery("SELECT Legal_Name_Last_Name FROM Workers WHERE Legal_Name_Last_Name = :legal_Name_Last_Name")
String findLegal_Name_Last_NameByLegal_Name_Last_Name(@Bind("legal_Name_Last_Name") String legal_Name_Last_Name);
/*
* close with no args is used to close the connection
*/
void close();
}
必要な接続プロパティを収集し、Workday に接続するための適切なJDBC URL を作成します。
ここでは、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 プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURL とTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。
REST API Endpoint のフォーマットは、
https://domain.com/subdirectories/mycompany です。ここで、
例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURL はhttps://wd3-impl-services1.workday.com であり、Tenant はmycompany です。
JDBC URL の構成については、Workday JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.workday.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Workday の接続文字列は、通常次のようになります。
jdbc:workday:User=myuser;Password=mypassword;Tenant=mycompany_gm1;Host=https://wd3-impl-services1.workday.com
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:workday:User=myuser;Password=mypassword;Tenant=mycompany_gm1;Host=https://wd3-impl-services1.workday.com");
MyWorkersDAO dao = dbi.open(MyWorkersDAO.class);
//do stuff with the DAO
dao.close();
Workday への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Workday のWorkers エンティティからデータを取得できます。
//disply the result of our 'find' method
String legal_Name_Last_Name = dao.findLegal_Name_Last_NameByLegal_Name_Last_Name("Morgan");
System.out.println(legal_Name_Last_Name);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Workday と統合することで、SQL Object API for Workday を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムWorkday を操作しましょう。