FileMaker Pro からSAP SuccessFactors のデータへの双方向アクセス

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
JDBC ドライバーのMySQL リモート機能を使用して、Mac またはWindows 版FileMaker Pro にSAP SuccessFactors のデータ を連携。

この記事では、CData JDBC Driver for SAP SuccessFactors を使用して、FileMaker Pro のExternal SQL Sources(ESS)機能と連携する方法を説明します。ESS を利用すると、FileMaker Pro 内のレコードを他のデータストアの関連レコードとリンクできます。

MySQL リモート機能を使用して、SAP SuccessFactors をリモートMySQL データベースとしてアクセスします。CData JDBC Driver for SAP SuccessFactors は、JDBC とMySQL の両規格を実装しており、FileMaker Pro のように従来のMySQL データベースへの接続はサポートしていても、汎用のJDBC 接続をサポートしていないアプリケーションとの連携を実現します。

FileMaker Pro 連携方式の選択

FileMaker Pro には2つのデータアクセス方式があります。

  • データインポート:SAP SuccessFactors データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC SAP SuccessFactors 連携を参照してください。
  • ESS:データのローカルコピーを使用する代わりに、JDBC ドライバーを使用して外部SQL ソースを作成できます。リモートデータはFileMaker Pro で変更でき、テーブルは標準のFileMaker Pro テーブルと同様にリレーションシップグラフで使用できます。

ESS セットアップの概要

JDBC ドライバーはデータアクセスチェーンの一部です。ネイティブのODBC 連携と比較すると、MySQL リモートを使用するFileMaker Pro 連携には追加のコンポーネントがあります。この記事では、以下の各コンポーネントをFileMaker Pro とリンクする方法を説明します。

  1. CData JDBC ドライバー
  2. CData MySQL リモートデーモン(ドライバーに同梱)
  3. MySQL 用ODBC ドライバー

    Windows では、FileMaker Pro は公式のMySQL ドライバー、MySQL Connector\ODBC を必要とします(現時点でのベストオプションはConnector\ODBC 8.0.11 です)。

    macOS では、FileMaker Pro はActual Technologies Open Databases ODBC ドライバーを必要とします。

  4. ODBC ドライバーマネージャー

    Windows では、ドライバーマネージャーは組み込みです。macOS では、ODBC ドライバーをインストールする前にドライバーマネージャーをインストールする必要があります。iODBC ドライバーマネージャーをインストールしてください。

リモートデーモンの起動

以下の手順に従って、MySQL リモート機能を有効にします。

  1. ターミナルを開き、インストールフォルダのlib サブフォルダに移動します。

    $ cd "/Applications/CData/CData JDBC Driver for SAP SuccessFactors/lib"
    
  2. 構成ファイル(デフォルトではcdata.jdbc.sapsuccessfactors.remoting.ini)を編集します。
    • [databases] セクションをSAP SuccessFactors 用のJDBC 接続URL で更新します。
      	sapsuccessfactors = "User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;"
      	

      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">ヘルプドキュメントの「はじめに」をご確認ください。

      利用可能な接続プロパティやその他のリモート設定オプションの詳細については、ヘルプドキュメントを参照してください。

  3. コマンドラインで構成ファイルまたは設定を指定して、MySQL デーモンを起動します。以下の例では、同梱のサンプル構成ファイルを使用しています。

    $ java -jar cdata.jdbc.sapsuccessfactors.jar -f "cdata.jdbc.sapsuccessfactors.remoting.ini"
    

DSN の作成

SAP SuccessFactors への接続に成功しMySQL デーモンを起動したら、MySQL ODBC データソースを作成します。 ODBC データソースを使用する場合、DSN(データソース名)で接続プロパティを指定します。

ODBC ドライバーとドライバーマネージャーをまだ入手していない場合は、「ESS セットアップの概要」を参照して、お使いのプラットフォームでサポートされているコンポーネントを確認してください。

macOS

以下の手順に従って、iODBC グラフィカル管理ツールを使用します。

  1. Launchpad で検索してiODBC を開きます。
  2. システムDSN タブで、「追加」をクリックし、Actual Open Source Databases を選択します。
  3. 以下の情報を入力してウィザードを完了します。
    • 名前:DSN を入力します。
    • サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
    • ポート:デーモンがリッスンしているポートを入力します。例:3306。
    • データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:SAPSuccessFactors。
    • 「メタデータ」タブで、以下のチェックボックスをオンにします。
      • 「Ignore schema in column specifications」
      • 「Don't use INFORMATION_SCHEMA for metadata」
  4. 「接続テスト」をクリックし、ダイアログで資格情報を入力します。

Windows

組み込みのMicrosoft ODBC データソースアドミニストレータを使用してODBC DSN を作成できます。

  1. コントロールパネルから「データソース(ODBC)のセットアップ」を選択します。ODBC データソースアドミニストレータが表示されます。
  2. システムDSN タブで、「追加」をクリックし、MySQL ODBC ドライバーを選択します。
  3. 以下の情報を入力してウィザードを完了します。
    • 名前:DSN を入力します。
    • サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
    • ポート:デーモンがリッスンしているポートを入力します。例:3306。
    • データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:SAPSuccessFactors。
    • 「メタデータ」タブで、以下のチェックボックスをオンにします。
      • 「Ignore schema in column specifications」
      • 「Don't use INFORMATION_SCHEMA for metadata」
  4. 「接続テスト」をクリックし、ダイアログで資格情報を入力します。

SAP SuccessFactors シャドウテーブルの作成

シャドウテーブルは外部SQL ソースに存在しますが、FileMaker データベースの他のテーブルとほぼ同様に使用できます。リレーションシップグラフに追加したり、データを参照したり、レイアウトを作成したりできます。

  1. 「ファイル」->「管理」->「データベース」をクリックします。
  2. 表示されるダイアログの「リレーションシップ」タブで、「テーブル/リレーションシップ」セクションの「テーブルを追加」ボタンをクリックします。
  3. 「データソース」メニューで、「ODBC データソースを追加」を選択し、前のセクションで作成したDSN を選択します。

DSN のユーザー名とパスワードを指定すると、SAP SuccessFactors テーブルをリレーションシップグラフに追加できます。 「表示」->「ブラウズモード」をクリックすることで、リモートMySQL データベースと同様にSAP SuccessFactors のデータ のスクロール、ソート、編集、集計が可能になります。

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

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

 ダウンロード

詳細:

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

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