JavaOne2007報告会に行ってきました

去る5月30日にJavaOne2007報告会がSun用賀で行われ,それに参加してきた。途中からの参加だったので,JavaSEについての岡崎さんのプレゼンは聞くことができず,その後のJavaEEについての動向のプレゼンから聞くことができた。 まず,やはり注目を集めていたのは,JavaFX。RIA向けの製品ということで,JavaFX MobileやJavaFX Scriptが中心だったらしいが,JavaFX EEという言葉もプレゼンの中で出てきていたのは面白い。それがプレゼン者の造語なのか実際にSessionのスピーカーから出てきた言葉なのかは良くわからなかったが,RIA向けのAPIセットということなのだろうか。 General Sessionでは,GlassFish v3とJRubyのサポートが大々的に発表されたらしい。そしてLLという観点では,jMakiとPhobosもキーワードとして登場していたとのこと。SunのRuby,特にRubyのJava実装に対する思い入れは本気っぽく,今後のGlassFishがJavaEEのためのプラットフォームという位置付けで語ってはいけないだろう。 GlassFishについては,v2とv3についてそれぞれキーワードが述べられた。v2については,セッションのクラスタリングについて,メモリ・レプリケーションの実装としてJXTAとProject Shoalが使われているらしい。JXTAというと忘れ去られようとしているP2Pプラットフォームであるが,なるほど,こういう適用法もあるのねと。WSITについては,Project Tangoの成果としてJavaと.Net3との連携が可能になる。JBIについてはOpenESB,非同期リクエスト処理にはGrizzlyが採用されているとのこと。 そしてv3については,IoCベースとなり,JSR-277(Java Module System)やOSGiといったものも取り入れられて,モジュール化が進むらしい。Geronimoに刺激されてのことだろうか。モジュール化の恩恵として,JRuby,PHP,Phobos,Comet,RESTなどの処理モジュールをあとからコンテナに組み込むことが可能になるらしい。Webアプリケーションサーバのコンフィグレーションが柔軟になるに従って,きっとそれを利用する側の知識も増やさなければならないだろう。覚えることが増えるのは楽しい反面,ますます勉強が必要だ。 さて,JavaEE6については,2008 Q4で仕様のFinal Releaseと予定されていると。それについての新規APIとして,WebBeansとJAX-RSがあげられていた。そして既存のAPIのバージョンアップについて,まず大きなところでは,EJBが3.1となり,Java Persistence(API)が2.0になってEJB仕様から独立される。 EJB3.1は,必須インタフェースの軽減(削減)がキーワード。具体的には,ローカルビジネスインタフェースがオプションとなる。さらにパッケージングにも制限の緩和が行われる。つまり,ear-war-jarというような構成ではなく,warの中にejbを配置することができるようになる。つまり,EJBを単独でデプロイする必要がなくなり,warの中にあるクラスについてEJBコンテナの機能が適用されることになるのだ。これは,今日のDIコンテナを使ったレイヤードアーキテクチャと同等のパッケージングが可能になることを意味している。ただし,これについてはEJBの当初の目的であった「ビジネスロジックのコンポーネント化」「分散対応」がおざなりになっていると見ることもできる,とプレゼンターも言っていた。確かにその通りなのだが,ま,トランザクションのクラスタを大規模にやりたければ従来の形態もそのまま可能な点を考えれば,システムのスケールに合せて選択すればいいのかな,と思う。 JP(A)2.0については,JPQLの拡張,Criteria Query APIの追加,そしてバリデーション(JSR-303)のサポートがメインのトピックとのこと。大雑把に言うと,ベンダー拡張だったものを徐々に標準に取り込んでいるのが流れのようだ。 WebBeans(JSR-299)については,JavaEE上でのWebアプリケーションフレームワークの標準,という謳い文句なものである。ようはJBoss Seam。プレゼンターの1人がJBossな方だったため,この紹介については多くの時間が使われていた。これは,JSFとEJB3.0に対して統一されたコンポーネントモデルを提供しようという試みであり,scaffoldなどRoRを意識して作られたものらしい。そして,Ajax連携が進んでいるために,今日のWebアプリケーションの形態に合致するものであると。テストについてはJSFエミュレーションが搭載されるために実施しやすい環境であり,ExadelのIDEが生産性の向上に一役買うだろうということだった。Ajax4jsfやRichFacesなども含まれるということなので,Ajaxな大規模Webアプリケーションの構築には非常に強い見方になるのでは,という感想を持った。ま,個人的にはWicketでいいじゃん,とちょっと思ったりもするのだが。。。 そして最後にSpring Frameworkについて。プレゼンターのもう1人がJSUGな方なため,これについても情報量は多かった。Rod Johnsonは相変わらずSpring Frameworkを「Universal POJO Programming Model」という位置付けで考えており,あくまでPOJOに対する機能の拡張を外から行おうというものだということが強調されていたとのこと。Spring Framework 2.0でのトピック(名前空間の採用や拡張ポイントの追加)が紹介され,さらにSpring Framework 2.1についても紹介があった。トピックとしては,アノテーションによる設定(XMLとの併用も可能),JCA1.5サポート,そしてJP(A)のサポートがより充実する。そして,Spring Web Flowについて,JSFとの連携がしっかりと動く(デモでもちゃんと動いていたらしい)という点も重要である。 個人的には,JavaEEについてはSunの頑張りというよりはOSSの頑張りが非常に大きな割合を占めている今日では,JavaOneのJavaEEについてのトピックはこんなものなんだろうな,という印象を持った。たぶんApache Fundationのカンファレンスがあったとしたら,JavaEEについてはそっちの方が情報量としては豊富なんじゃないかと。 JavaFXについてのさくらばさんのプレゼンも拝見することができた。面白そうだけど,もうちょい動向を見てから手を出そうかな,という感じだ。できることは面白けれど,言語仕様の貧弱さが見え隠れする現状のレベルってどうなのよ,という問題提起が存在するために,まずはウォッチし続けるのが懸命かな,と。 こんな感じである。あ,言い忘れたが,Java Puzzlerは,もちろん全問不正解だった。orz

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて