FileMaker Pro とSalesforce Data Cloud の連携
この記事では、CData JDBC Driver for Salesforce Data Cloud を使用して、FileMaker Pro のExternal SQL Sources(ESS)機能と連携する方法を説明します。ESS を利用すると、FileMaker Pro 内のレコードを他のデータストアの関連レコードとリンクできます。
MySQL リモート機能を使用して、Salesforce Data Cloud をリモートMySQL データベースとしてアクセスします。CData JDBC Driver for Salesforce Data Cloud は、JDBC とMySQL の両規格を実装しており、FileMaker Pro のように従来のMySQL データベースへの接続はサポートしていても、汎用のJDBC 接続をサポートしていないアプリケーションとの連携を実現します。
FileMaker Pro 連携方式の選択
FileMaker Pro には2つのデータアクセス方式があります。
- データインポート:Salesforce Data Cloud データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC Salesforce Data Cloud 連携を参照してください。
- ESS:データのローカルコピーを使用する代わりに、JDBC ドライバーを使用して外部SQL ソースを作成できます。リモートデータはFileMaker Pro で変更でき、テーブルは標準のFileMaker Pro テーブルと同様にリレーションシップグラフで使用できます。
ESS セットアップの概要
JDBC ドライバーはデータアクセスチェーンの一部です。ネイティブのODBC 連携と比較すると、MySQL リモートを使用するFileMaker Pro 連携には追加のコンポーネントがあります。この記事では、以下の各コンポーネントをFileMaker Pro とリンクする方法を説明します。
- CData JDBC ドライバー
- CData MySQL リモートデーモン(ドライバーに同梱)
- MySQL 用ODBC ドライバー
Windows では、FileMaker Pro は公式のMySQL ドライバー、MySQL Connector\ODBC を必要とします(現時点でのベストオプションはConnector\ODBC 8.0.11 です)。
macOS では、FileMaker Pro はActual Technologies Open Databases ODBC ドライバーを必要とします。
ODBC ドライバーマネージャー
Windows では、ドライバーマネージャーは組み込みです。macOS では、ODBC ドライバーをインストールする前にドライバーマネージャーをインストールする必要があります。iODBC ドライバーマネージャーをインストールしてください。
リモートデーモンの起動
以下の手順に従って、MySQL リモート機能を有効にします。
-
ターミナルを開き、インストールフォルダのlib サブフォルダに移動します。
$ cd "/Applications/CData/CData JDBC Driver for Salesforce Data Cloud/lib"
- 構成ファイル(デフォルトではcdata.jdbc.salesforcedatacloud.remoting.ini)を編集します。
- [databases] セクションをSalesforce Data Cloud 用のJDBC 接続URL で更新します。
salesforcedatacloud = ""
それでは、Salesforce Data Cloud への認証方法を設定していきましょう。Salesforce Data Cloud では、OAuth 標準による認証をサポートしています。
OAuth 認証
AuthScheme をOAuth に設定してください。
デスクトップアプリケーション
CData 製品では、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供しています。
また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することも可能です。詳しくは、ヘルプドキュメントのカスタムOAuth アプリの作成をご確認ください。
接続する前に、以下のプロパティを設定してください。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使用すれば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要がなくなります
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット
接続すると、CData 製品がデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。
以下のようにドライバーがOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得します
- 古いトークンの期限が切れた際は、新しいアクセストークンを取得します
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します
Web アプリケーションやヘッドレスマシンを含むその他のOAuth 認証方法については、ヘルプドキュメントをご確認ください。
利用可能な接続プロパティやその他のリモート設定オプションの詳細については、ヘルプドキュメントを参照してください。
- [databases] セクションをSalesforce Data Cloud 用のJDBC 接続URL で更新します。
コマンドラインで構成ファイルまたは設定を指定して、MySQL デーモンを起動します。以下の例では、同梱のサンプル構成ファイルを使用しています。
$ java -jar cdata.jdbc.salesforcedatacloud.jar -f "cdata.jdbc.salesforcedatacloud.remoting.ini"
DSN の作成
Salesforce Data Cloud への接続に成功しMySQL デーモンを起動したら、MySQL ODBC データソースを作成します。 ODBC データソースを使用する場合、DSN(データソース名)で接続プロパティを指定します。
ODBC ドライバーとドライバーマネージャーをまだ入手していない場合は、「ESS セットアップの概要」を参照して、お使いのプラットフォームでサポートされているコンポーネントを確認してください。
macOS
以下の手順に従って、iODBC グラフィカル管理ツールを使用します。
- Launchpad で検索してiODBC を開きます。
- システムDSN タブで、「追加」をクリックし、Actual Open Source Databases を選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:SalesforceDataCloud。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
Windows
組み込みのMicrosoft ODBC データソースアドミニストレータを使用してODBC DSN を作成できます。
- コントロールパネルから「データソース(ODBC)のセットアップ」を選択します。ODBC データソースアドミニストレータが表示されます。
- システムDSN タブで、「追加」をクリックし、MySQL ODBC ドライバーを選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:SalesforceDataCloud。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
Salesforce Data Cloud シャドウテーブルの作成
シャドウテーブルは外部SQL ソースに存在しますが、FileMaker データベースの他のテーブルとほぼ同様に使用できます。リレーションシップグラフに追加したり、データを参照したり、レイアウトを作成したりできます。
- 「ファイル」->「管理」->「データベース」をクリックします。
- 表示されるダイアログの「リレーションシップ」タブで、「テーブル/リレーションシップ」セクションの「テーブルを追加」ボタンをクリックします。
- 「データソース」メニューで、「ODBC データソースを追加」を選択し、前のセクションで作成したDSN を選択します。
DSN のユーザー名とパスワードを指定すると、Salesforce Data Cloud テーブルをリレーションシップグラフに追加できます。 「表示」->「ブラウズモード」をクリックすることで、リモートMySQL データベースと同様にSalesforce Data Cloud のデータ のスクロール、ソート、集計が可能になります。