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

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

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

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

FileMaker Pro 連携方式の選択

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

  • データインポート:REST データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC REST 連携を参照してください。
  • 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 REST/lib"
    
  2. 構成ファイル(デフォルトではcdata.jdbc.rest.remoting.ini)を編集します。
    • [databases] セクションをREST 用のJDBC 接続URL で更新します。
      	rest = "DataModel=Relational;URI=C:/people.xml;Format=XML;"
      	

      データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。

      URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。

      DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。

      • Document (デフォルト):REST データのトップレベルのドキュメントビューをモデル化します。データプロバイダーはネストされたエレメントをデータの集計として返します。
      • FlattenedDocuments:ネストされたドキュメントとその親を単一テーブルとして暗黙的に結合します。
      • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれます。

      リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

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

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

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

DSN の作成

REST への接続に成功し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。
    • データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:REST。
    • 「メタデータ」タブで、以下のチェックボックスをオンにします。
      • 「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。
    • データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:REST。
    • 「メタデータ」タブで、以下のチェックボックスをオンにします。
      • 「Ignore schema in column specifications」
      • 「Don't use INFORMATION_SCHEMA for metadata」
  4. 「接続テスト」をクリックし、ダイアログで資格情報を入力します。

REST シャドウテーブルの作成

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

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

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

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

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

 ダウンロード

詳細:

REST Icon REST JDBC Driver お問い合わせ

REST Web サービス連携のパワフルなJava アプリケーションを素早く作成して配布。