タイトル【倉橋浩一、じつはWebObjectsで飯食ってます】5分で作るWebアプリ(2)カテゴリーWebObjects, 倉橋浩一、じつはWebObjectsで飯食っています
作成日2000/11/14 13:48:0作成者新居雅行
◇ページのレイアウトを作成する

次は、メインページに使用するレイアウトを指定します。ここでは、「Selected Record(選択したレコードを編集する機能付き)」と、「Matching Records(条件に一致するレコードを表示)」を指定します。ラジオボタンを切り替えると、その都度、サンプルレイアウトが表示されますので、サンプルを見ながら希望するページを選ぶことができます。なお、ここで選ぶことができるのは基本的な9パターンだけですが、Wizardで作られたページは自由にレイアウトや機能を変更することができますので、ご心配なく。
 

ページは、データ入力修正部分、一覧表部分、検索条件入力部分にわけることができます。まず、「Choose attributes to display」で表示する項目を選びます。「title」「category」「rated」にします。
 

「Choose an attribute for the hyperlink」で、一覧表示されたデータの中から一つを選び出すためのHyperlinkとして使用する項目を選びます。ここでは無難に「title」にします。
 

さらに条件検索の対象となる項目を「Choose attributes to quary on」で選びます。これまた無難に「title」と「category」を使用します。さて、これでページを作るために必要な設定が終わりました。「Finish」ボタンをクリックします。
 

Wizardが設定された条件に基づいてプロジェクトを生成し、数秒後、ProjectBuilderが現れます。
 

ProjectBuilderはプロジェクトとして必要な各種ファイルやツール類の管理、ソースコードの編集などを行うためのツールです。ProjectBuilderには、プロジェクトを実行可能なアプリケーション形式にしたり(buildと言います)、でき上がったアプリケーションを起動したり(Launchと言います)することができます。では、お待たせしました、さっそく出来たアプリケーションを動かしてみましょう。
ToolsメニューからProjectBuild->Build & Runを選びます。すると、buildが終わるとアプリケーションが起動し、自動的にブラウザが立ち上がってWebページが表示されます。
 

「Title:」のところにとりあえず"a"と入力して、「Match」ボタンをクリックしてみると、"a"で始まる映画名が一覧表示されます。Hyperlinkから「Alien」をクリックすると、入力編集部分に「Alien」のデータが表示されます。
 

以上、文章にすると長いのですが、実際には3分ほどの作業です。

これだけのことならば、わざわざWebObjectsを使う必要はないかもしれません。ファイルメーカーProの方が値段も安いし、おそらく単にデータベースへの入力・修正・検索を行うだけであれば、ファイルメーカーProの方が簡単ですから。それどころか、WebObjectsはWeb上で動作しますので、どうしても印刷機能が弱く、基本的には(※)ブラウザ上での印刷機能しか使うことができません。

※基本的にはWebObjectsにはPDFを取り扱うための機能も設けられていますが、既存のPDFにフォームとしてのデータを表示するためのもので、完全にダイナミックなデータのパブリッシングを配慮した機能ではありません。ダイナミックにPDFページを生成するためには、ReportMil社などサードパーティーの製品を使用する必要があります。

◇WebObjectsを使う理由

では、なぜわざわざWebObjectsを使うのでしょうか。

<1>構成の自由度が高い
WebObjectsは現在Windows NT/2000、Mac OS X Server、Solaris、HP-UXなどの上で動作します。どの動作環境で動かす場合でも、ソースの書き換えは必要ありません。また、サイト構成の自由度が高いため、NTマシン1台だけの小さな構成から、Sunのワークステーションを32台つなげたような大規模サイトまで、基本的には同じプログラムを使って運用していくことができます。たとえば、必要最小限のハードウエアだけでWebサイトを立ち上げたとして、もしサイトが大繁盛してしまった場合でも、マシンを追加して設定を行うだけでOKです。これは大規模なeコマースサイトだけに限った話ではなく、たとえば企業内の情報交換用サイトを立ち上げたような場合にも、特にプログラマがそのための準備をすることなく複数のマシンで並列稼働させることができますので、一台のマシンの故障でサービスが停止してしまうということを防ぐことができます。

<2>パフォーマンスが高い
同じような規模のハードウエア上で動作させて少人数でアクセスしている分にはそれほど大きな差は感じられませんが、アクセスが殺到したような場合にはWebObjectsの方が高いレスポンスを得ることができます。

<3>Javaなど汎用的な言語でプログラミング可能
WebObjectsはObjective-C、WebScript、Javaでプログラミングします。Javaはご存じの通り、インターネット標準プログラミング言語としての地位を固めつつありますので、プログラミングのための情報も多く、またメモリ管理などの点においても通常はあまり意識する必要がありません。

一方、Objective-CとWebScriptは、あまり一般的な言語ではありませんが、データの型などに余計な神経を使うことなくプログラミングすることができますので、非常に生産性が高いという特徴があります。

◇つまりは…

ファイルメーカーProでは、プログラミング言語を使わないようにするために多大な神経が払われていて、それが使いやすさとなって現れています。しかし、ちょっとファイルメーカーProの流儀からはずれたことをしようとすると、プログラミング言語を使う場合よりむしろ複雑になってしまうようです。逆にWebObjectsは、『データベースへの入力・修正・検索を行う』以上のことをする場合に、ファイルメーカーProよりも簡単に処理することができます。たとえば住所録を作るような場合でしたら、ファイルメーカーProの方が簡単でいいものができると思います。一方、給料計算や財務会計システムならば、WebObjectsの方がファイルメーカーProの制約に悩まないで済みます。

まぁ、適所適材と言ってしまえば、それまでなんですが。

さて、次回以降何度かにわたって、「簡単な」Web版電子掲示板を作ってみます。『簡単な』が、「簡単な機能しかない」なのか、それとも「簡単に作れる」を意味しているのか…どうぞおたのしみに。

今回の成果物のダウンロードは以下のアドレスで(約280KB):
 figs/kurahashi/ser-001/mdo-kura-001.tar.gz

プロフィール:
倉橋浩一(くらはしこういち)
1978年よりフリーのエンジニアとして活動。1988年有限会社テクニカルピットを設立、現在に至る。アセンブラ、DOS、Windowsを経て、1993年よりMacintoshプログラマ。現在は、WebObjectsアプリケーションの開発者およびコンサルタントとして活動中。著書に「WebObjects実践ガイドブック」(ソフトバンクパブリッシング)がある。
関連リンク