いよいよJavaOne2006の開幕です!
ジェネラルセッション
ジェネラルセッションにはCEOになったジョナサン・シュワルツ氏の姿が!あれ、でもセッションの内容は淡々としていますね。リッチ・グリーン氏にJavaのオープンソースネタを振るものの本体には言及せず。ただJavaEE系では大量のOSSを出します。
セッション内で面白かったのはWeb2.0フォローと.NETの話。
Web2.0フォローというのはAjaxやWeb2.0のWebAPIのこと。JavaEE 5のblueprint "PetStore"でも、新Swingアプリ(3D)でもGoogle Mapsコンポーネントが動いていました。時代は変わりましたね。Googleには元Sunの社員も多し仲良くやっているのでしょう。
写真はAerithというSwingアプリケーション。Flickrクライアントになっていて、Google Mapsとのマッシュアップで旅行日記が作れるというサンプルです。

.NETは相互互換のデモをバリバリやっていました。Vistaに搭載されるWCF(Windows Communication Foundation 旧Indigo)のすべてのスタックを受け入れられる実装を作っています。Project Tangoといって、手を取り合って一緒に踊りましょうみたいな。正式名称はWeb Services Interoperaility Technology(WSIT)。発音は「ウィズィット」。"with it"にも聞こえるので、なかなか良いネーミングではないでしょうか。
ちゃんとしたレポートはIT Proさんに寄稿しました。 「Javaで重要なのはコミュニティ」,JavaOneでSunのSchwartz CEOが講演
テクニカル・ジェネラル・セッション
15分しかランチタイムがない鬼のスケジュールの後はテクニカル・ジェネラル・セッション。Mustang、Java EE 5、Dolphinのオーバービュー。
Mustangは既報の通りなのですが、思っていた以上にJSR 223: Scripting for the Java Platformが取り上げられていました。
Java EE 5も既報どおり。5以降の方向性が3つ。
まずは高機能化。JBIやSCAのようなSOA系によるコンポジット・アプリケーションの構築、ポートレット、HAなんか。次が既存への追加機能。JSP、Servlet内でのスクリプティングサポートやWebDAV対応。そして、その他としてAJAXやWS-*のサポート。
最後はDolphin。
まずSuper Package。パッケージをまとめて階層化できるようになります。個人的にはJSR-277:Java Module Systemも注目。クラスロードを細かく指定できます。こういうアプリケーションのモジュール化は今後の大きな動きです。
そして言語のサポート追加。BeanShellは決定しているみたいですが、これ以外のスクリプト言語にも可能性が。そしてVB.Net(!)がJava上で動くようになります。正確にはBasic記法の書き方をすると内部的にJavaに変換されてVM上で動くようになります。写真を良く見てください。NetBeansなのにVBが書かれています。

ちょっと違いますがXML in Actionではコード内でXMLが直接記述できます。文字列ではなくて、タグそのものをコードとして認識できるので便利になるみたいです。
ダイバシティという言葉が使われていましたが、Java言語はGlod Standardであるものの、動的言語を組み合わせるのは良い方向だろうと。ビジネスロジックはJava言語で書いて、変化が激しい部分はスクリプトで書くのではないかという示唆がありました。
例えばProject Phobosでは、JSPのスクリプトレットの中でJavaScriptを記述できます。
また、JSR 292: Supporting Dynamically Typed Languages on the Java Platformでは、JavaVMそのものが動的なタイプ付けに対応する予定です。Java環境におけるマルチ言語化は非常に興味深い動きです。
Sarugau JSを試していただければ分かりますが多言語は面白いです。DIコンテナ経由でJavaで書かれたビジネスロジックを取得し、スクリプトで加工します。JavaVM上のマルチ言語化というのは、これからブームなるでしょう。
What Happening with SOA in Open Source
テクニカル・セッションで一番面白かったのが、Mark Hapner氏が司会を努めた、オープンソースのSOA実装を集めてパネルディスカッションをするというもの。JBossESB、ServiceMix、Open ESB、Celtix、Tuscanyが集合。それぞれベンダーが入っていたりコミュニティベースだったり様々です。
ディスカッションで繰り返し言われたのがSOAとは概念の問題であり、実装そのものはインフラ、プラットフォームであること。ロジックはアノテーション付きPOJOで実装するという流れになっているが、その粒度や適用箇所については、まだまだ検討が必要という感じでした。
Hapner氏はメッセージ・ベース・ディストリビューション・アーキテクチャが良いのではとコメントしていました。コンポーネント間をメッセージでつなぐことによって、どういうアプリケーションが構築可能なのかというのも、これから楽しみな領域です。
明日からも引き続きレポートをしていきます。
