Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

FileMaker Pro によるWebデータベース構築 (1) : 概要と仕組み

第7回 FileMakerのWeb公開機能の概要

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/01/29 17:30

この連載では、システム開発において採用が増えつつある「FileMaker」というデータベースソフトウェアについて、最前線で活躍するエンジニアがリレー形式でその魅力を紹介します。第7回は、FileMakerが対応しているWeb公開の種類やその仕組み、それぞれのメリット・デメリットについて解説します。

はじめに

 本連載では、全12回のリレー形式で「FileMaker Pro」というデータベースソフトウェアを紹介していきます。前回は、Juppoグループの永井氏が『FileMakerにおける大規模開発への対応』を紹介しました。

 以降、3回に渡ってFileMakerのWeb公開機能を紹介します。今回は(株)エミックの松尾が、FileMakerが対応しているWeb公開の種類やその仕組み、それぞれのメリット・デメリットについて解説します。

FileMakerによるWeb公開の手法とその種類

 FileMaker Proデータベースを利用してWebアプリケーションを構築する手法には複数の選択肢が用意されています。Web公開の手法に関する選択肢としては、インスタントWeb公開、カスタムWeb公開、ODBCおよびJDBCが挙げられます。

 「インスタントWeb公開」は、FileMaker Proで定義したレイアウトをほぼそのままにWebブラウザから利用できる画期的な機能です。HTMLやプログラミングに関する知識がなくても、データベースと連動したWebアプリケーションを開発することができ、FileMaker Proの使いやすさを体現した機能と言えます。データベースエンジンが刷新されたバージョン7以降で飛躍的に機能が向上しており、ぜひ読者の皆さんに一度試用・評価してもらいたい箇所の1つです。ただし、インスタントWeb公開機能には仕様上の制限もありますので、インスタントWeb公開では対応できない機能が必要な場合には、カスタムWeb公開やODBC/JDBCを検討することになるでしょう。

インスタントWeb公開ではFileMaker Proで定義したレイアウトを利用可能
インスタントWeb公開ではFileMaker Proで定義したレイアウトを利用可能

 「カスタムWeb公開」は、HTMLやプログラミングに関する知識のある開発者向けに用意されている機能であり、各種Web関連技術を活用して機能拡張や表示の調整ができるようになっています。FileMaker独自のAPIが用意されており、本記事執筆時点で最新バージョンであるバージョン9では、標準でPHPとXSLTに対応しています。その他にODBCやJDBCを使用する方法もあり、例えばJava ServletからJDBCを使用してFileMaker Proデータベースに対してSQLで制御することも可能です。

 このようにFileMakerのWeb公開にはさまざまな手法が用意されており、インスタントWeb公開に見られるような使いやすさだけでなく、各種Web関連技術を活用できる拡張性も備えています。

Web公開に必要なFileMaker製品

 サーバー製品の上位バージョンであるFileMaker Server Advancedであれば上述の機能がすべて含まれていますが、採用するWeb公開手法や適用規模によっては必ずしも同製品を採用する必要はありません。バージョン9では、通常版のFileMaker ServerでもカスタムWeb公開機能を新たに利用できるようになりましたので、カスタムWeb公開のみ使用する場合にはFileMaker Serverを利用するという選択もあります。FileMaker ServerとFileMaker Server Advancedの価格差を考慮すると、コスト面から今後はこの選択が増えていく可能性があります。なお、バージョン8およびそれ以前では、通常版のFileMaker ServerにWeb公開機能が備わっていないので注意してください。

 インスタントWeb公開に限り、デスクトップ製品であるFileMaker ProおよびFileMaker Pro Advancedでもその機能を利用できますが、これらの製品ではインスタントWeb公開の同時接続上限数は5セッションです。コストを抑えてイントラネットで小規模に運用する場合にはFileMaker ProでインスタントWeb公開機能を利用するという選択もありますが、それ以上の規模を求める場合にはFileMaker Server Advancedが別途必要になります。

FileMaker ProのインスタントWeb公開では同時接続は5セッションまで
FileMaker ProのインスタントWeb公開では同時接続は5セッションまで

 なお、サーバー製品であるFileMaker ServerとFileMaker Server Advancedは、FileMaker Proデータベースを複数のクライアントで共有することに特化したサーバーソフトウェアです。そのため、FileMaker Server単体ではFileMaker Proデータベースを作成することはできません。データベースの作成や変更、修正にはFileMaker Proもしくは開発者向けのFileMaker Pro Advancedが必要になります。

FileMaker製品のサーバー機能比較表
  FileMaker Pro(Advanced) FileMaker Server FileMaker Server Advanced
FileMakerネットワーク共有
インスタントWeb公開
カスタムWeb公開
ODBC/JDBCデータソース
FileMaker Server Advanced Development Licenseについて
 FileMaker社のWebサイトには、30日間試用できる、FileMaker Proの無料評価版FileMaker Server Advancedの無料評価版が用意されています。各製品の無料評価版とは別に、評価版用のODBC/JDBCクライアントドライバも用意されています。FileMaker ProとFileMaker Serverがご自身の環境にない場合は、FileMaker社のWebサイトから無料評価版を入手できますので、こちらをダウンロードしてお試しください。また、FileMaker Technical Network(略称:FileMaker TechNet)に加入すると、開発およびテスト用途のみに利用できるFileMaker Server Advanced Development Licenseが提供されます。同時接続数は3ユーザーに限定されますが、それ以外は機能的に製品版と違いはありません。年会費は9,450円となりますが、ぜひ参加されることをお奨めします。

各Web公開技術のメリットとデメリット

 FileMakerには複数のWeb公開技術が用意されているが故に、どの開発手法を選択すべきかあらかじめ比較/検討する必要があります。各手法の特長はどのようになっているのか、それぞれどのように使い分ければいいのか、気になるところではないでしょうか。それぞれの特長を把握したうえで適材適所で使い分けができるように、各Web公開技術のメリットやデメリット、仕組みについて解説していきます。

 先に結論を言えば、どの開発手法を採用するかは、主に次のような判断をすることになるのではないかと筆者は考えています。

  • 利用環境が限定されていて機能面に制限があっても特に問題ない場合には「インスタントWeb公開」、そうでなければそれ以外の方法を採用する。
  • 製品価格/コストを重視して「カスタムWeb公開」、もしくは既存のシステムと連係しやすい技術や開発者が慣れている開発環境を採用する。

インスタントWeb公開

 インスタントWeb公開を利用すれば、データベースソフトウェアでありながらドローソフトウェアのように使用できるFileMaker Proのレイアウト機能を、Web上でも活用することができます。短時間での習得および開発が容易であり、FileMaker Proのスクリプトを駆使することで、プログラミングレスで迅速なサイト開発が可能です。

 FileMakerによってすべてのページが自動変換された上で出力される仕組みになっていて、FileMakerらしい使いやすさがWeb上でも実現されていますが、それ故に通常のWebサイトのようにHTMLを自由に記述できないという仕様上の制限もあります。また、「サポートするWebブラウザが限定される」「Webブラウザの同時接続が最大100セッションまで」「FileMaker ProのスクリプトステップはWeb互換のものしか利用できない」などといった制限もあり、細かい部分で意図した通りに制御できない状況に直面することが多いのも事実です。システムに要求される機能によっては、他のWeb公開手法を採用したり、場合によってはクライアントにWebブラウザではなくFileMaker Proを使用することを検討することになるかもしれません。

XSLTによるカスタムWeb公開

 カスタムWeb公開には2種類の選択肢が標準で用意されています。1つはXSLT、そしてもう1つはバージョン9で新たにサポートされたPHPです。XSLTを使用したカスタムWeb公開では、FileMaker独自のクエリーコマンドを使用して、FileMaker Proデータベースを制御します。レスポンスデータとしてXMLデータが生成され、サーバーサイドでXSLTによる変換処理が行われた後、出力結果となるHTMLをWebブラウザに返す仕組みになっています。この手法では、FileMaker独自の拡張関数を利用しながら、XSLTスタイルシートを作成してサイトを構築することになります。

 XSLTはXMLドキュメントを変換するために使用される言語であるので、XML形式のデータを変換・出力したり、RSSリーダーで読める形式のデータを配信する場合などに有用です。PHPと比較するとセキュリティアップデートなどによる運用上のメンテナンスコストを抑えることができますが、他の言語と比較すると開発ツールやライブラリが少なく、習得に時間がかかるデメリットがあります。

PHPによるカスタムWeb公開

 バージョン9ではカスタムWeb公開が新たにPHPにも対応しました。仕組みとしては、XSLTを使用したカスタムWeb公開と同じく内部的にXMLが利用されていますが、オブジェクト指向であるFileMaker API for PHPにより特にXMLを意識する必要はなく、PHPの豊富なライブラリやツールを利用しながらWebアプリケーションを構築することができます。また、付属のPHP Site Assistantを使用することで、サイトの雛形となるPHPファイルを用途に応じて生成することができ、効率的に開発を始めることもできます。

PHP Site Assistantの画面
PHP Site Assistantの画面

 カスタムWeb公開機能は、通常版のFileMaker Serverでも利用可能なことから、導入時のコストを抑えられるというメリットがあります。また、カスタムWeb公開のXMLインターフェイスは、FileMakerが標準でサポートしている言語以外の開発環境や製品、言語でもよく利用されており、他の手法より枯れていて安定度が高いです。FileMaker API for PHPの正式版はバージョン9で新たに登場したものですが、それ以前はパブリックベータ版として公開されていたこともあり、安心して採用対象として検討できる候補となります。

 セキュリティアップデートなどによる運用や保守にかかるコストについては他の手法よりデメリット面が目立つかもしれませんが、PHPは習得が容易なスクリプト言語であり、今後はFileMakerユーザーの間でもPHPを利用する方が増えていく可能性があります。

PHPエンジンについては製品に同梱のモジュールを利用するか否かを決められる
PHPエンジンについては製品に同梱のモジュールを利用するか否かを決められる

ODBC/JDBCデータソース

 FileMaker Server Advancedを利用すると、FileMaker ProデータベースをODBC/JDBCデータソースとして使用することができます。標準規格であるODBCおよびJDBCに対応しており、さまざまな実行環境や開発環境と組み合わせながらSQLでデータベースを制御することができます。例えば、JDBCであれば言語にJavaを使用することになりますが、Javaの充実している開発環境やライブラリ、情報量を利用できるメリットがあります。ただし、FileMakerではLIMIT句やOFFSET句を使うことができないといった制限があります。

その他の選択肢

 製品が標準でサポートしている上述の手法以外にも選択肢があり、カスタムWeb公開のXMLインターフェイスを利用したオープンソースソフトウェアや商用製品が複数存在しています。これらの中から必要なものを選択、利用すれば、開発者自身が慣れている言語や環境にあわせて開発を進めることができます。また、FileMaker Proデータベースをデータソースとして利用するだけでなく、バージョン9で追加された外部SQLデータソースとの接続機能を利用することも一案です。例えば、インスタントWeb公開のデータソースにFileMakerではなくMySQLのデータベースを利用する、といったことも可能です。FileMakerの使いやすさと拡張性を上手に活用し、目的や用途に応じてFileMakerとRDBMSを組み合わせて利用すれば、ニーズや状況の変化に素早く対応できるシステムを短時間で構築することができるでしょう。

次回は

 今回はFileMaker ProデータベースのWeb公開の概要について解説しました。次回も引き続き、Web公開に関する話題を取り扱い、FileMakerらしい使いやすさを実現したインスタントWeb公開機能について具体的に解説していきます。

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

著者プロフィール

  • 松尾 篤(マツオ アツシ)

    2000年に株式会社エミックに入社。2007年より同社代表取締役。FileMakerとオープンソースソフトウェアのインテグレーションを得意とし、FileMakerによるWeb公開に関連する内容を取り扱ったブログを日々更新中。FileMaker 8 認定デベロッパ。

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