はじめに
本連載では、全10回(予定)のリレー形式で「FileMaker Pro」というデータベースソフトウェアを紹介していきます。執筆者は、実際にFileMaker Proによる開発案件を多く手がける現役のエンジニアが担当しますので、FileMaker Proを色々なビジネスシーンにどのように活かしているのか、その一端を感じていただけるでしょう。
この連載を通して、FileMaker Proをあまりご存じではないエンジニアの皆さんに、FileMaker Proによるビジネスの優位性を知っていただき、FileMaker Proによるビジネス開拓へはじめの一歩を踏み出す材料になれば幸です。
FileMakerとは
「FileMaker(ファイルメーカー)」は、米国FileMaker社が開発・販売しているデータベースソフトウェアで、特に非システム開発者の間では、パワフルでありながらその使いやすさで好評を得ています。
また、FileMakerはWindows OS、Mac OSのどちらでも動作するため(クロスプラットフォーム)、一般的な企業や学校で採用されている2大OSをカバーしていることも好評を得ている要因の1つでしょう。
FileMakerと聞くと、エンドユーザが自分用のちょっとしたデータベースを作るために使用するデスクトップデータベースというイメージがあるかもしれません。しかし、FileMakerによるデータベース開発を専業としているベンダーは日本国内に多く存在しています。また、毎年夏に米国で開催されるFileMaker Developer Conferenceには、FileMakerでシステム開発をしているデベロッパが世界中から1000人規模で集結するという、実はけっこう熱いソフトウェアなのです。
スタートはカード型データベース
FileMakerの歴史は意外と古く、1989年に発売された「ファイルメーカーII」が、日本国内で最初に発売されたバージョンです。FileMakerと比較されることの多いマイクロソフト社のAccessの最初のバージョンが1992年に発表される3年前に、既に日本国内で使われはじめていました。
「FileMakerってカード型でしょ?」「Macだけしかダメなんだよね?」という声は、2007年の現在でも、たびたび耳にします。確かにFileMakerの初期バージョンはカード型データベースからのスタートで、しかもApple ComputerのMacintoshでしか動作しませんでした。しかし、このどちらの問題も、クロスプラットフォームで動作可能なリレーショナルデータベースとして1996年に登場した「ファイルメーカー Pro 3.0」で克服しました。
現在のFileMakerの最新バージョンは9.0になりますが、新しいバージョンであっても、旧バージョンの良い機能はパワーアップした状態で残しています。そのため、「ファイルメーカーII」で実現したGUIでデータベースを表現する「カード型」のデータの利用も行いつつ、「リレーショナルデータベース」のパワフルさとスケーラビリティを兼ね備えたデータベースソフトウェアになっています。
また、最新バージョンのFileMaker Pro 9では、Oracle 9i、MS SQL Server、MySQLといったDBMS(データベースマネージメントシステム)で定義されているテーブルをFileMaker Proとリンクさせる機能も追加され、これらのDBMSの利用者からも注目を集め始めてきています。
FileMakerによるシステム開発が、なぜ今注目されるのか
直感的な開発環境と迅速なプロトタイプの提示
FileMakerを採用してシステム開発を行う最大のメリットは、テーブル定義、フィールド定義、画面設計、帳票作成、各種自動処理など、システム開発に必要な工程を直感的に行え、かつプロトタイプをごく短時間で提示できることにあるでしょう。
もちろん、これらを実現するには知識と経験が必要になりますが、その修得コストに関しても、他のDBMSに比べて短い時間で、実務レベルのスキルを身につけることが可能です。
限られたリソースで効率的な開発が可能
多くの場合、システム開発は、「要件定義~基本設計~詳細設計……」といった工程を順に進めていくことは避けられませんが、いったん開発が始まると、FileMakerはその威力を発揮します。
具体的な開発手法の詳細については、連載を進めていくなかで解説するため、ここでは割愛しますが、FileMakerでシステム開発を行うメリットの一つに、1人ないしは2人といった小チームで開発を行えることが挙げられます。つまり、限られた開発スタッフで、より多くの開発案件をさばけるわけです。
FileMakerを使用したシステム開発では、基本設計でデータベースのデータ構造を設計する際、構造を機能面から考えて行きます。例えば、伝票入力の機能を構築するには、どのような画面(FileMakerでは「レイアウト」と言います)が必要で、その画面にはどのテーブルからどのようなフィールドを配置するのか、といった観点で構造設計を行います。そのため、上流工程以外にいる技術者でも設計に参加することができ、(第三者によるレビューの必要はあると思いますが)開発をするシステムの規模によっては、要件定義から開発を終えるまで1人で行うことも可能です。