JRuby からSAP SuccessFactors にデータ連携

リアルタイムSAP SuccessFactors に連携するシンプルなJRuby アプリケーションを作成します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-10-23

この記事で実現できるSAP SuccessFactors 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for SAPSuccessFactors を使用すると、JRuby からリアルタイムSAP SuccessFactors へのデータ連携を簡単に実装できます。ここでは、SAP SuccessFactors に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

SAP SuccessFactors のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for SAPSuccessFactors\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にSAP SuccessFactors に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

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

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はSAP SuccessFactors の一般的なJDBC 接続文字列です。

jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;

SAP SuccessFactors のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: SAPSuccessFactorsSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for SAPSuccessFactors 2018/lib/cdata.jdbc.sapsuccessfactors.jar' url = "jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT address1, zipCode FROM ExtAddressInfo") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でSAP SuccessFactors を表示できるようになります。

jruby -S SAPSuccessFactorsSelect.rb

SQL-92 クエリをSAP SuccessFactors に書き込むと、SAP SuccessFactors を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。