検索:検索ホームブログDX大規模なシステム開発におけるFileMakerの実践方法4選!コピーURLOKErrDX大規模なシステム開発におけるFileMakerの実践方法4選!こんにちは。リナークのニシザワです。FileMakerのポテンシャルについてお伝えいたします。FileMakerでは、基幹系システムに代表される大規模なソリューションには適さないという論調が一部では散見されていました。その要因として検索が遅い。表示に遅延が発生し、規模の大きなシステムには適していないといった評価が聞こえてきます。大規模という表現も人それぞれで評価が異なると考えています。FileMakerの正しい評価とは言えません。FileMakerで開発及び運用をすることは難しいでしょう。運用されているお客様もいます。そのシステムは「案件〜見積〜受注〜設計〜計画〜BOM〜資材〜製造〜物流〜在庫〜請求〜入金管理」という基幹業務を一気通貫で対応したソリューションです。Proであれば検証値で500、最大許容量で2,000の接続が可能となっています。FileMakerで十二分に対応できると私たちは判断しています。そのためにはシステム全体の設計を高度化することやそれに伴う開発技術が必要になってきます。FileMakerで大規模、かつ拡張しやすいソリューションを開発するときに実践している取り組みについてお伝えします。目次データ中心アプローチを用いて忠実なデータモデリングで実装する。データとUIを格納するファイルを分離する。トランザクション、マスタ、サマリ系でファイルを分割する。Serverを利用する。さいごにデータ中心アプローチを用いて忠実なデータモデリングで実装する。データモデリングとは「データを構造的に整理し、ビジュアルなモデルに表現することにより、データを効率的に扱えるようにすること」です。一般的にデータモデリングはリレーショナルデータベースの設計で利用します。そのデータを構造化してER図と呼ばれる図法でモデル化し、リレーショナルデータベースの構築を効率化します。FileMakerもリレーショナルデータベースであるために、そのデータモデリングは「DOA(DataOrientedApproach:データ中心アプローチ)」で提唱されているモデリングで設計します。FileMakerの特性を考慮した設計は必要になりますが、基本的なモデリングは忠実に設計するべきです。FileMakerの特性としてローコード開発が可能であり、モデリングや正規化をせずともシステム開発が可能であり、小規模なシステムを簡単にリリースすることが可能です。数十人、数百人が同時に利用し、かつ基幹業務に直結するシステムではデータモデリングに基づいて忠実に設計・開発されているかによって、拡張性や応答性能に大きな差が生まれてきます。ウォーターフォール開発に代表される旧来のシステム開発では、ビジネスロジックの変更に合わせてシステムを変更するようなことは非常に嫌がられる傾向があります。FileMakerでは上記のように難しいと言われるビジネスロジックの変更に伴うシステム変更が発生した場合でもデータとレイアウトやスクリプトが直結しているために、一般的にデメリットと言われていることがメリットになり得ます。FileMakerの開発生産性の高さによって担保されており、そこが大きなアドバンテージでもあると考えています。そのために、ビジネスロジックの変更に合わせてモデリングを変更することは頻繁に発生します。FileMakerの生産性が非常に高く、ビジネスの変化に柔軟に対応できる開発プラットフォームであると言えます。データとUIを格納するファイルを分離する。これは一般的に「分離モデル」と呼ばれる開発手法です。FileMakerで言うところの「レコード」になります。そのレコードを纏めているモノがテーブルになります。このように物理的なデータが格納されているファイルをデータファイルと呼んでいます。その物理的なデータが格納されているテーブルと、それ以外のオブジェクトであるレイアウト、スクリプト、カスタム関数、値一覧などが格納されているオブジェクトに分離します。格納されているデータをコントロールしたり、ユーザーインターフェースに表示するオブジェクトをUIファイルと呼んでいます。このようにデータファイルとUIファイルを分離することのメリットは、テーブルの構造に変化がなく、レイアウトやスクリプトなどといった変更点のみだった場合に、UIファイルのアップデートだけで作業が完了する点です。Tool」がリリースされました。これは、「データ移行ツール」になり、データファイルやUIファイルのデータ移行の作業が簡略化され、効率的に移行作業をすることができます。分離モデルにすることで、小規模な修正や機能リリースであれば、UIファイルのアップデートだけで作業が完結します。分離することのメリットとして「データの保護」があります。このように分離モデルを採用するメリットは大いにあると考えています。FileMakerのメリットは、小さく始めて大きく育てることができることです。実装されるたびに長時間に渡ってシステムが利用できない状況にすべきではないと考えます。そのためにも分離モデルを採用すべきです。トランザクション、マスタ、サマリ系でファイルを分割する。これは分離モデルのデータファイルを、その用途によってファイルを分割することです。すべてのデータを1つ、もしくは秩序なく増やすのではなく、データファイルの中で「トランザクション」、「マスタ」、「サマリ」系の3つに分割することです。トランザクション系システムが稼働することで随時発生する情報が永続的に増加するデータのことです。いったデータが対象になります。トランザクション系に属するデータの特徴は、更新頻度が高いことです。いうことは、ファイルへのアクセスが多く、ストレージへのフラグメントが発生することが予想され、そのリスクとしてデータ破損の可能性が高いことが考えられます。データが肥大化することでバックアップに時間がかかることが予想されます。そのためにバックアップから復旧するときにも時間がかかることになります。トランザクション系では部門、もしくはデータの特性によってファイルを分割することを推奨します。資材系の入出庫、在庫管理は生産部門になります。商品系の入出庫、在庫管理は営業部門になります。このようなデータ管理は、目的や部門が異なるデータをファイル分割の目安になります。比較的更新頻度が低く、商品や取引先など実在する情報であることが多いデータです。「商品マスタ」、「取引先マスタ」、「スタッフマスタ」、「品目マスタ」などという基本的な情報になります。このマスタ系はレコードの更新頻度は低いですが、多くのレイアウトやスクリプトから参照されるデータになるために、常にアクセスされている情報であり、FileMakerServerのメモリに展開されていることが望ましいデータになります。トランザクション系のデータのようなフラグメントが発生することは好ましくありません。そのために、トランザクション系とマスタ系は分離すべきであり、健全なデータ管理の上では分離することをオススメいたします。このマスタ系へのアクセスは一定の権限があるユーザーに対して許可されるべきデータであり、誰もがアクセスして更新できるようなフリーアクセス状態は避けるべきです。これは、様々なデータに紐付く基幹となるデータであり、そのデータが頻繁に更新されるようであれば、それはマスタではなく別の管理方法を検討すべきであります。そのような観点からセキュリティ上の管理を厳格にすべきデータに分類されます。人間が見やすいデータにした状態、つまり「非正規化」にしたデータです。サマリデータはトランザクション系データの集計結果です。そのために、トランザクションデータをリアルタイムに検索し、集計すれば必要な情報を取得することが可能です。集計対象のレコード数が数百万、数千万といった単位になると、都度その集計に時間がかかります。サーバーやネットワークに対する影響が発生し、負荷が非常に高くなります。その結果、ソリューション全体のパフォーマンスに影響し、応答性の低下、延いてはサーバーの稼働停止を引き起こす原因になり得ます。特有の検索機能に考慮した「非正規化」のデータとして集計結果を生成します。Serverを利用する。システムは複数の人が利用することで、本来のポテンシャルを発揮します。ひとりで利用するようなシステムは演算機の延長であり、本来のポテンシャルが引き出せず、また業務全体の効率化には直結しません。Cloudを利用しています。これは開発段階からクラウド環境でシステム開発を実施し、その開発中の機能をユーザーさんにテストしていただき、そのフィードバックを素早く開発に活かすことで現場に直結したシステムにします。利用者の増減やシステムの規模によって、サーバーのスケールアップや複数のサーバー展開などと連携し、そのシステムに適切な対応をしていきます。FileMakerを最大限活かせるメリットであり、このようなスケールアップができる環境と非常に相性が良いです。さいごに今回はClarisプラットフォームのポテンシャルについてお伝えしました。大規模のソリューションを開発ができる、かつ小さく始めて大きく育てることができること。FileMakerのポテンシャルがあることを意味しています。「規模が大きい」とは人それぞれの解釈です。今回の「規模の大きい」とは基幹系システムで数百名のユーザーが利用できる環境を提供している弊社の解釈になります。それでも現代のビジネスではスピードが早く、そのビジネスに直結したシステムを開発する場合に、目的を達成するためのシステムを素早く実現できることは、現代に求められている一つではないでしょうか。FileMakerのポテンシャルを最大限発揮することができるでしょう。この記事にご興味を持たれた方は、こちらの記事もおすすめです。FileMakerの3つのデメリットを解決する力。FileMakerを用いた効率的な在庫管理の実現方法。デジタル化で変わる業務環境!紙の管理が生み出すコストとその対策。FileMaker」という方程式。次のページデジタル化で変わる業務環境!紙の管理が生み出すコストとその対策。関連記事アナログ作業からデジタル化への転換の重要性。DX動向2024を読み解く!日本企業における成功の鍵。デジタル化で変わる業務環境!紙の管理が生み出すコストとその対策。