各製品の資料を入手。
詳細はこちら →JDBI からSAP SuccessFactors データ のデータアクセスオブジェクトを作成
JDBI でSAP SuccessFactors のデータ 用のSQL オブジェクトAPIを作成する方法を概説します。
最終更新日:2022-05-25
この記事で実現できるSAP SuccessFactors 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for SAPSuccessFactors は、Java アプリケーションとリアルタイムSAP SuccessFactors のデータ のデータ連携を実現します。これらの技術を組み合わせることによって、SAP SuccessFactors のデータ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するSAP SuccessFactors のデータ の読み書きのためのコードの作成について説明します。
SAP SuccessFactors ExtAddressInfo Entity のDAO を作成
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MyExtAddressInfoDAO {
//insert new data into SAP SuccessFactors
@SqlUpdate("INSERT INTO ExtAddressInfo (city, zipCode) values (:city, :zipCode)")
void insert(@Bind("city") String city, @Bind("zipCode") String zipCode);
//request specific data from SAP SuccessFactors (String type is used for simplicity)
@SqlQuery("SELECT zipCode FROM ExtAddressInfo WHERE city = :city")
String findzipCodeBycity(@Bind("city") String city);
/*
* close with no args is used to close the connection
*/
void close();
}
SAP SuccessFactors への接続を開く
必要な接続プロパティを収集し、SAP SuccessFactors に接続するための適切なJDBC URL を作成します。
Basic 認証またはOAuth with SAML アサーションを使用して、SAP SuccessFactors に認証できます。
Basic 認証
SAP SuccessFactors に正常に認証するには、次のプロパティの値を指定する必要があります。プロバイダーは、Cookie を使用してSAP SuccessFactors によって開かれたセッションを再利用することに注意してください。つまり、セッションを開く最初のリクエストでのみクレデンシャルが使用されます。その後、SAP SuccessFactors から返されたCookie が認証に使用されます。
- Url: Success Factors をホストするサーバーのURL に設定。一部のサーバーがリストされています。SAP support documentation(外部リンク)。
- User: アカウントのユーザー名に設定。
- Password: アカウントのパスワードに設定。
- CompanyId: 会社の一意の識別子に設定。
OAuth 認証
アクセストークンを取得するために使用される、次のプロパティの値を指定する必要があります。
- Url: Success Factors をホストするサーバーのURL に設定。一部のサーバーがリストされています。SAP support documentation(外部リンク)。
- User: アカウントのユーザー名に設定。
- CompanyId: 会社の一意の識別子に設定。
- OAuthClientId: API Center で生成されたAPI Key に設定。
- OAuthClientSecret: SAML アサーションの署名に使用されるX.509 プライベートキー。プライベートキーは、「Registering your OAuth Client Application」でダウンロードした証明書に記載されています。
- InitiateOAuth: GETANDREFRESH に設定。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、SAP SuccessFactors JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.sapsuccessfactors.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。

SAP SuccessFactors の接続文字列は、通常次のようになります。
jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;");
MyExtAddressInfoDAO dao = dbi.open(MyExtAddressInfoDAO.class);
//do stuff with the DAO
dao.close();
SAP SuccessFactors データ について
SAP SuccessFactors への接続を開いた状態で以前定義したメソッドを呼び出すだけで、SAP SuccessFactors のExtAddressInfo エンティティからデータを取得できます。
//disply the result of our 'find' method
String zipCode = dao.findzipCodeBycity("Springfield");
System.out.println(zipCode);
SAP SuccessFactors データ の書き方
以前定義した方法を使用すれば、SAP SuccessFactors にデータを書き込むことも簡単になります。
//add a new entry to the ExtAddressInfo entity
dao.insert(newcity, newzipCode);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for SAPSuccessFactors と統合することで、SQL Object API for SAPSuccessFactors を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムSAP SuccessFactors を操作しましょう。