ミラーシンクの使い方 基本編
はじめに
ミラーシンクは優雅なデータ同期を実現する製品です。
FileMaker® Pro、FileMaker Go、FileMaker Server、SQLデータベース(MySQL、Oracle、SQL Server、その他JDBCをサポートしているあらゆるデータベース)の、どの組み合わせでも同期が可能です。
例えば、iOSデバイスを使うユーザーなら、FileMaker Serverにホストされているデータベースとのデータ同期をFileMaker GoまたはFileMaker Proクライアントから行って、ネットワークから離れている時(オフライン時)にデータへ変更を行って、ネットワーク接続が出来るようになったら再びFileMaker Serverにホストされているデータベースにデータを同期できます。
また、サーバー同士の同期では、データベースを複数の拠点で使っていても、各データベースのデータの統合と変更を確実に反映することができます。
ミラーシンクはサーバーマシンにインストールするだけ。プラグインではありません。クライアント(デバイス)にはインストールの必要はありません。
セットアップは本当に簡単。
- 同期に利用するアカウントのXMLWeb公開でのアクセス(fmxml拡張アクセス権)を有効にします。
- 同期するすべてのテーブルに、プライマリキー、修正情報のタイムスタンプ、作成情報のタイムスタンプがある状態にします。
- 同期するすべてのテーブルのレイアウトを1つずつ作ります。
- セットアップ中は、同期を行うファイルへ4回のコピー&ペーストをします。
ミラーシンクを使う理由
iOSデバイスのFileMaker Goでデータベースにアクセスするモバイルユーザー
サーバーへのネットワーク接続が制限されていたり、オフライン時でも、ミラーシンクを使って効率よく作業が可能です。自分のiPadやiPhoneにデータベースファイルのローカルコピーを保存してフィールドに情報を入力し、その後ネットワークに接続できる状態になったら同期します。ワークフローに応じて一方向の同期も可能です。ユーザーの情報をサーバーに送信してサーバーからはデータを受信しない同期、あるいは、素早く読み出し専用の情報が必要なユーザーにはサーバーからのデータ受信のみ同期設定もできます。
ノートマシンで作業をするリモートユーザー
例えば、ネットワークのスピードに左右されずに生産性を上げたいという課題を解決します。WANでFileMaker Serverに複数のユーザーが接続していると処理速度がかなり遅くなってしまうことがあります。これは、変更がすべて即座にFileMaker Serverに書き戻されるからです。ミラーシンクを使えば、ユーザーはデータベースファイルをローカルにコピーして自分のマシンで使えば、作業がWANのパフォーマンスに左右されることはありません。ユーザーがオフィスに来たときにデータベースを同期して、作業中はローカルのコピーを使います。そして定期的あるいは任意のタイミングで同期し、最新のデータをサーバーに対して送受信できます。
拠点が複数の場所にある場合
ミラーシンクをサーバー間同期モードで使用します。
データベースファイルのコピーを拠点ごとのFileMaker Serverにインストールします。各拠点では、LANのスピードをフルに活用してFileMaker Serverで作業を行います。そしてミラーシンクが、常にサーバー間を同期します。このようにして各拠点では、他の拠点による変更を確認したり編集したりすることができます。この構成で使用する場合は、30〜60秒程度の間隔で頻繁に同期するようにミラーシンクを設定する必要があります。
FileMaker 以外のデータベースとのデータ連携
最もシンプルに効率よく同期を実現する方法がミラーシンクです。
例えば、リモートのデータセンターでMySQLや Oracleにより動作しているオンラインの店頭システムがあり、FileMaker Serverで動作しているデータベースですべての注文にすぐアクセスする必要がある場合、ミラーシンクを使うと特定のSQLテーブルを FileMakerへ選択的に同期することができます。テーブルとフィールドの名前が一致していなくてもかまいません。この構成では、5〜10分程度の比較的頻繁な間隔で同期するようにミラーシンクを設定する必要があります。
システム条件
サーバー
- Windows 2003 R2以降
- Mac OS X 10.5以降
- Tomcat 6または7.052以降が動作しているLinux
- FileMaker Server 10.0v2、11.0v3、12以降のいずれかで、XML Web公開が有効になっていること。
- 3GB以上のRAM。何万行以上もあるような大規模のデータベースや、10以上の同期を同時に実行する場合には、8GB以上を推奨。
管理ツール(開発者/管理者のみが使用)
- OS X 10.6以降
- Java 1.6以降がインストールされているWindows 7
- FileMaker Pro 11以降
(FileMaker Pro Advancedを推奨します。FileMaker Pro Advancedを使うと、セットアップの手順を減らすことができます。ただし必須ではありません。FileMaker Pro Advancedをお持ちでない場合は、「FileMaker Pro Advancedを使わない構成」のFAQをお読みください。)
同期するクライアント
- FileMaker Pro 10以降のいずれかがインストールされたMacまたはWindows。あるいは、iPad、iPhone、iPod touchで動作しているFileMaker Go(任意のバージョン)
技術の概要
ミラーシンクは、サーバー上(一般的にはFileMaker Server上)にインストールされて、クライアント側からFileMakerの「Webビューア」と「URLから挿入」スクリプトステップでアクセスされるWebアプリケーションです。また、XML Web公開エンジンを使ってFileMaker Serverと通信します。
FileMaker Pro/Goの同期では、ユーザーがソリューション中のFileMakerスクリプトをトリガーとして同期を実行します。
サーバー間同期では、ミラーシンクの管理ツールの設定に従って同期を実行します。一定の間隔でバックグラウンドで実行するようにスケジュールを設定できます。
ユーザーのクライアント(デバイス)に、プラグインやその他のソフトウェアをインストールする必要はありません。ユーザーのコンピュータにJavaをインストールする必要はありません。ただし構成のプロセスではJavaが必要です。
サーバー間の同期では、すべてXML Web公開エンジン、またはJDBC(FileMaker以外のデータベースの場合)で通信します。
ミラーシンクを始める3つの方法
ミラーシンクを試す方法を、3つ用意しています。
ライブのデモ(同期を開始するまでにかかる時間:1分以内)
何もインストールせずにミラーシンクの動作を実際に確かめてみたい方は、こちらからミラーシンクのライブデモ用データベースをダウンロードできます。ダウンロードしたファイルをFileMaker ProまたはFileMaker Goで開き、変更を加えてから「Sync」ボタンを押します。複数のデバイス間でミラーシンクがどのように動作するかを確認するには、別のデバイスで同じダウンロード用のURLを使い、同期してみてください!このファイルのデータは、ファイルをダウンロードしたすべての方に共有されるので注意してください。また、毎日、米国東部標準時の夜中の0時にファイルがリセットされます。したがって、このファイルには重要な情報を一切入力しないでください。
「タスク」テンプレートを使って同期する(同期を開始するまでにかかる時間:約20分)
FileMaker Proに付属しているスターターソリューションの「タスク」を使った、ステップ・バイ・ステップの解説ビデオを公開しています。そのビデオに従って、一緒 に操作をしていただくことができます。この13分間のビデオでは、まずFileMakerの新規データベースを作り、セットアップと同期の設定をしていきます。ビデオを1ステップずつ見て、一時停止して自分のファイルで作業をしてください。
Step by step ビデオをYouTubeで見る(英語)
補足情報
2015年4月24日実施の「FileMaker Webセミナー:オフラインデータベースをFileMaker Serverに高速同期 ミラーシンクのご紹介」もご覧いただけます。
自分のファイルで同期の設定をする(同期を開始するまでにかかる時間:ほとんどのソリューションで30〜60分)
以下の手順に従って、自分のFileMakerソリューションでミラーシンクを構成します。
インストール/アップグレード
ミラーシンクは、ダウンロードを行うとOS XとWindowsのインストーラが含まれています。使用するプラットフォームのインストーラをダブルクリックして、画面の表示に従って進めます。
もしもFileMaker Serverを再インストールする場合、Webサーバーを適切に設定するためにミラーシンクのインストーラも再度実行しなくてはならないことがあります。
ミラーシンクで使うデータベースを準備する
- 複数のファイルのソリューションの場合(例えば、分離モデルや、旧バージョンのFileMakerから移行したソリューションの場合)
同期を行うデータが複数のファイルにまたがって存在しているなら、それらのファイルを外部データソースとして参照しているテーブルオカレンスを持つ、同期のためのメインファイルを1つ用意してください。分離モデルの場合では、データファイルが同期を行う必要があるファイルであるはずです。オフライン用のデータベースファイルをユーザーに配付するときは、同期のためのメインファイルを含むファイルセット一式を配付します。 - ミラーシンクを使うすべてのアカウントについて、FileMaker ProでXML Web公開でのアクセス(fmxml拡張アクセス権)や、FMXDBC拡張アクセス権を有効にしてください(「ファイル」>「管理」>「セキュリティ」を選択します)。
FileMakerのユーザーをダブルクリックして、「アクセス権セット」の「編集」を選択します。 - 同期を行うデータがあるすべてのテーブルに、プライマリキーが必要です。プライマリキーはユニークな識別子であり、空欄は許可されず、レコードが作成された後に変更されてはいけません。ミラーシンクは、もともと設定されているシリアル番号の付加方法によるプライマリキーでも、UUIDのプライマリキーでも、オリジナルの方針で設定したプライマリキーでも動作します。プライマリキーに対して「空欄不可」の制限が有効になっていると、セットアップのステップを減らすことができます(ただし必須ではありません)。同期の際にプライマリキーがどのように扱われるかに関するさらに詳しい説明は、「高度なトピック」のドキュメントの「プライマリキーに関する考察」を参照してください。プライマリーキーがないテーブルに対してではない限り、ミラーシンクで使う新しいプライマリーキーを作成しないでください。詳しい説明は「プライマリキーに関する考察」をお読みください。
- UUIDのプライマリキーを使用している場合は、フィールドのオプションの「フィールドに既存の値が存在する場合は置き換えない」と「データ入力時の値変更の禁止」チェックボックスのチェックを必ずはずしてください。入力値の制限の「ユニークな値」のオプションを有効にしてください。
- 業務番号、請求書番号、注文書番号、送り状番号などのようにユーザーから見えるデータとしてシリアル番号を使っているソリューションの場合は、「高度なトピック」のドキュメントの「ユーザーから見えるシリアル番号」を参照してください。
- 同期を行うすべてのテーブル(結合テーブルも含めて)に、修正情報が自動入力されるタイムスタンプフィールドと、作成情報が自動入力されるタイムスタンプフィールドが必要です。FileMaker Serverがある場所とは異なる時間帯の場所から直接オンラインでFileMaker Serverにアクセスするユーザーがいる場合は、「高度なトピック」のドキュメントの「時間帯に関する考察」セクションで解説しているように、ホストの修正情報のタイムスタンプのためのセットアップをする必要があります。異なる時間帯の場所にいるオフラインのユーザーがミラーシンクを経由してサーバにアクセスする場合は、このセットアップは必要ありません。
- フィールドの名前にカッコ( )または角カッコ[ ]が使われている場合は、これらの記号を削除するかフィールド名を変更してください。このような名前のフィールドは、ミラーシンクと互換性がありません。
- FileMaker Serverでデータベースをホストします。FileMaker Pro Advancedで、完全アクセス権のアカウントを使ってサーバーからファイルを開きます。FileMaker Pro Advancedをお持ちでない場合は、「高度なトピック」のドキュメントの「FileMaker Pro Advancedを使わない構成」セクションを参照してください。
ミラーシンクを自分のソリューションに統合する
ミラーシンクを自分のソリューションに統合する手順は、以下の通りです。
ミラーシンクをインストール
ミラーシンクは、FileMaker Serverが動作しているかどうかにかかわらず、Mac、Windows、Linuxコンピュータのいずれにもインストールできます。インストール中に、ミラーシンクを管理する際に使用するユーザー名とパスワードを作成します。FileMaker Server以外のコンピュータにミラーシンクをインストールする場合、オフラインのユーザーに簡単にファイルを配付するための「ダウンロードリンク」機能を使うためには、FileMaker Serverにもミラーシンクをインストールする必要があります。
インストールが終了すると、ミラーシンクのホームページが表示されます。
http://yourServerAddress/MirrorSync または http://yourServerAddress:42424/MirrorSync
自分のコンピュータからこのページを開いて統合のプロセスの続きを実行できることを覚えていてください。
ミラーシンクをインストールしたコンピュータを、リモートデスクトップで操作する必要はありません。ミラーシンクのホームページをブラウザから開いて青色の「ミラーシンク管理ツールを起動」ボタンをクリックします。OS Xを使用している場合は、この後、ダウンロードされたjnlpファイルをダブルクリックする必要があります。
ミラーシンクで同期をセットアップ
インストール中に作成したユーザー名とパスワードを使って、管理ツールにログインします。それから、管理ツールのセットアップの説明に従います。
セットアップが完了した後、FileMaker ProまたはFileMaker Goと同期する場合は、オフライン時のためのデータベースファイルのコピーをユーザーに配付する必要があります。管理ツールの「データベースをダウンロード」ボタンをクリックします。自分のコンピュータですぐにテストをするための「ダウンロード」か、エンドユーザーに配布するための「リンクを作成」のいずれかを選択します。
オフライン時のためのデータベースファイルのコピーを作成したら、「MirrorSync」スクリプトを実行して初回の同期をします。その後は、サーバーと同期したいときにいつでも、このスクリプトを実行しましょう。
レイアウト上の好きな場所にボタンを追加して、ユーザーが簡単に同期を実行できるようにしてもかまいません。
アプリケーションの新しいバージョンを配付する
FileMaker Serverでホストされているデータベースファイルに対して開発上の変更を加えた場合、フィールドの削除や名前の変更をしていなければユーザーが同期する機能に影響はありません。新しいテーブル、レイアウト、フィールド、スクリプトなどを追加しても、既存のオフラインのファイルは引き続き正常に同期します。
変更したファイルをユーザーに展開する準備ができたら、ミラーシンクの管理ツールで構成を編集します。手順の最後まで進んだら、スクリプトステップを再度コピーしFileMakerのソリューションにペーストします。そしてダウンロードのリンクを記載したメールをユーザーに送信します(過去に生成したリンクを使っても、新たに作成してもかまいません)。このメールに、古いファイルコピーを同期し、古いファイルを削除してから、新しいファイルをダウンロードする手順も記載します。ユーザーがファイルをダウンロードしなくても、同期は引き続き正常に実行されます。ダウンロードしないユーザーは、ソリューションの最新バージョンの優れた機能を利用できないというだけです。
高度なトピック (応用編)
現在お読みになっているこのドキュメントだけでも、ミラーシンクをセットアップして使い始めることができます。ただし、ミラーシンクには高度な機能やカスタマイズのオプションがたくさんあります。この内容は、ミラーシンクの「応用編」のページで解説しています。