対象読者
- FileMakerプラットフォームに興味を持ちつつ、実際に「どこまでのシステム」が構築可能なのかといった性能面に疑念を持っているITプロフェッショナル
- FileMakerプラットフォームに移行するに当たり、これまでに培ってきた経験や技術力を、どの程度活かせるのかを知りたいITプロフェッショナル
FileMakerプラットフォームのデータベース機能にフォーカス
こんにちは。ライジングサン・システムコンサルティングの岩佐です。今回はFileMakerプラットフォームのDBエンジン性能にフォーカスして、その魅力をお伝えします。
国内外の多くのローコードプラットフォームは、そのバックグラウンドで動くDBエンジンとして、OracleやMicrosoft SQL Server、MySQLなどの商用RDBMSプロダクトが用いられるケースが多いそうです。しかし、FileMakerプラットフォームは独自のデータベースエンジンを搭載しています。
この独自のデータベースエンジンは、一般的なRDBMSと比較すると独特な世界観を持った仕様になっています。そのため、一般的なRDBMSを用いたソフトウェア開発の経験が豊富なITプロフェッショナルほど、この独自仕様に対して抵抗を示す側面があります。
私も初めてFileMakerに触れたときは、「こんな仕様のデータベースエンジンで本当にまともなシステム開発なんてできるのか……?」と思いました。しかし、実際に使いながら理解が深まるにつれ、その疑問はだんだんと解消されていきました。
その独特な世界観を理解して設計・実装したFileMaker製のソリューションは、中堅、中小規模の基幹系システムであれば、十分に対応可能なポテンシャルを持っています。数値的な規模感だと、数十名から数百名クラスのユーザが常時利用する社内用の業務システムであれば、必要十分な性能を持っています。
事例その1:愛工舎製作所
弊社のお客さまに「株式会社愛工舎製作所(本社:埼玉県)」という、年商約45億円の製造業のお客さまがいらっしゃいます。社員数は約150名で、製パン・製菓企業向けの業務用ミキサーを製造、販売しています。また近年では、食品だけにとどまらず、化学薬品の製造過程で使用する特殊な撹拌用ミキサーも製造・販売しています。
愛工舎製作所は、20年以上にわたって使用してきたAS/400の販売管理システム、そしてマーケティング、営業といった受注前の業務をサポートするために、セールスフォース・ドットコム(以下、Salesforce.com)を使った営業案件管理システムを並行運用していました。
数年前にこの2つのシステムを、弊社にてFileMakerプラットフォームを用いてリプレースいたしました。また同時に、このリプレースしたシステムを「動く教科書」として、3名の社内開発者を育成しました。現在、本システムは、この3名の社内開発者によってほぼ完全内製で機能の追加・拡張が行われています。
20年以上にわたって使用してきたAS/400には、過去の顧客情報・販売情報や修理履歴など、捨てることのできない貴重なデータが大量に保存されています。本プロジェクトでは、この過去データすべてを新システムに引き継ぐ必要がありました。
また、受注前業務の営業案件管理に使っていたSalesforce.comと、主に受注後業務で使う AS/400の販売管理システムを統合して、1つのシステムとしててFileMakerプラットフォーム上で構築する必要がありました。
その全体的な規模は、以下の通りです。
- 総ファイル数:約20ファイル
- 総テーブル数:約220テーブル
- 総レコード件数:約600万レコード
- 全ファイルの合計サイズ:約10.5GB
そして受注前と受注後の業務を包括的にサポートするシステムのため、全従業員が利用できるサイトライセンスを契約し、常時70〜80ユーザがアクセスして業務を遂行しています。FileMaker Serverを動かしている環境はAWSのEC2(Amazon Elastic Compute Cloud)で、スペックは以下の通りです。
- EC2インスタンスタイプ:t2.xlarge
- OS:Windows Server 2019 Datacenter
- vCPU:4コア
- メモリ:16GB
- ストレージ:300GB
事例その2:株式会社八光電機
もう1つ、FileMakerプラットフォームで基幹システムを稼働させている事例を紹介しましょう。こちらは、株式会社八光電機(本社:長野県)というヒーターを製造・販売している製造業です。
年商は約30億円。現在約100のFileMakerライセンスを保有しており、受注から生産管理・在庫・物流管理・会計システム連携まで、製造業の基幹となる業務FileMakerで動かしています。
こちらのお客さまも、社内システム開発の内製化を実現しており、フルアウトソーシングで開発すると数千万円レベルのソフトウェアを極めて安価に、かつスピーディーにさまざまな社内システムをリリースしています。
八光電機では、製造・販売している製品が数千円〜数万円のパーツ系から、1台数千万円の非常に高価な装置系まで取り扱う製品が幅広いため、それにともなって日々発生するトランザクションデータ量が、先にご紹介した愛工舎製作所と比較して格段に多いという特徴があります。
実際にFileMakerで基幹系の業務を動かし始めたのは5年ほど前からですが、すでに下記のようなボリュームのデータをFileMakerで管理しています。
- 総ファイル数:約50ファイル
- 総テーブル数:約300テーブル
- 総レコード件数:約1,250万レコード
- 全ファイルの合計サイズ:約12GB
八光電機も部門横断的に100名を超えるユーザがシステムを利用しているので、常に50〜60、ピーク時には80以上のセッションが発生します。
FileMaker Serverは最新のバージョン19。FileMaker Serverを動かしている環境は、先の愛工舎製作所と同じくAWSのEC2で、プランも同じくt2.xLargeです。
以上、ご紹介した2社の事例から、FileMakerで対応可能なシステムのおおよその規模感を把握できたかと思います。もちろん設計・実装方法、実行環境を最適化することで、より大規模なシステムも構築することも可能です。
FileMakerプラットフォームにおける設計・実装の要点
ここからは、より具体的にFileMakerプラットフォームで、特に開発規模の大きくなりがちな基幹系システムを実装する場合の注意点について解説していきます。
1. DOAに忠実にデータモデリングする
FileMakerプラットフォームは、SQLによるデータハンドリングを行いません。しかし、DBエンジンとしてはリレーショナルデータベースモデルです。そのためデータモデリングに関しては、DOA(DataOrientedApproach:データ中心アプローチ)で提唱されているモデリング技法を使って設計します。独自のデータベースエンジンだからと言って奇をてらったような設計をする必要はありません。
一部、FileMakerのDBエンジン特性に応じた調整をすることはありますが、過度に意識すべきものではありません。基本に忠実なモデリングが極めて重要です。
2. 必要十分なリソース環境でFileMaker Serverを動かす
FileMakerプラットフォームは、小さく始めて大きく育てるアプローチにアドバンテージがあります。なので、システムの成長に応じて柔軟にスケールアウトできる環境で運用することが望ましいです。
そして、FileMaker Serverには十分なリソースを割り当てることが重要です。いくら設計や実装方法を工夫しても、サーバーリソースがカツカツだと、当然ですがシステムを快適に使うことはできません。
また、FileMaker Server には、「システムが遅い」という事象が発生したときに、その原因究明の助けとなるいくつかの機能が実装されています。これらからもたらされる情報を元に、ボトルネックの原因がサーバリソースなのか、システム設計の問題なのかなどさまざまなことが解析可能です。
3. 開発ルールを設ける
ある程度の規模が想定されるシステムであれば、FileMakerでもチーム開発を行うことが一般的です。このときに必要なのが開発ルールです。
FileMakerも「ローコード」とはいえ、独自仕様のコード(スクリプト/関数)を書くので、以下のルールはしっかりと設けるべきです。
- ファイル/テーブル/フィールド/テーブルオカレンス/スクリプト/レイアウト/変数/カスタム関数などの各オブジェクトに対する命名規約
- ファイル分割ルール
- リレーションシップグラフの描画ルール
- 共通ライブラリ(スクリプト・関数)の活用
4. 無料公開されている開発者向けのドキュメントをしっかりと読み込む
Clarisのオフィシャルサイトには、開発者に向けた大量かつ有益なドキュメントが豊富にそろっています。歴史の浅いローコードプラットフォームだと、このあたりのドキュメントが充実していない、もしくは英語のみで提供されているというケースが散見されますが、日本法人の歴史が20年以上あるFileMakerは一日の長があります。
例えば、DBエンジンの性能について深く学びたい場合は、プロダクトドキュメンテーションセンターに公開されている「FileMakerパフォーマンスを引き出す」というドキュメントがとても役に立ちます。
一方、FileMakerの歴史が長いこともあり、インターネットを検索すれば、さまざまな情報が公開されています。しかしその内容は、非常に古いバージョンでのみ有益だった情報や、中には「FileMaker的魔改造」を推奨する怪しい情報もかなり含まれます。情報公開している技術者のバックグラウンドによって玉石混交なので、まずはオフィシャルのドキュメントをしっかり読み込むことをおすすめします。
5. 信頼できる技術アドバイザーを頼る
FileMakerプラットフォームでシステムを実装する場合、特に経験が浅いうちは信頼できる技術アドバイザーを頼ることをおすすめします。
FileMakerで開発するシステムの範囲が、基幹業務をサポートするシステムで、かつ常時数十人以上のユーザがそのシステムを利用する場合、特にしっかりとした技術力のあるアドバイザーからサポートを受ける価値があります。
これは何もユーザ企業の内製化に限ったことではありません。プロとしてソフトウェア開発を請け負うITプロフェッショナルに対しても、FileMakerプラットフォームにおける開発経験が乏しい場合には、技術アドバイザーを置くことを推奨しています。
いくらFileMaker以外のソフトウェア開発プラットフォームで豊富な経験があったとしても、いきなりFileMakerでしっかりとしたシステムを構築するのは不可能と言っても良いでしょう。
古い先入観から誤解されがちなFileMakerのDBエンジン性能
FileMakerというプロダクトは非常に歴史が古く、特に初期のころはMacOS用のカード型データベースだったということもあって、非力なデータベースエンジンしか搭載していないと誤解されることがあります。
また、一般書籍やWebで検索できる情報なども、初心者を対象にしたものが多く、ある程度の知識と経験を持ったITプロフェッショナル向けの書籍はほぼ皆無と言ってもいいことから、極めて小規模で簡易的なソフトウェアしか作れない……という印象を与えてしまっているようです。
実際に私自身も、FileMakerを深く知る前まではそのような先入観がありました。しかし、特にこの数年でFileMakerのデータベースエンジン性能は飛躍的に向上しました。
もちろん銀行の勘定系システムや、証券会社の株取引を管理するシステム、また常時数千・数万のアクセスが発生するWebシステムを動かすプラットフォームとして、FileMakerはふさわしくないかもしれません。しかし、今回ご紹介したような規模感で、かつユーザが社内限定ということであれば十分に対応可能です。
まとめ
今回は、FileMakerプラットフォームのデータベースエンジンの性能にフォーカスして、弊社でサポートさせていただいた具体的な事例をご紹介しました。FileMakerのことをあまり知らない、以前の私のようにやや懐疑的に思っているITプロフェッショナルの皆さんに、FileMakerの魅力が伝わればいいなと思います。
次回は、FileMakerが持つ他システム連携をサポートする機能にフォーカスして、その魅力をお伝えします。
内製化支援の事例とClaris公式リソース
- 岩佐さんが内製化支援を行ったClaris FileMaker導入事例
工場の作業台に iPadを設置、製造の記録を手書きからデジタルへ:樫山工業株式会社
設計、営業、生産管理業務を一括管理、年間400時間を削減:いそのボデー
- Claris FileMakerについてのリソース
開発者向けのナレッジベース、公式トレーニング教材、コミュニティの案内などのリソースを紹介しています。