Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

PHPとFileMaker ProによるWebアプリケーション構築(基礎編)

ITエンジニアのためのFileMaker講座 第11回(前編)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/05/06 18:40

 本稿では「PHP」と、FileMaker Server 9以降で搭載されている「FileMaker API for PHP」を組み合わせ、単なるデータベースに留まることのないFileMakerの魅力をお伝えしたいと思います。

はじめに

 本稿では「PHP」と、FileMaker Server 9以降で搭載されている「FileMaker API for PHP」を組み合わせ、単なるデータベースに留まることのないFileMaker Proの魅力をお伝えしたいと思います。

対象読者

  • PHPのプログラミング経験がある方
  • FileMaker API for PHPをこれから学習したい方
  • Webアプリケーションの管理画面作成を効率化したい方

FileMaker Proって何?

 FileMaker Proは、直感的な操作性が特長のリレーショナルデータベース(RDBMS)です。MySQLなどと比べると、このユーザーフレンドリーなインターフェイスが最初から用意されているという点において優れています。

 私も過去さまざまなWebシステムを開発しましたが、いずれもクライアントから「充実した管理システムの提供」をリクエストされ、バックエンドの開発で苦労してきました。

 データベースにFileMaker Proを選択すれば、ユーザー自身が使いやすいように管理システムをカスタマイズできるようになり、開発期間の短縮やコスト削減が可能となります。

PHP+FileMaker Proで何ができる?

 実は、FileMaker Proのソリューションはブラウザからも利用することができ、既存のWeb開発技術と組み合わせることも可能です。FileMaker Pro自身がWebサーバーの役割も行う「インスタントWeb公開」をはじめ、「XSLT公開」「XML公開」「PHP公開」などの選択肢があります。

 その中で今回は、Webアプリケーションの開発に広く使われているPHPをフロントエンドに、FileMaker Proをバックエンドに利用するソリューションを紹介します。

たとえばどんなことができる?

 オンラインショッピングシステムを例に挙げるならば、公開側はショッピングカートシステム、裏では受注管理システムという2種類のシステムを構築することになりますが、データベースがFileMaker Proであれば、標準搭載のデータ管理機能やユーザーインターフェースを利用して管理システムをすばやく構築し、ビジネスに直結するフロント側の開発に注力することが可能になるでしょう。

Webアプリケーションの運用に役立つ機能

 その他にもFIleMaker Proには、FileMaker Serverの「アカウントとアクセス権による細かなユーザー管理」「SSL対応」といったセキュリティ系の機能や、エラー通知のメール送信、バックアップスケジュールの簡易設定といった、Webアプリケーションの運用に適した機能が搭載されています。

柔軟なセキュリティ設定
エラー通知をメール送信可能
バックアップスケジュールの設定が容易

FileMaker API for PHPのデメリット

 これだけメリットをリストアップしましたが、同時に以下のようなデメリットもあります。利点ばかりでなく課題も理解することはクライアントへの提案や開発の鍵になると思います。

  • SQLベースのRDBMSと異なる、FileMakerの仕様を理解する必要がある
  • FileMakerサーバーのホスティング会社が少ない
  • 大規模なWebアプリケーションには向かない

FileMaker Proのユーザビリティ

 PHPとの連係について話を進める前に、FileMaker Proの持つ直感的な操作性について簡単に紹介しておきたいと思います。

シンプルで分かりやすいデータベース

 FileMaker Proはリレーショナルデータベースですが、もともとシンプルなカード型データベースとして開発された経緯もあって、エンドユーザーにも分かりやすい平易なデータ操作を行える特長があります。

 もちろん、一般のRDBMS同様、小規模だけでなく比較的規模の大きいデータベースにも対応しています。

テーブル間のリレーションを図示している様子
テーブル間のリレーションを図示している様子

自在に変更できるフィールドのレイアウト

 FileMaker Proには高度なタグで制御することなく、GUI操作で視覚的にデータの管理画面を編集できる「レイアウトモード」という編集モードがあります。枠線やテキストといったフィールドの値以外の要素も配置できますし、フィールドの値が写真データの場合には画像として配置するといった柔軟性もあります。例えば、あらかじめ郵便はがきのフォーマットに合わせて配置しておき、はがき印刷データベースとして利用することも容易です。

はがき印刷データベースといった応用も簡単
はがき印刷データベースといった応用も簡単

スクリプトによる処理の自動化

 データベースで一番厄介なのは、何より新たにデータを登録するという作業です。新規の問い合わせでよく、「FileMaker Pro使っているけれど、Excelのデータをすべて手作業で転記をしているから大変だ」といった話を伺います。

 このような場合、例えば「データのインポート」というスクリプトを定義してボタンに配置しておけば、ボタン一つでExcelのデータを取り込めるので誰でも短時間に作業できます。しかもスクリプトの定義は「スクリプトの管理」というウィンドウで、特殊なソースコードを書くことなく簡単に行えます(もちろんコードを記述して細かくカスタマイズすることも可能です)。

スクリプトでExcelファイルからのデータ取り込みを自動化
スクリプトでExcelファイルからのデータ取り込みを自動化

充実した検索機能

 FileMaker Proは検索機能が充実しています。フィールドから任意の文字列を検索するだけでなく、演算子を使って範囲指定や正規表現、重複などの条件の検索が可能です。また、FileMaker Pro 10以降では検索した条件を保存して、一度行った検索を再利用できるようになりました。

 さらに先のスクリプトを使えば、あらかじめ条件を指定した検索がいつでも呼び出せるので、例えば膨大な顧客データからDMを印刷したい場合、都道府県名に「東京都」と企業名に「株式会社」を含むものを抽出してDMを印刷するといった制御も可能です。

あらかじめ指定した条件での検索も簡単に行える
あらかじめ指定した条件での検索も簡単に行える

 FileMaker Proは、データの管理・運用に役立つさまざまな機能と、エンドユーザーにも分かりやすい操作性も兼ね備えているため、システムのデータ管理機能を簡単に構築できます。これにPHPを組み合わせてビジネスロジックやプレゼンテーションの処理を実装すれば、ユーザーに使いやすいWebシステムをすばやく作成できることでしょう。

FileMaker ProとPHPを連係させるために必要な環境

 それではFileMaker ProとPHPによる開発を進めるために必要な環境構築の手順から説明します。

FileMaker Server

 PHPによるデータ駆動型Webページを公開するには、「FileMaker Server」のバージョン9以降が必要となります。現在、最新版には「FileMaker Server 11」と「FileMaker Server 11 Advanced」の2種類がありますが、FileMaker API for PHPを使う目的においてはどちらを選択しても構いません。

 なお、FileMaker Server 11が動作するOSは以下のとおりです(Advancedと共通)。

  • Windows 7 Professional Edition
  • Windows Server 2008 Standard Edition SP2
  • Windows Server 2008 R2
  • Windows Server 2003 Standard Edition SP2
  • Mac OS X and Mac OS X Server version 10.6(IntelベースのMac)
  • Mac OS X and Mac OS X Server version 10.5.8(IntelベースのMac)

 本稿では、Mac OS X Serverを前提に話を進めますが、Windows環境でも基本的には同様ですので、適宜読み替えてください。スクリーンショットはFileMaker Server 10時点のものを使用しています。

 その他システム条件の詳細については FileMaker社のページをご参照ください。また、30日間全機能を使用できる無料評価版を同ページからダウンロードすることができます(右上のリンクから)。

PHPとWebサーバー

 FileMaker ServerをMac OS X Server 10.6にインストールすると、OS付属のPHPとは異なるPHP Apacheモジュールがインストールされ、こちらが利用されます。WebサーバーはOSに付属しているApache 2.2を利用します。

FileMaker Serverと一緒にPHPもインストールされる
Mac OS X ServerにはApacheが標準搭載
Windows環境の場合

 Windows環境の場合はIIS 7.0+PHPの環境などでも同様の結果が得られますので、ご自分の環境に適宜置き換えてご確認ください。

環境構築

Apache + PHPの環境設定

 サーバー管理のアイコンをクリックして、サイドメニューからWebを選択し、「Webを開始」ボタンをクリックするだけでApacheは起動します。

サーバー管理のアイコン

 ただし、このままではPHPは動作しないのでサイドナビからWebを選択して「詳細 - モジュール(タブ)」を選択、php5_moduleの「使用可能」にチェックを付けてから「Webを停止」ボタンクリックをし、再度「Webを開始」(Apacheの再起動)をします。

 これでApache + PHPの動作環境が整いました。

PHP 5の有効化

FileMaker Serverのインストールとセットアップ

  1. FileMaker Serverのインストーラーを実行しインストールが完了すると、Admin Console(コンソール画面)が起動し、セットアップが開始されます。
  2. まずはユーザー名とパスワードを設定します。
  3. ユーザー名とパスワードの入力
  4. 続いてFileMaker Serverの名前を付けます。
  5. サーバー名の入力
  6. さらに「Web公開を有効にする」ダイアログでは「はい、Web公開を有効にします」にチェックを付けます。
  7. Web公開を有効にする
  8. 「Web公開テクノロジを有効にする」ダイアログでは「PHP」を選択し、先にApacheとPHPのセットアップが済んでいるので「いいえ、すでにインストール済みのPHPエンジンを使用します。」を選択します。
  9. インストール済みのPHPエンジンを使用を選択
  10. 「マシン上に展開: Webサーバーを選択」ダイアログでは「Apache」を選択します。
  11. WebサーバーにApacheを選択
  12. そのまま先へ進み、FileMaker Server Admin Consoleのサイドナビにある「FileMaker Serverの概要」を選択すると、下図のようにサーバーステータス情報の「Webサーバー」に青ランプがついた状態になります(※Web公開エンジンとデータベースサーバーは青いランプがついていなくても問題ありません)。
  13. Webサーバーのステータスが青ランプに
  14. もしランプがついていない場合は、サイドナビの「Web公開 - PHP(タブ)」を選択して「PHP公開を有効にする」に印をつけてください。
  15. 青ランプが点灯していない場合はPHP公開の設定を有効に

まとめ

 FileMaker Proを業務で仕様する場合、従来は社内システム向けのデータベースという位置づけで広く利用されてきました。ところが昨今インターネット環境の充実に伴い、Webアプリケーションと社内システムの連携という需要がちらほら聞かれるようになり、FileMaker Proもそれに対応した機能拡充が行われてきています。Webアプリケーション構築技術の選択肢の一つとして、FileMakerもぜひご検討ください。

 後編では、実際にFileMaker API for PHPを使ったPHPの組み立て方などについて、具体的なサンプルを用いて紹介したいと思います。

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 岡田 匡(オカダ マサシ)

    岐阜県大垣市のソフトピアジャパンと名古屋市に拠点を置く、WebシステムとFileMakerソリューション開発の会社、株式会社ワークスペースの代表取締役。1998年にCGIプログラミングでショッピングカートシステムを初めて開発。2001年にショッピングカートと連携するネット通販の受注管理システムを手掛...

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5