タイトル【倉橋浩一、じつはWebObjectsで飯食ってます】5分で作るWebアプリカテゴリーWebObjects, 倉橋浩一、じつはWebObjectsで飯食っています
作成日2000/11/14 13:32:26作成者新居雅行
こんにちわ。

今回からこちらに書かせていただくことになりました、倉橋浩一と申します。何者かといえば、えー、まさにタイトルの通りのことをやってます。たまたま縁あって、日本初のWebObjects専門書「WebObjects実践ガイドブック」(ソフトバンク・パブリッシング刊・なぜか書店ではあまり見かけませんが、絶賛発売中)という本の一部を書かせてもらいまして、それ以来、なんとなくWebObjects業界の端っこの方に生息するようになりました。WebObjectsのテクニカルサポート、自習用教材の販売、受託開発など、タイトル通りWebObjectsで生計を立てています。どうぞよろしく…記事の方も、商売の方も。

この連載では、できるだけJavaなどのプログラミング言語をいじらずにWebObjecetsで身の回りのことを片づけていくことをコンセプトとします。WebObjectsの“ファイルメーカーPro”のような側面をご覧いただきたいと思います。

すでにご存じの方も多いと思いますが、WebObjectsについて簡単にご紹介させていただきたいと思います。

Webページには、PageMillやGoLive!などを使って書いてhttpサーバにアップロードしたものがそのままの状態で表示されるページと、電子掲示板や株価情報ページなどのようにユーザの操作や外部から提供されたデータなどによって内容が変化するページとにわけることができます。前者をスタティックなページ、後者をダイナミックなページと呼びます。WebObjectsはダイナミックなページを生成するためのツールです。たとえば、電子掲示板を作ったことのある方は、perlだcgiだなどと大変な苦労をされたことだと思いますが、WebObjectsを使えば、その何十分の一の労力で、ダイナミックなページを生成することができます。

こういうものにデータベース処理の機能を加えて、「Webサーバ・アプリケーション開発・運用環境」といいます。WebObjectsもその一種ということになるのですが…私はちょっと違うと考えてます。「優れたデータベース・アプリケーション開発環境が、たまたまGUIとしてWebを選んでいる」だけではないかと。実際、WebObjectsの誕生は、Appleに買収される前のNeXT社で米国の金融機関などからも非常に高い評価を得ていたデータベース開発環境Enterprise Objects Framework(EOF)を、当時流行し始めていたWeb上で使用できないか?というスティーブ・ジョブズ氏のアイディアにより誕生したと聞いています。この生まれの違いに加えて、まだ世の中にWebが普及してすら居なかった時代、もちろんWebサーバアプリケーション開発環境などという概念すらない時代に誕生し、歴史を重ねてきました。Webがブームになってから出てきたような他の環境とは、熟成の度合いが違います。

◇データベースの検索ページを作成してみる

さて、あんまり能書きばかり長いのもなんですから、「ファイルメーカーProのような」側面をちらっとご覧いただこうと思います。とりあえず、WebObjectsに付属しているサンプルデータベースと、Wizard機能を使って、データベースの検索・表示・修正を行うページを作ってみます。ここで使用している環境は、Mac OS X Server 1.2 + WebObjects 4.5です。

まず、ProjectBuilderを起動し、新しいプロジェクトを作ります。プロジェクトを作るフォルダを指定し、名前を「WizardMovies」とし、最後にProjectTypeとして「WebObjects Application」を選びます。
 

「WebObjects Application Wizard」ダイアログが表示されますので、機能として「Wizard」を選びます。他に選択可能な機能としては、データベースアクセスの基本的な機能を処理するJava Appletを自動生成してくれる「Direct to Web」、デスクトップ・アプリケーションと同じGUIをApplet + Swingで実現する「Java Client」があります。また、もちろん、何もしない空白のページを選ぶこともできます(「None」)。デフォルトの言語として、ここでは「Java」を選択しますが、このほかに比較的習得しやすいインタプリタ言語の「WebScript」、実行効率に優れた「objective-C」を選ぶことができます。
 

データベースを参照するためにはeomodelが必要です。WebObjectsではファイルメーカーProと異なり、各種市販のデータベースを使用することができますので、データベースとして何を使用するか、データベース上の定義をWebObjectsアプリ上でどのようにして扱うかを設定するためのものです。非常に高度な機能を持ったツールなのですが、非常にシンプルに使うこともできます。すでに存在するデータベースから、eomodelを作ることにしましょう。「Create new model」を選びます。
 

前述の通り、使用したいデータベースを選ぶことができます。ここでは、WebObjectsに付属している「OpenBase Lite」を選択します。
 

OpenBaseのパネルが現れます。WebObjectsに付属している「Movies.db」を選びます。
 

次にデータベースから読み取った情報のうち、指示の必要な項目を選択します。処理に必要なテーブルだけを選んだりすることができるのですが、手っ取り早く、「必要なこと以外何も聞かないでくれい」、のモードにします。4つあるチェックボックスのうち、「Assign primary keys to all entities」だけをチェックします。データベースを使用する際には、レコードを特定するためのプライマリキーというものが必要ですが、ここでは「すべてのエンティティ(テーブルのこと)にプライマリキーをつける」という設定を選んだ、ということです。
 

「Choose the tables to include in your model(eomodelに取り込みたいテーブルを選んでください)」の画面で「MOVIE」を選んでNextボタンをクリックし、「Choose the entity to use in the Main page(メインページで使用するエンティティを選んでください)」画面でもそのままNextボタンをクリックします。
<続く>
関連リンクWebObjectsのページ