各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ファイルを用途に応じて生成することができ、効率的に開発を始めることもできます。
カスタムWeb公開機能は、通常版のFileMaker Serverでも利用可能なことから、導入時のコストを抑えられるというメリットがあります。また、カスタムWeb公開のXMLインターフェイスは、FileMakerが標準でサポートしている言語以外の開発環境や製品、言語でもよく利用されており、他の手法より枯れていて安定度が高いです。FileMaker API for PHPの正式版はバージョン9で新たに登場したものですが、それ以前はパブリックベータ版として公開されていたこともあり、安心して採用対象として検討できる候補となります。
セキュリティアップデートなどによる運用や保守にかかるコストについては他の手法よりデメリット面が目立つかもしれませんが、PHPは習得が容易なスクリプト言語であり、今後はFileMakerユーザーの間でも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公開機能について具体的に解説していきます。