Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

迅速で小回りのきくFileMakerを使ったWebシステム構築(後編)

ITエンジニアのためのFileMaker講座 第8回(後編)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/09/28 14:00

 本稿では、開発期間を短縮しつつ、小回りのきく柔軟なシステムを構築可能にする、FileMakerのインスタントWeb機能について、簡単なシ ステムのサンプルを例にとり解説しています。後編では、具体的な開発や設定の手順などを紹介します。

 前編では、FileMakerのインスタントWeb公開の特徴や、インスタントWeb公開機能を利用したサンプル「簡易CRM(Customer Relationship Management)」の概要について紹介しました。後編では、開発する視点で具体的に掘り下げていきます。

開発の全体像

 まず、サンプルのシステムを立ち上げるまでの全工程(9ステップ)をリストにまとめてみました。「解説」欄に記号があるステップは別途解説をつけていますので、ぜひ実際に試してみてください。

環境・開発・準備までの作業工程リスト
環境・開発・準備までの作業工程リスト

(※注)

  • FileMaker Pro 10またはFileMaker Pro 10 Advancedを「FMP10」と表記しています。
  • FileMaker Server 10 Advancedを「FMS10A」と表記しています。
  • 顧客サポートを「CS」と表記しています。

各工程の解説

 以下、前項で紹介した各工程の要点をかいつまんで紹介します。詳しくは記事に添付されているサンプルファイルを参考に、実際に触って確認してみてください。

『A-1』SQL外部データソースの登録

 [ファイル]-[管理]-[外部データソース]を選択し、[作成]ボタンをクリックして「データソースの編集」ダイアログを表示します。タイプに[ODBC]を選択して[指定]ボタンをクリックし、登録済みのODBC一覧から目的のものを選択して[OK]ボタンを押します。

 「認証」で[ユーザ名とパスワードを指定する(すべてのユーザに適用)]を選択して、外部データソースの「ユーザ名」と「パスワード」を入力し、[OK]ボタンを2回クリックすれば、外部SQLデータソースの登録が完了します。

『A-2』SQL外部テーブルをリレーショングラフへ表示

 [ファイル]-[管理]-[データベース]を選択し、[リレーションシップ]タブを表示します。初めは、内部のテーブルしか表示されていませんので、まず外部テーブルを表示します。

 左下のボタンをクリックすると「テーブルを指定」ダイアログが表示されるので、「データソース」に目的の外部SQLデータソースを指定します。リレーションを設定したいテーブルを選択して[OK]ボタンをクリックします。ここでは、2つのテーブル「customer」「employee」を選択しました。

 テーブルの項目どうしをドラッグすると、リレーションが設定されます。2つのリレーションを設定し終えると次のようになります(分かりやすく色分けしています)。

『B-1』CS詳細・更新画面 レイアウト作成

 CS詳細・更新画面のレイアウトを作成します(下図参照)。「メール送信」にはメールを送信するスクリプト(後述:D-5)を、「顧客詳細へ」にはCS詳細から顧客詳細へ遷移するスクリプトを設定します(後述:D-4)。

 また、「内容」に項目の入力許可を設定します(入力が許可された項目は、Webの画面上でクリックするとデータのエントリーモードになります)。

『B-2』CSリスト(一覧) レイアウト作成

 CSリストのレイアウトを作成します(下図参照)。レイアウト画面でのイメージ通りに表示されるWeb画面が作れます。すべての項目は入力許可なし(表示のみ)に設定しておきます。

 ボタンに直接レイアウトの切り替え機能を持たせることもできます。ここでは、[詳細]ボタンの設定で、「レイアウト切り替え」と「Web_CS_表示・更新」オプションを選択しています。

『B-3』顧客詳細画面 レイアウト作成

 顧客詳細画面のレイアウトを作成します(下図参照)。

 [CS修正]にCS情報修正のスクリプトを設定し(後述:D-6)、[CS情報追加]にCS追加のスクリプトを設定します(後述:D-3)。すべての項目を入力許可なしに設定します(表示のみ)。

 画面下部は、表示されている顧客の顧客番号に関係付けられたCS情報が、複数表示されるポータル画面です。

『B-4』顧客リスト(一覧) レイアウト作成

 顧客リストのレイアウトを作成します(下図参照)。

 [詳細]ボタンには、「レイアウトの切り替え」と「Web_顧客詳細」オプションを設定します。すべての項目は入力許可なしに設定します(表示のみ)。

『B-5』レイアウトの表示・非表示設定

 レイアウトの表示・非表示の設定を行います。

 左のチェックボックスでは、Web画面でユーザが利用できるレイアウトのみチェックするようにします。チェックを外したものは、Web画面でのレイアウトの切り替え項目に表示されなくなります(下図参照)。

『C-1』権限の作成 (管理者・利用者・閲覧のみ)

 管理者、利用者、閲覧のみといった権限を設定します。

 テーブル単位だけではなく、「レコード」「レイアウト」「値一覧」「スクリプト」の項目ごとに、閲覧・登録・修正の制限が行えます。値による条件も可能です。「拡張アクセス権」の[インスタントWeb公開によるアクセス]は、必ずチェックを入れて許可しておきます。

『D-1』アカウントを最新更新するスクリプト

 アカウントを最新情報に更新するスクリプトです。社員マスタを使ってファイルアクセス権の設定までできるようにしています。

『D-2』ログインの開始スクリプト

 ログインを行うスクリプトです。アカウント名は社員NOにしているので、そのまま社員名を取得して、グローバルエリアの項目に登録しています。

 また、[ファイル]-[ファイルオプション]を選択し、「このファイルを開くとき」の「実行するスクリプト」に指定して(ここでは「WEB ログイン処理」という名前)、ファイルを開いた直後に実行されるようにしておきます。

『D-3』顧客詳細よりCS追加のスクリプト

 CS情報を追加するスクリプトです。バージョン10になって、Webで使えるスクリプトの記述方法が増えました。詳細はスクリプト内のコメントを参照してください。

『D-4』CS詳細より顧客詳細へのスクリプト

 CS詳細から顧客詳細へ画面遷移するスクリプトです。顧客NOのリレーションに対応する画面に移動します。

『D-5』メール送信スクリプト

 メールを送信するスクリプトです。FileMakerに含まれるSMTPサーバー経由のメール送信機能を使って、メールを直接送信できます。既存のアドレス帳をインポートすることも可能です。

『D-6』顧客詳細よりCS修正のスクリプト

 顧客詳細からCS修正画面に遷移するスクリプトです。顧客NOのリレーションに対応する画面に移動します。

『E-1』インスタントWEBを有効にする。

 インスタントWeb公開の詳細オプションでは、ポート番号と、セッションのタイムアウト時間などが設定できます。

『F-1』各種設定(ファイル数・クライアント数・インスタントWEB)

 FileMaker Server Admin Consoleでは、ファイルやクライアントの管理を初め、さまざまな設定を行えます。インスタントWeb公開の公開設定もこの画面で行います(下図参照)。

『F-2』バックアップ・サーバスクリプト設定

 スケジュールアシスタントを使うと、スクリプトを指定した時間・頻度で実行することができます。

 FileMaker Pro 10で、システムファイル(テーブル)の登録情報取得・SMTPメール送信のスクリプトを組み、その後、サーバ基本機能のスケジュール・サーバスクリプト機能でスケジューリングさせると、管理情報を自動で定時にメールで受け取ることが可能です。

まとめ

 サンプルファイルを参考に、実際にFileMakerに触れていただくと、非常に直感的な操作で簡単にシステムを構築できることがお分かりいただけると思います。後からの機能追加も容易に行えます。

 また、ロジックとデータを一つのファイルとして管理するシンプルな構成のため、システムの移行も容易に行えます。実際、筆者が11年前にMac OS 9で作成した初期のFileMakerのファイルが、簡易コンバートを行うだけで、現在Windows Vista上で動作しています。

 一方、インスタントWeb公開は、高度な要件に直球で答える仕組みではありません。できるだけシステムの要件を整理し、機能を絞った設計が必要とされます(ただ複雑な仕組みがまったく作れないわけではありません)。

 筆者は昨今のビジネス状況がITシステムに求める条件として、高度な技術力を使うよりも、現場のユーザのニーズを重視し、よいタイミングですばやく仕組みを立ち上げられることが最も大切と感じています。基本情報(マスタ情報)は基幹システムで正確にきっちり一元管理し、個々のニーズに柔軟に対応でき小回りのきく情報システムを構築する手段として、FileMakerのインスタントWeb公開のような機能が活用してはいかがでしょうか?

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

著者プロフィール

  • 中村 孝仁(ナカムラ タカヒト)

    1985年頃からBasic・C言語を使ったオーダーシステムに汗を流し、1995年にユーザー志向なFileMakerと出会い、2001年にFileMakerソリューションをメインとした、パットシステムソリューションズ有限会社を代表取締役社長として、設立。 現在は、マイナー業界のオーダーシステムから、...

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5