WebObjects 5に関するカンファレンスが、Expoでありました。当然、まだ世に出ていないバージョンだけに要チェックなのですが、今年はセミナーを行っているため私が取材に行く時間がないこともあってどうしようかと思ったのです。そんなところにちょうど、apeX編集長の森さんがそのあたりはフリーだったということで、原稿をお願いしました。セミナーではVer.5のことをばんばんやるのかという期待もあったのですが、どちらかと言えば、WebObjectsの一般的なメリットを強調するという雰囲気だったようで、その意味では若干肩透かしだったかなと、カンファレンス後の報告では感じました。ですが、なかなか興味深い読みをしています。みなさんはどう考えるでしょうか?
(新居雅行 msyk@mdonline.jp)
昨今話題に上ることが多いWebアプリケーションの開発環境として何が優れいてるか、と聞かれれば、WebObjectsにとどめを指すと言えよう。NeXTの資産として、今なお高い信用と実績を誇るフレームワークである。アップルとNeXTの合併後はアップルが手を加え、現状ではバージョン4.5がMac OS X ServerとWindows NTで使える。ただ、ライブラリ自体がかなりマイナーと言わざるを得ないObjective-Cで記述されていることがネックで開発者が増えないことが理由なのか、なかなか普及しないのが実際だ。そこでアップルは、WebObjectsで用いられるクラスライブラリや関連するもののJava化を行って、プラットフォームに依存しない、より広汎な利用を促していきたいと考えた。Javaであれば開発者はObjective-Cのウン十倍はいるから、技術者の層が広がることも見込める。その結果登場することになったのが、WebObjects 5 for Java(以下WebObjects 5)である。
MacworldExpo/Tokyoの初日である2001年2月22日に、米Apple Computer社・WebObjects開発エンジニアの秋元雄二郎氏による「Mac OS Xの次世代開発環境」と題したコンファレンスが催された。副題には「―WebObjects 5 for Java―」とついていたので、これの話題がメインになるかと思いきや、結果的には主題のとおりMac OS Xの開発環境全般をさらりと紹介するものになっていた。もっとも、秋元氏が「Mac OS X Serverを使ったことがある人は?」と会場に問いかけると、意外と多くの人が手を挙げたのだが、次に「WebObjectsを使っている人は?」と尋ねると、挙手の数はぐんと減った。ちなみに「Mac OS X Public Betaに触れた人は?」と尋ねると、これまた挙手の数は少なくなったのだが。まあ、Expoに来る客層を考えればWebObjectsは専門的に過ぎるというべきで、コンファレンスは実際の開発手順を踏まえたデモを中心に進められた。結構広い会場がほぼ埋まったことを考えれば、注目度は高かったと言っていいはずである。
□Java化に加え、サポートされる技術も明確に
WebObjects 5 for Javaの解説を含めた、Mac OS Xにおける開発環境の説明は数枚のスライドでさらりと解説されるに留まった。WebObjects 5を使って作成したアプリケーションがJava2環境で運用可能であることや、開発にはProject BuilderやWebObjects Builderを用いるといった説明は、すでにMac OS X関連の情報を入手している開発者にとって目新しいものではない。ただ、一般向けの解説スライドにおいて、JDBC2をサポートすることや、Enterprise Java Beans、XML、SMILなどへの対応が明記されたことは、これまでなんとなく曖昧だった対応技術が確定したという解釈が成り立つわけで、注目すべき点かもしれない。
アップルは、WebObjects 4.5からWebObjects 5への移行を促すにあたり、ツールや環境をいくつか提供する。ひとつは「Java Converter」。これはWebObjects 4.5上でJavaを用いて作成されたアプリケーションをWebObjects 5対応のものに変換するツールである。コンファレンスで映されたスライドには、変換効率は約8割と記されていた。バージョンの移行に伴って、整理ないしは消滅したクラスを呼び出している場合などは多少の手直しや修正が必要になるが、多くの場合はほぼ完全に変換できるという。これはADC(Apple Developer Connection)から最新版を入手できる。
また、WebObjects 4.5.1 on Mac OS Xというバージョンも用意される。これはObjective-Cで開発されたWebObjectsアプリケーションをMac OS Xで動作させるためのもの。現在運用しているアプリケーションをX上で動かせるようにすることで、Mac OS Xそのものの普及を促進したいという思惑なのだろう。
WebObjects 5で作成したアプリケーションはJava2環境で実行可能で、書き出すコードはJava 1.3準拠になっているという。現行Mac OSが備えているMRJ(Mac OS Runtime for Java)は1.1.8までの対応なので、WeObjects 5で開発したアプリケーションは使えないことになる。これは、MRJが1.3対応になるか、WeObjects 5が現行のMRJで動作するようにコードを吐き出すか、いずれかの対応が必要になるが、そのどちらも検討中ということらしく、はっきりしていない。
WebObjectsのクラスライブラリがフルJava化されたと同時に、EOF(Enterprise Objects Framework)もフルJava化したと、コンファレンス終了後に秋元氏から聞くことができた。EOFはデータベースアクセスを行うアプリケーション開発で使われるフレームワークで、単にデータベースを作るときはもちろん、Webページとデータベースを連携させるときにもお世話になる。Webアプリケーションに求められる機能としてデータベースとの連携が挙げられることは多く、WeObjectsを運用する際の重要な技術である。内容がかなり複雑で、すべてをJavaに置き換えるのは無理という観測もあったのだが、これを「なんとかやりました」(秋元氏談)ということだそうである。アップルの意気込みやいかに、という感じだ。
実際に動作するときは、WebObjectsアプリケーションに加えてEOFのコードも一緒にダウンロードされることになる。とはいうものの、その規模がかなり大きいことから、アプレットというレベルではなく、分散アプリケーションのようなものと考えたほうがいいかもしれない。これは、ある意味すごいことである。
□Windowsでも動くWebObjects 5の意味するところは?
開発環境そのものはPureではないJavaなので、つまるところ某かのかたちでプラットフォームには依存する。具体的には、Mac OS XとWindows 2000が対象として挙げられている。これは先述のWebObjects 4.5.1 on Mac OS Xも同様である。アップルとしては、とりあえず開発も運用もMac OS Xにすれば安心ですよ、ということなのだろうが、同時にWindows 2000を正式にサポートすることもはっきりした。これが何を意味するか。よくよく考えてみると、これこそが最大のトピックではないかと思える。
バージョン4.5で用意されていたWindows NT版には、YellowBox for Intelのフルセットが含まれていた。仮に、これがWeObjects 5でも同様のレベルで実装される、つまりYellowBox=CocoaのIntel CPU対応版が含まれるとなれば、Mac OS Xの今後の主流となっていくはずのCocoaに関する部分がWindows 2000にそっくり移植されたと言っても過言ではないはずだ。以前に「出す」といって立ち消えになったIntel版MacOSへの布石か? などと勘ぐっても仕方ないのだが、やもするとそういう展開になる可能性もないとは言えない。本家PowerPC版のMac OS Xの売れ行き如何では、5月のWWDCあたりでいきなりMac OS X for Intelなんて話が飛び出してくるのかもしれない。
なお、コンファレンスで行われたデモは、
カテゴリ:イベント, WebObjects