Mule アプリケーションからSAP SuccessFactors のデータにアクセス:CData JDBC Driver

古川えりか
古川えりか
コンテンツスペシャリスト
CData JDBC ドライバとHTTP、SQL を組み合わせれば、SAP SuccessFactors のデータのJSON エンドポイントに接続できるMule アプリケーションを簡単に作成できます。

CData JDBC Driver for SAPSuccessFactors はSAP SuccessFactors のデータをMule アプリケーションと連携することで、読み、書き、更新、削除といった機能をおなじみのSQL クエリを使って実現します。JDBC ドライバーを使えば、SAP SuccessFactors のデータをバックアップ、変換、レポート作成、分析するMule アプリケーションをユーザーは簡単に作成できます。

本記事では、Mule プロジェクト内でCData JDBC Driver for SAPSuccessFactors を使用して、SAP SuccessFactors のデータのWeb インターフェースを作成する方法を紹介します。作成したアプリケーションを使えば、HTTP 経由でSAP SuccessFactors のデータをリクエストして、JSON 形式で結果を取得できます。まったく同様の手順で、すべてのCData JDBC ドライバで250 を超えるデータソースのWeb インターフェースを作成できます。手順は以下のとおりです。

  1. Anypoint Studio で新しいMule プロジェクトを作る。
  2. Message Flow にHTTP コネクタを追加する。
  3. HTTP コネクタのアドレスを設定する。 HTTP コネクタを追加・設定
  4. HTTP コネクタの追加後、Database Select コネクタを同じフローに追加する。
  5. データベースへの新しい接続を作成し(または既存の接続を編集し)、プロパティを設定する。
    • 接続を「Generic Connection」に設定
    • Required Libraries セクションでCData JDBC ドライバのJAR ファイルを指定する(例:cdata.jdbc.sapsuccessfactors.jar)。 JAR ファイルを追加(Salesforce の場合)。
    • SAP SuccessFactors の接続文字列にURL を指定

      SAP SuccessFactorsへの接続

      それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。

      認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

      必要な接続プロパティ

      選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。

      • URL:SuccessFactors をホストするサーバーのURL
      • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです

      OAuth 認証

      SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。

      • SAP SuccessFactors LMS インスタンスのクライアントグラント種別
      • SAML-2 Bearer グラント種別

      OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

      デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

      OAuth アクセストークンの取得およびリフレッシュ

      以下のプロパティを設定してください。

      • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します
      • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
      • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
      • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
      • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容

      接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

      アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。

      1. CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
      2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます

      アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。

      カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。

      組み込みの接続文字列デザイナ

      JDBC 用のURL の作成にサポートが必要な場合は、SAP SuccessFactors JDBC Driver に組み込まれた接続文字列デザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行してください。

      		java -jar cdata.jdbc.sapsuccessfactors.jar
      		

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

    • Driver クラス名をcdata.jdbc.sapsuccessfactors.SAPSuccessFactorsDriver に指定します。 設定したデータベース接続(Salesforce の場合)。
    • 「接続テスト」をクリックします。
  6. SQL Query Text をSAP SuccessFactors のデータをリクエストするためのSQL クエリに設定します。例えば、
    SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'
    Select オブジェクトを設定(Salesforce の場合)
  7. Transform Message コンポーネントをフローに追加します。
  8. Output スクリプトを次のように設定して、ペイロードをJSON に変換します。
    %dw 2.0
    output application/json
    ---
    payload
            
    Transform Message コンポーネントをフローに追加
  9. SAP SuccessFactors のデータを閲覧するには、HTTP コネクタ用に設定したアドレスに移動します(デフォルトでは、localhost:8081):http://localhost:8081。Web ブラウザおよびJSON エンドポイントを使用可能な他のツール内で、SAP SuccessFactors のデータをJSON として利用できます。

これで、カスタムアプリケーションおよび他のさまざまなBI、帳票、ETL ツールからSAP SuccessFactors のデータを(JSON データとして)扱うための簡易なWeb インターフェースを作成できました。Mule アプリケーションからお好みのデータソースにアクセスできる、JDBC Driver for SAPSuccessFactors の30日の無償評価版のダウンロードはこちらから。

はじめる準備はできましたか?

SAP SuccessFactors Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP SuccessFactors Icon SAP SuccessFactors JDBC Driver お問い合わせ

SAP SuccessFactors に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。