TidBITS: Apple News for the Rest of Us  TidBITS-J#585/25-Jun-01

また MacHack の時期がやってきた。Adam がこの年次デベロッパー集会で Mac OS X が容認されたことを Dearborn からレポートする。そのまま読 み進んで MacHax Group の Hack Contest でどのハックが優勝の栄誉を受 けたかを知り、その後 Apple 社の高性能な Web アプリケーション開発キッ トである WebObjects に関する Jonathan Rentzsch 氏の外観の第 2 部に ダイアルを合わせよう。ニュースでは、Mac OS X 10.0.4 が多数の問題を 解決し、Extensis 社が Suitcase 10 をリリースしている。

目次:

Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
問い合わせは <info@tidbits.com> へ、感想は <editors@tidbits.com> へ。

TidBITS 日本語版は TidBITS 日本語版翻訳チーム メン バーのボランティアによって翻訳・発行されています。TidBITS 日本語版 では翻訳に協力してくれる方を募集しています。詳しくは以下の URL を 参照してください。

<http://jp.tidbits.com/join_us.html>


今回の TidBITS のスポンサーは:


MailBITS/25-Jun-01

(翻訳:西村 尚 <hisashin@hotsync.co.jp>)
(  :蒲生 竜哉 <gamo@lib.bekkoame.ne.jp>)

Mac OS X 10.0.4 アップデート公開 -- Apple は Mac OS X をバージョ ン 10.0.4 にアップデートした。今回のアップデートでは USB のサポー ト強化、Classic 環境の改善と新しい 17 インチの Apple Studio Display モニタ( Tidbits-581_ 「フラットへ」を参照されたい)のサポー トが加えられている。このアップデートはソフトウェアアップデートコン トロールパネルから入手できるほか、2 種類の独立したインストーラ (Mac OS X 10.0.3 をアップデートする 12MB のパッケージとバージョン 10.0.0 から 10.0.3 のどのバージョンからもアップデート可能な 19.3 MB のパッケージ)としてもダウンロード可能だ。

<http://www.apple.com/macosx/>
<http://db.tidbits.com/getbits.acgi?tbart=06437>
<http://til.info.apple.com/techinfo.nsf/artnum/n75142>
<http://til.info.apple.com/techinfo.nsf/artnum/n75141>

嬉しいことに、今までの Mac OS X アップデートとは違い今回 Apple は 10.0.4 で何が変わったのかをちゃんと文書化している。今回の目玉は共 有されている FileMaker Pro 5.0 書類に Classic 環境から TCP/IP 経由 でアクセスした際の機能強化や PowerBook がスリープしている時のバッ テリ消費の向上、iTunes がより多くの他社製 USB CD-RW ドライブに対応 したことなどだ。しかし、「最新バージョンの SSH を同梱した」などと いった、どのバージョンが同梱されていてそれによって何が直るのかを書 いてくれればもっと判りやすいのに、と思わせるような曖昧な記述もいま だにいくつか見られる。 [JLC]

<http://til.info.apple.com/techinfo.nsf/artnum/n106360>

Suitcase 10 出荷 -- Extensis 社は同社のフォントマネージメントツー ルのロングセラーに数々の新機能を加えた Suitcase 10 をリリースした。 この新バージョンでは多くの人気ソフトウェアが起動されたときに対応し たフォントを自動的にロードすることができる application sets の作成 機能が加えられた。ちなみに QuarkXPress XTension もQuarkXPress 書類 内で使われているフォント(グラフィックに埋め込まれているフォントを 含む)を自動的に開く機能を有している。Suitcase 10 は複数の Master fonts をサポートしたほか、タイプフェースを参照するための utility FontBook が同梱され、コントロールバーでfont setsを管理するためのモ ジュール、壊れたフォントを見つける機能、さらにはフォントコンフリク トの解決機能が含まれている。Suitcase 10 は Mac OS 8.6 から 9.1 で 動いている PowerPC ベースのマシンでのみ動作し、価格は 100 ドルだ。 以前のバージョン、あるいは競合他社のフォントマネージメントソフトウェ アからのアップグレードもあり、こちらは 50 ドルとなる。Suitcase 10 の購入者は今年後半に発売される Mac OS X 版を無料で得ることができる。 Suitcase 10 のダウンロードサイズは 8.2 MB だ。[JLC]

<http://www.extensis.com/suitcaseten/>


Mac OS X を MacHack する

by Adam C. Engst <ace@tidbits.com>
(翻訳:飯橋 真紀 <k-m611@ma4.seikyou.ne.jp>)
(  :篠原 慎一 <sshino@mbd.sphere.ne.jp>)
(  :斎藤 美礼 <mirei@x.age.ne.jp>)

今年の MacHack デベロッパー会議で私の考えていることが Macintosh 業 界の論点となり得ることがはっきりした。Mac OS X 出荷から約 90 日が 過ぎて、デベロッパーらは Mac OS X の扱いに親しむためのある程度の時 間はとれているし、経験を積んだユーザーは Mac OS X の欠損や問題点を 認識し始めている。私がこの会議でぜひとも知りたかったのは、どれだけ の人々が Mac OS X を扱うことになるのか、Mac OS X 用にいくつのハッ クが作られるのか、そして Mac OS X に関する一般的な方向性は何だろう かということだった。MacHack はいつものようにかなり面白いものだった が、その Mac OS X 部分については Magic 8 Ball 風に表現してみると 「将来暗し。また挑戦してね。」といったところだ。

<http://www.machack.com/>

MacHack は慣例どおりの真夜中の基調講演が Macintosh を最初につくっ たチームメンバー 7 名とのパネルディスカッションとして始まった。一 見したところそれは変わった判断のように思えた。Mac への貢献を 20 年 も前に果たした人々を 90 日前に出荷された OS の見解が主な話題の一つ とならざるを得なかった会議にどうして招待するだろうか。パネルメンバー がお互いに話をしたり冗談を交わしたりといった一般的な娯楽価値はさて おき、基調講演がより深いレベルで作用していることを私はしだいに実感 した。それは初期の Macintosh クリエーターから今日の Macintosh 世界 のデベロッパーまでの象徴的なトーチの通過であった。テクノロジーの寿 命は長くはない傾向にあるが、Mac の世界には、そして特に参加者が毎年 舞い戻ってくる MacHack のようなイベントでは、強い歴史感が存在する のだ。過去を語るべく Andy Hertzfeld 氏、Bill Atkinson 氏、Caroline Rose 氏、Randy Wigginton 氏、Donn Denman 氏、Jef Raskin 氏、そして Daniel Kottke 氏のような人々を招いたのは Mac OS X の将来に向かって 前進していながらにして過去との繋がりを提供するものだった。

Apple 社の共同設立者 Steve Wozniak 氏による第 2 夜の基調講演はより いっそう楽しいものであった。というのも実物の Woz 氏は実に親切で好 感のもてる陽気な人物であることを披露するからだが。自分のハックづく りの話や冗談とおふざけで彼は聴衆を大いに喜ばせた。(ちょっとした遊 びをする機会があるたびに彼が使う 2 ドル札数枚が印刷された目打ちの あるシートへのおふざけも多少あった。多くのアメリカ人が 2 ドル札を 認めないことと、目打ちのあるシート上の 2 ドル札を買えることを納得 する人がはるかに少ないことから盛り上がるのだ)。面白おかしく、Woz 氏は Steve Jobs 氏をからかうことは根本的にあり得ないことを語った。 彼の話から、Jobs 氏はおふざけもする類いの人物ではまったくないとい うことと、Woz 氏のような根っからのふざけやでさえそれを認めていると いう印象をうけて私は会場を後にした。

<http://www.bep.treas.gov/store/uc2.htm>

個性の反映 -- これらの人々に会うのは、歴史的見地からだけではなく、 彼らの個性が Macintosh に反映されているのを見ることができるという 点からも興味深いものだ。Andy Hertzfeld 氏は Mac に彼の熱意を吹き込 み、さらに Macintosh プロジェクトに対する Woz 氏流の遊び心を持ち込 むよう試みたと明言した。Bill Atkinson 氏は Mac に情熱を持ち込み、 Jef Raskin 氏は彼の知的な厳格さとエレガンスに対して強い欲求とを与 え、Caroline Rose 氏はディテールへの明快さと配慮とを加える貢献をし た。

その他多くの人々が彼らの印を Mac につけたことに疑いの余地はなく、 中でも最も重要な人物は間違いなく Steve Jobs 氏彼自身だ。不可能に思 えることを行うよう他の人々に求めるという彼のやり方と、そして彼がプ ロジェクトに対して与えたサポートなしに(特に当初の凶年の数年間)、 Macintosh の成功はあり得なかったことに疑問はない。我々が聞いた多く の逸話は Steve Jobs 氏についてであり、これらの話をした人々が異なる 意見を持っている点を考慮しても、そこから浮かび上がってくるのは、自 分を取り巻く世界を可能な限りコントロールしたがっている男の像だ。

Mac OS X の挑戦 -- Jobs 氏のコントロールしたいという欲求はここ数 年で増加しているようだ。小さい例を 1 つ挙げると、彼の主張がプログ ラマーはアーティストで自分の仕事にサインすべきだ、というものから、 現行の Apple のソフトウェアの About ボックスからクレジットを削除す るというものへ変わっている。ここに Mac OS X での重要な問題がある。 初代 Macintosh と同様、大勢が関わった仕事であるが、Mac OS X が世に 見せているきれいな顔からはその人たちが見えないように思える。かわり に、Steve Jobs 氏と彼の補佐役である Avie Tevanian 氏の姿が見えるよ うだ。どんなによく見ても Mac OS X について議論の余地がある点がある とき(ファイルネームの拡張子をアプリケーションへのリンク付けに使う といったレベルなど)、決定の理由は結局「Avie 氏がそう言ったから」、 「Steve 氏がそうしたかったから」となることがあまりにも頻繁にある。 Steve 氏も Avie 氏も素晴らしいかもしれないし、Mac OS X の成功に必 要かもしれないが、だからといって彼らが大きな間違いをしでかさないと いうことにはならない。

MacHack の開発者のコミュニティの中で Mac OS X へ非常に熱狂している 様子はほとんど見られなかった。メインの仕事用マシンで使用している人 はほとんどいなかったし、ハックコンテストに出されたハックのうち Mac OS X を必要とするものはたった 10 % しかなかった。Mac OS X で一番盛 り上がっているのは、当然のことだが、Mac と Unix が好きで使用してい る人々で、それでも重要なのは Unix の部分で、Mac OS X の Macintosh の部分ではなかった。Woz 氏と初代の Mac チームのメンバーは基本的に 次のような態度で一致していた。彼らも Mac OS X の Unix の基盤は気に 入っているが、Aqua インターフェースに関しては否定的な意見を述べた。 Woz 氏は特に遠慮がなく、Mac OS X はまだまこれからで、「プライムタ イムへの準備ができていなかった」と感じたとのことだ。

ある友人が言ったように、現在の Mac OS X はアートプロジェクトのよう で、革新的なヒューマンインターフェースのデザインを持ち、厳密なユー ザビリティのテストを行ったオペレーティングシステムではないように思 える。MacHack での Microsoft 社の元 Macintosh プログラマーによる、 やがて姿を見せる Windows XP についてのデモンストレーションと議論が 何かを示しているなら、それは Microsoft が Macintosh を偉大にした設 計哲学をいくらか会得したということである。もしそれが真実なら、 Apple はねらいをもっと高いところに定めないと、逆に負ける危険がある だろう。

Apple もこの心配を認識している。あるセッションで、MacHack の参加者 が Mac OS X での問題トップ 100 のリストをたやすく作成したが、翌日 の Apple のフィードバックセッションでは、Apple の Steve Glass 氏と Tim Holmes 氏が小さな批判にもほとんどすべて「はい、分かっています。 対処中です。」と言ってあっさり片付けていた。あの回答は外見的には重 要だ。Mac OS X での目障りな漏れや間違いについて現実的に極めて可能 性の高い回答は、Apple は問題をまったく認識していない、というものだっ たからだ。まだ未解決の疑問は、まさに Apple がいつ指摘された問題に 取り組むか、というものだが、この 90 日間で Mac OS X のバグフィック スが 4 回リリースされたことは、将来の動向を示唆するものだろう。もっ と大きなリリースのはっきりした日付けはニューヨーク市で 7 月に開催 される Macworld Expo で、その後は来年の 1 月のサンフランシスコでの Macworld Expo だ。

Apple の持つ有利なところ、そして Microsoft が Windows で決して真似 することができないと私が考えるところは、かなりの知識と関心を持った Macintosh ユーザーと開発者のコミュニティだ。我々は Apple と Macintosh に何が起こっているか気にかけている。また、Mac OS X が我々 がほかの何よりも好んで使いたくなるインターフェースを確実に進化させ る助けになるのは、Mac OS X のベータ期間中に Apple へ殺到していた フィードバックの類を継続することだけである。


MacHax Hack Contest 2001

by Adam C. Engst <ace@tidbits.com>
(翻訳:今井 律子 <poorsun@mb.neweb.ne.jp>)
(  :西村 尚 <hisashin@hotsync.co.jp>)

MacHack デベロッパー会議では色んなことが起こるが、この催しの核とな るのは MacHax グループによる毎年恒例の Hack Contest だ。ここではプ ログラマーに有用性や安定性、あるいは利便性すら気にかけずにコードを 書く機会が与えられる。にもかかわらず、毎年出品されるハック達は Macintosh の遊び心にあふれた側面以上のものを見せてくれ、中にはやが てシェアウエアや商品にさえなっていくものもある。もちろん、そうした ハックは観衆に「実用向きだぁ!」という叫び声を浴びせられる恐れはあ るが、といってそのことで、これまで MacHack で良いアイデアを携えた プログラマーが手を止めることはなかった。

<http://db.tidbits.com/getbits.acgi?tbser=1199>

私のハック達 -- 私は初めてのハックで「実用向き!」と叫ばれる恐れ はなかった。昨年、Eudoraの auto-correction 機能を明らかにした私の ハックへの報賞は、木片で作られた 4 フィートの棒だった。なぜハック コンテストの主催者らがそんなものを私への賞として選んだのかはどうで もよくて、どうやってそれを家に持ち帰るかということも、その賞の含む ところだった。空港で 4 フィートの棒について、何かしら説明をするこ とになるだろうからだ。出発する段になって突然妙案が浮かび、ホテルの 部屋のバスタブの下にしっかりとその棒をくさびで止め、カレンダーに来 年も 323 号室を予約すること、とメモした。今年、くだんの部屋を予約 してチェックインし、例の場所にまだ自分の棒があるのを見つけ大喜びし た。ハックについて、私は革手袋をはめてその棒を大袈裟に振り回しなが ら、この話を繰り返した。観衆にその話を関連づけるために、ホテルを記 憶装置に、また棒をバスタブの下で書きあげたデータに例え、しばらくし てファイルシステムに私のデータを保存するブロックのアドレス(部屋番 号)を訊いた。私のデータへのアクセスタイムはひどいものだったが、ま じまじと棒を見つめて、どこもデータは壊れていなかったと告げると笑い が起こった。ああ、もしそれが信じられないならば、今年は私のデータを 別の場所にコピーできるかどうか調べよう。もしできたら、今年受けた紙 やすり賞でそれを書き直してみよう。

<http://db.tidbits.com/getbits.acgi?tbart=06103>

私はまた Leonard Rosenthol 氏や Richard Ford 氏と共に、統計用サー バを設計したり実装するための別のハックにも参加し、我々 Eudora ユー ザーが他の人との使用統計を比べられるようにした(Eudora 5.0 とそれ 以降のバージョンでは、XMLファイルの詳細な使用統計が見られる)。 Leonard が XML ファイルから数値を取り出して Perl スクリプト群にアッ プロードする Eudora プラグインを書き、結果をグループ化して並べ替え るその Perl スクリプト群を Richard が書くというのが私たちの計画だっ た。

ただ一つの問題は、我々は金曜日の夕食後から作業を始めたので、真夜中 にハックコンテストが始まってからコンテストの間中、ほとんどの時間を 作業に費やしたとはいっても充分ではなかったことだ。Mac OS X は我々 の多大な努力をクラッシュで妨害した。開発ツールをインストールする 時、気違いじみた権限の問題、融通のきかないディレクトリ構造などが引 き起こす他の問題などからである。けれども、コンパイラから新たに吐き 出される Leonard のアプリケーションを走らせたり、その出力を Mac OS X の TextEdit で自作した Web ページに書き出したり、私がプレゼンを 始める最後の瞬間まで Richard が私のマシン上で遠隔で手を加えていた Perl スクリプトから Apache に渡される結果を確認したりすることは、 それまで通り問題なかった。

ティーンエイジャーのハック -- 今年の 93 のハックの多くは、まだ学 校通いの「ティーンエイジャー」ハッカーたちの大グループによるものだっ た。最年少はわずか 17 歳である。Justin Christie 氏と Paul Scandariato 氏の若々しいハックは実益も備えていた。これは iWake と 呼ばれる REALbasic アプリケーションで、Mac がスリープから起ち上が ると常に Wakeup Items フォルダ内の項目を起動させるものだ。ティーン エイジャーチームの Mark Johns 氏、Justin Lee 氏、Charles Melby-Thompson 氏は、Mac OS 9 の拡大ウインドウのレクタングルを Mac OS X 下の Carbon アプリケーションにレストアする Chia Windows X を 書いた。Daniel Fox 氏は、Hackable AirPort Network Seeker という名 の AppleScript を書いた。これは AirPort ネットワークの領域内に入る 場合に文字で注意を促すように設計されている。最後に、Andy Furnas 氏 は、iTunes のコピーをハックして、iTunes の前の SoundJam MP のいく つかのリソースを iTunes にコピーすることで、iTunes をスクリプタブ ルにした。今年のティーンエイジャーたちの展示は印象的だった。 MacHack 体験がこういった子供たちの学習を助けているのを確認し、年ご とに大きくなっているのはすばらしい。

私の微力とティーンエイジャーハックがいっしょになり、このコンテスト のデモを全部見たデベロッパーたちが選んだ 2001 年の上位 5 ハックは 次のようなものだ。

第 5 位:Palm Finder 2 -- MacHack で続いているものは Macintosh を中心にしたものがほとんどだが、代わりのプラットフォームも一般に歓 迎されており、Palm OS はこのハックコンテストでたびたび強力な支持を 受ける。今年は Lucius Kwok 氏の Palm Finder 2 が、小さな Palm 画面 に Macintosh の Finder を異常に正確に表現しているということで、第 5 位を獲得した。もしこれが Jesse Donaldson 氏の HFS- と結び付いて いたらもっと驚異的だったろう。HFS- は、ファイルと拡張ストレージカー ドにアクセスして iBook のハードディスクを 10 GB のストレージカード として使う Palm OS 4.0 の新機能を利用するものだ。

第 4 位:Crrrhaaack -- Inspiration は、Default Folder、Screen Catcher などのシェアウェア・ユーティリティの作家である Jon Gotow 氏の不幸から生まれた。Jon はカンファレンスの初日に自分の PowerBook を偶然に落してしまい、スクリーンが割れて下部 2/3 の描画がだめになっ てしまった。割れた LCD を嘆く代わりに、Jon は Crrrhaaack を書いた。 これは使用可能な部分(この場合は 1024 x 260)だけに画面のサイズを 変更するシステム拡張である。アプリケーションは画面の機能する部分を 選んでインターフェースを提供する。もし Jon がプレゼンテーションの 間に、自分の壊れた PowerBook でこのハックを 書いた ことに触れて いたら、もっと上位を獲得していたかもしれない。

<http://www.stclairsoftware.com/>

第 3 位:AirPort Radar -- 3 年前の MacHack で、ハッカーたちの集 まるホテルの広間のあらゆるテーブルには Ethernet ハブが置かれていた。 そのほとんどは昨年消えてしまった。多くの人たちは AirPort カードを 持っていて、ワイアレスネットワークを代わりに使うことができたからだ。 そして今年、ほんの数人の人たちを除いた全員は、ホテルのあちことに置 かれた 6 基の AirPort Base Station に完全に依存していた。ワイアレ スネットワーク状況を利用して、Mike Neil 氏と Eric Traut 氏は AirPort Radar を書いた。これは複数の AirPort Base Station からの信 号の強さの違いを使い、三角測量して移動中でさえも PowerBook の場所 を表示するのだ。

第 2 位:AquaShade -- Dock にウインドウを最小化するときの Mac OS X の「精霊効果」はデモの役に立ったが、多くの Macintosh ユーザーは Mac OS 9 のウインドウシェード機能がないことを嘆いていた。この機能 でウインドウをタイトルバーに巻き上げることができたからだ。Nicholas Riley 氏と Avi Drissman 氏は、 AquaShade ハックでこの問題を修正し ようとした。これは Mac OS X の最小化ボタンにウインドウシェード機能 を取り戻すものだ。最小化ボタンをクリックする際に Control ボタンを 押し続ければ Dock への通常の最小化を行い、Option を押し続ければ開 いているウインドウのすべてのウインドウシェード状態を切り替え、 Shift を押し続ければウインドウシェードの動きをもっと迅速にする。 「実用向きだ!」という嘲笑的な叫び声がこのデモの間やかましかったが、 そのことで AquaShade に第 2 位を与えた投票も称賛も止められることは なかった。

第 1 位:Apple Turnover -- ほとんど役に立たないハックという偉大 な伝統にしたがい、Mac Murrett 氏の Apple Turnover が、ライブな画面 イメージをぐるぐると回転させる印象的な技術により第 1 位を獲得した。 apple Turnover は、異なるモデファイアーキーで画面を時計回りと反時 計回りに回転させたり、特定の角度に移したりできる。Apple Turnover は Velocity Engine をうまく使って作られているが、おそらく決定要因 はデモされた asciiMac との互換性のようだった。asciiMac は、ASCII グラフィックを全般的に使った Macintosh インターフェースを表示する 数年前のハックである。

この執筆時点では詳細を見ることができないが、通常はすべてのハック (多くはソースコードつき)を含む CD-ROM が MindVision ストアで購入 できるようになる。詳細は MacHack Web サイトを参照してほしい。

<http://www.machack.com/>


WebObjects 物語、パート 2

by Jonathan Rentzsch <tidbits@redshed.net>
(翻訳:三好 泰子 <yokomo@mio.to>)
(  :斎藤 美礼 <mirei@x.age.ne.jp>)
(  :吉田 節 <benjamin.takashi@nifty.ne.jp>)

先週は、アプリケーションサーバの基礎とアプリケーションサーバが何年 にも渡ってどのように発展してきたかについて、Apple の WebObjects に 使用された情報化の時代のアプローチまでを語って終わった。 WebObjects が実際に何を提供しているかをより綿密にみていこう。 <http://db.tidbits.com/getbits.acgi?tbart=06465>
<http://www.apple.com/webobjects/>

WebObjects のアーキテクチャ -- 典型的な WebObjects のアプリケー ションは、2 つのアダプタの間に位置している。1 めのアダプタは、アプ リケーションと Web サーバを接続するもので、その一方、2 つめのアダプ タはアプリケーションとデータベースを接続するものである。

    Web サーバ <-> WebObjects アプリケーション <-> データベース

Web サーバは、Web 上でユーザーから HTTP 経由でのリクエストを受け取っ たり、これに対して応答したりする。即ち、Web サーバは、ユーザーが見 ている Web ページを構成するアプリケーションのインターフェースの転 送の処理を行っているのである。Apple は、Web サーバが要求された WebObjects のアプリケーションへリクエストを渡すことを可能にするア ダプタを提供している。(一台のサーバでも同時にたくさんのアプリケー ションを走らせることができる。)WebObjects は、2 つのタイプの Web サーバのアダプタを提供している。1 つは、少し遅いがポータブルな Common Gateway Interface(CGI)のアダプタで、2 つめは、Apache ある いは、Microsoft の Internet Information Server のような特定の Web サーバのための速めのアダプタセットである。また、WebSTAR も WebObjects のアダプタと一緒に出荷されている。

WebObjects のアプリケーションは、別のアダプタを経由してデータベー スと通信する。データベースアダプタは、SQL を生成、その SQL をデー タベースへ送信、テキストベースの結果を受信、そして結果をオブジェク トへと解析する。SQL の生成は、アダプタレベルでなされるため、この SQL は特定のデータベースにとっての最適化が可能である。

このアーキテクチャは、それぞれの側面を処理するさまざまなツールを使 うことによって、WebObjects がデータアクセス、インターフェース、そ してアプリケーションのロジックを分離させることを可能にしている。こ れらのコンポーネントが同じマシン上で稼働している必要はない。たとえ ば、WebSTAR が稼働している Mac OS 9 のWeb サーバは、Mac OS Server 10 が稼働しているマシン上の WebObjects とやりとりができる。同様に このマシンは、Windows 2000 システム上のデータベースへ接続すること もできるのである。

データアクセス:EOModeler -- WebObjects のコアの部分には他の競合 ツールに含まれるもののどれにも似ていないものがある。Enterprise Objects Framework(EOF)だ。この驚くべき技術によって、簡単に操作で きるソフトウェアオブジェクト(低レベルのテキスト形式でありデータベー スごとに異なる可能性がある SQL のかわりに)を通じてプログラマーが データベースにアクセスできる。

最初のステップは、EOModeler と呼ばれる強力なアプリケーションを使用 してデータベースのモデルを作成することだ。EOModeler はデータベース のモデルの作成と管理を行っている。モデルはデータベースの配置方法に 関する情報を含んだファイルだ。表の名前、行の名前、データタイプなど の情報を含んでいる。これは手の込んだ仕事だが、EOModeler によって簡 単な方法で新しいモデルを作成したり、既存のデータベースに基づくモデ ルを得たりできる(私にとっては魔法のようだ)。

このモデルを手にし、EOModeler は次に自動的に Java のコードを生成し、 データベース内のオブジェクトを作成、更新、削除する。データベースの 表が Java のクラスとなり、行がクラスのフィールドとなり、列がクラス のインスタンスとなる。このように作成されたクラスは EOF を使用して データベースを管理する。次に、EOF はアダプタを使用してデータベース と接続する。アダプタは SQL コードを生成し、それをデータベースに送 り、返答をパースする。

こう聞くとややこしく思われるかもしれないが、要するに、特定の Web アプリケーションを開発するときに低レベルの SQL を扱う必要がないと いうことだ。高レベルのオブジェクトのみを扱えばよいのである。EOF と データベース用のアダプタが嫌な SQL の生成とパースの面倒をすべて見 てくれる。また、EOF はアダプタを使用してデータベースに接続するので 特定のデータベースに縛りつけられることもない。たとえば、FrontBase から Oracle に変えても Web アプリケーションを修正する必要はない。

インターフェース:WebObjects Builder -- 愛情をこめて「WOBuilder」 として知られるこのツールは WYSIWYG HTML エディタであり、FileMaker 社の Home Page、今は亡き Symantec 社の Visual Page、または Adobe 社の PageMill に似ている。WOBuilder は古いエディタで最新式ではまっ たくないが(たとえば、Cascading Style Sheets へ対応していない)、 ほかの HTML エディタが持っていない機能を提供している。

WOBuilder はオブジェクトを知っている。たとえば、データベースのレコー ドをすべて表示し、動的に生成される HTML のテーブルをグラフィカルな ツールを使用して作成するのは普通のことである。それはほかのツールで も当たり前であるのだが、WOBuilder が独特なのはそういった表を作成す るのにほとんどタイプする必要がないことだ。クリック、ドラッグ、ドロッ プだけでよい。

また、WOBuilder は情報がアプリケーションに流れ込む方法をドラッグ & ドロップで管理を簡単にしている。たとえば、ユーザーが自分の名前をタ イプできる編集可能なテキストフィールドを含む Web ページを簡単に作 成する。そのページの送信ボタンを押すと、WebObjects は情報をプログ ラマーが欲しているところに魔法のように正確に置く。返答のパース、テ キストのデコード、オブジェクトの発見、データの実際のコピーはすべて プログラマーの代わりに WebObjects フレームワークが行い、プログラマー は思うがままにアプリケーション独自の機能に集中できる。

WebObjects はページの HTML へ最低限しか侵入しない。ページに加えら れたコンポネント 1 つにつき、start/stop タグを 1 組しか追加しない。 タグはコンポネントの存在と名前を宣言する最小限のプレースホルダとなっ ている。コンポネントのタスクに必要なほかの情報はすべて別の 「bindings」ファイルに保存されている。

ロジック:Project Builder -- Project Builder は多言語対応(C、 C++、Objective C、および Java)の統合開発環境だ。業界での競争力を 持ち、大まかに言えば Metrowerks 社の CodeWarrior に匹敵する。Apple は Project Builder を使用して Mac OS X のかなりの部分を構築した。 ロジックプロセスの要求がどんなに高くても、プロジェクトの邪魔になっ たりはしない。

これらのツールはそれぞれでも印象的だが、一緒に作業するために書かれ ている。データベースのオブジェクトを EOModeler から WOBuilder の Web ページにドラッグできる。WOBuilder は Java のコードを Project Builder のプロジェクトファイルからパースしコードの生成を行ってくれ る。モデルファイルや Project Builder の Web コンポネントをダブルク リックすると、それぞれ EOModeler と WOBuilder が起動する。

WebObjects の弱点 -- この記事を読み終えた時に、WebObjects は良い ことづくめだと思って欲しくはない。まず、どんどん登場している他のツー ルとは違って WebObjects はフリーでもオープンソースでもない(以前は 接続数無制限ライセンスが 50,000 ドルもしたのに比べれば、Apple 社が 改定した 700 ドル均一という価格は相当に魅力があるけれども)。この は多くの中小企業にとって利用をためらう理由になり得る。

WebObjects のデモは、どのようにしてコードをまったく書かずに実用的 なデータベース利用 Web アプリケーションを作れるかを示している。し かし WebObjects のまともな応用にはプログラミングは 必要 である。 さらに WebObjects の学習は熟練プログラマーであっても非常に難しい。 情報化時代のデザイン(この記事の第一部で扱った)はインターフェース とロジックとデータを分離しているが、WebObjects のデザインはこれら の基本概念をさらに、相互作用する数百もの小さなクラスに分割している。 WebObjects がアプリケーション設計にフレームワークモデルを用いてい る(プログラマーがアプリケーションをカスタマイズするには、機能の特 定部分を探し出して置き換えなければならない)という事実によって、複 雑さは度を増している。WebObjects のドキュメントは平均以上の出来だ が、ある特定のことを行うにはどうすればよいかはっきりしないことがし ばしばある。

他のアプリケーションサーバのいくつかにはあって WebObjects にない機 能のひとつに、セッションの自動フェールオーバーがある。これはひとつ のアプリケーションがクラッシュして動かなくなると、もうひとつのアプ リケーションがユーザーのセッションを透過的に引き継ぐというものだ。 ユーザーはクラッシュが起きたとしても気がつかないでのである!代替す るアプリケーションはまったく別のサーバ上にあってもよい。だからもし 電源が壊れた場合でも、冗長構成のマシンならサービスは中断することな く続けられる。

WebObjects アプリケーションは Windows NT/2000、Mac OS X(および Mac OS X Server 10)上で開発できる。しかし Windows 版のツールはま だバージョン 4.5 であり、アップデートされる予定はない。Apple 製ハー ドウェアの購入が許されない企業で働く多くの WebObjects 開発者にとっ て、これは深刻な影響がある。

最近リリースされた WebObjects 5.0(完全に Java で書かれている)は、 バージョン 5 の「初めての」リリースだという感じがはっきりとある。 ソフトウェアをインストールするには、root アカウントを使えるように してシステムに root でログインしなければならない(インストールが済 めば root を使えなくしても差し支えない)。さらに悪いことにアンイン ストールは不可能である。WebObjects を削除するにはドライブを完全に 消さなければならない。バージョン 4.5 の機能のいくつかはなぜかなく なった(FlatFile と LDAP 用のデータソースアダプタなど)。約束され ていた Linux 用コード生成はまだできない。Mac OS X(および Mac OS X Server 10)、Windows NT/2000、HP/UX、Solaris だけがコード実行プラッ トフォームとしてサポートされている。EOModeler 5 は EOModeler 4.5 のモデルファイルを読み込むとしばしば止まってしまうし、だいたいにお いてクラッシュしやすい(保存していなかった変更内容は消えてしまう)。 熟練した新しもの好きでないなら、いま WebObjects 5 に時間とお金をか けるよりは Apple 社が最初のバグ修正リリースを待つのがよいだろう。

あとがき -- WebObjects にも欠点がある。それでもなお、私は WebObjects によるアプリケーション作成それ自体がほぼ純粋に楽しいと 知った。WebObjects の基本的な考え方を身につければ、他のツールで何 日もかかるページを何時間かで作れるようになる。一番うまく例えると高 性能な車を運転して、曲がりくねりつつ伸びる並木道を走るようなもので ある。究極のゴールへ早くたどり着くことのできる、マシンのそんな機能 の真価がわかることだろう。

[Jonathan "Wolf" Rentzsch 氏は Red Shed Software 社を経営しており、 イリノイ州北西部で毎月 Mac プログラマーの会合を開いている。]


非営利、非商用の出版物およびウェブサイトは、フルクレジットを明記すれば記事を転載またはウェブページにリンクすることが できます。それ以外の場合はお問い合わせ下さい。記事が正確であることの保証はありませ ん。書名、製品名および会社名は、それぞれ該当する権利者の登録商標または権利です。TidBITS ISSN 1090-7017

tb_badge_trans-jp2Valid HTML 4.01!Another HTML-lint gateway