SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

FileMaker Pro 実践チュートリアル(AD)

FileMaker Pro による大規模システム開発

第6回 アクセス制御/ネットワーク負荷の軽減/他システム間の連携を行う

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

この連載では、システム開発において採用が増えつつある「FileMaker」というデータベースソフトウェアについて、最前線で活躍するエンジニアがリレー形式でその魅力を紹介します。第6回は、FileMakerの機能と認知度の向上に伴い増加してきた、大きい規模でのシステム開発について解説します。

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

大規模開発への対応

 連載の第3回/第4回/第5回で、FileMaker Proによるプログラミングの基礎を機能ごとに紹介してきました。実際のソリューションでは、これら基本的な部分の組み合わせと積み重ねが、無数のアイデアや発想へとつながっていきます。そういったアイデアの数々は、また機会と場所を改めてお話したいと思いますが、今回はこれまでと少し立ち位置を変え、「大規模開発」について触れることにします。

大規模開発の分類

 「ソリューション」は、シンプルな「機能」を組み合わせた「システム」の集合体です。その集合体が大きくなれば「大規模開発」になっていくわけですが、まずはその形態を大きく3つに分けてみます。

  • 「利用者数が多い」という意味での大規模
  • FileMakerの機能と認知度の向上に伴い、大きい企業規模での導入が増加しています。クライアント規模が、一昔前は多くて30~50人程度だったものが、100~200人超での開発/運用が普通になってきました。
     
  • 「データ量が多い」という意味での大規模
  • FileMaker Pro 7以降、1つのデータベースファイルで管理できるデータ容量が「8TB」になっています。テキストベースでの容量が100MB、200MBになるのは当たり前で、GB単位でのデータを保持するケースも稀ではありません。
     
  • 「連携範囲が広い」という意味での大規模(他システムとの連携も含む)
  • ソリューションが基幹システムに近いところで運用される、あるいは基幹システムそのものである場合などは、必ずと言って良いほど他のシステムとの連携が求められます。

 いわゆる「大規模システム」には、これらの要素をすべて内包していることが多いとは思いますが、これらの視点からFileMakerの開発における留意点についてを話します。

利用者数が多いシステム

FileMakerにおけるデータ操作の簡易さと、それによる危険性

 利用者が増加するということは、多くのデータに多くの人が触れるようになるということです。そこで重要になってくるのが「データの安全性」です。安全性の対象には、データの漏えい以外に、改ざんや消去による紛失なども含まれます。

 FileMakerを一つのツールとしてとらえたとき、その操作性の良さから、データの集約、整理、内容の正規化、書き出しなどの作業が容易です。転じて便利な反面、構築するシステムの制御がおろそかになると、ふとした操作で先述のようなトラブルが発生しまう危険性をはらんでいます。システムの規模や性質にもより、これらの制御をどこまで行うかを見極めることも重要です。

制御の手法

 FileMakerで、さまざまなアクセス規制を行う基本は「アカウントとアクセス権」による管理です。システム起動時に認証するアカウントに対して、テーブル/レイアウト(画面)/フィールド(項目)の表示/編集を制限することが可能です。

 また、FileMaker Pro Advancedを利用すると、画面上部に表示されるメニュー構成(ファイル、編集、表示など)をカスタマイズし、それぞれの画面上で不要なメニューを非表示にできます。不用意な操作や不正な操作を防ぐのに有効です(「カスタムメニュー」の作成には、FileMaker Pro Advancedが必要です)。

図1 特にメニューをセットせずに表示されているため、FileMaker Proの標準メニューが表示されています
図1 特にメニューをセットせずに表示されているため、FileMaker Proの標準メニューが表示されています
図2 カスタムメニューがセットされているため、最小限のメニューしか表示されていません
図2 カスタムメニューがセットされているため、最小限のメニューしか表示されていません

 さらに、「誰が、いつ、どのデータに対して、何をしたか」を管理できればよいですが、FileMakerの標準機能には、いわゆるトランザクション管理がありません(それぞれのレコードに最終更新者や最終更新日時を記録することは可能です)。

 これを実装するには、別途その仕組みを組み込む必要があります。場合によって手法は変わりますが、一例を挙げると次のようなものがあります。

  • データ編集の際、対象となるレコードを編集するのではなく、複製したレコードに対し行い、元レコードには「無効」フラグを立てる。
  •  
  • データ削除に関しても、データを実際に削除するわけではなく、「無効」フラグを立て「削除扱い」のデータとする。

 このようにすることで、「誰が、いつ、どのデータに対して、何をしたか」が明確になり、紛失したデータをある特定時点まで復旧することも可能になります。

直感的なUIデザイン

 もう一点。これは少し視点が異なりますが、利用者の多いシステムで念頭に置くべきことがあります。それは、「感覚的に操作できるユーザーインターフェイスデザイン」です。

 利用者が多いと大変なのが、システムの操作方法の落とし込みや、それに対する問い合わせの対応です。これらを事前に踏まえて、ボタンの配置や、必要最小限の情報の配置を考えていくことが重要です。

 幸い、FileMakerはそういったレイアウトデザインや配置に関して、開発者に高いスキルを求めてきません。ドラッグ&ドロップによる直感的な操作で行えるため、配置作業に手間がかからず、クリエイティブな思考に注力できます。「センス」の多少はあるかもしれませんが、コツとしては分かりやすい画面構成を心掛けるとよいでしょう。

次のページ
データ量が多いシステム

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
FileMaker Pro 実践チュートリアル連載記事一覧

もっと読む

この記事の著者

永井 求 (ナガイ モトム)

株式会社ジュッポーワークス IT solution ディレクター。1995年に入社。当時、自身の制作データ管理のために、事務所の傍らに置いてあったソフトに手を伸ばす。それがきっかけとなり、この10数年の間にそのソフトを活用しての開発実績を数多く積む。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2116 2008/09/04 18:47

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング