ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for Workday は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にWorkday データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for Workday を設定します。
次の手順で、Jetty とWorkday の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='workdaydemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="workdaydemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="workdaydemo"/></Arg>
<Arg>jdbc/workdaydb</Arg>
<Arg>
<New class="cdata.jdbc.workday.WorkdayDriver">
<Set name="url">jdbc:workday:</Set>
<Set name="User">myuser</Set>
<Set name="Password">mypassword</Set>
<Set name="Tenant">mycompany_gm1</Set>
<Set name="Host">https://wd3-impl-services1.workday.com</Set>
</New>
</Arg>
</New>
</Configure>
ここでは、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 です。
Web xml でリソースを設定します:
jdbc/workdaydb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/workdaydb へのルックアップでWorkday データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource myworkday = (DataSource)ctx.lookup("java:comp/env/jdbc/workdaydb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。