ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

Sun Java Studio Creator 2



USのJavaOne 2005で取り上げられたSun Java Studio Creator 2
ですが、USサイトではEarly Accessが利用可能になっています。
http://developers.sun.com/prodtech/javatools/jscreator/ea/jsc2/index.html


多くの機能アップが盛り込まれていますが、中でも注目なのは
AJAXコンポーネント」が登場するらしいということです。


AJAXJSFとの組み合わせの有用性についてはこのブログでも
何度か取り上げていますが、一方で両者の組み合わせにおける
問題点も指摘されています。
その中でも厄介なのは「コンポーネントツリー」の管理です。


JSFではjsfファイルの中にタグとして表現されるUIコンポーネント
をサーバー上でオブジェクトのツリーとして表現・保持しています。
このツリー管理のお陰で、同一名のコンポーネントが同一画面内に
配置されている場合でも、ツリーのパスを付け足した名称で管理する
ことで名前衝突を防げるといったメリットがあったりします。


つまりクライアント側のUIコンポーネントが追加されたといった
何らかの変化があった場合には、サーバー側がそれを感知して、
コンポーネントツリーを再構築する必要があります。ところが、
AJAXの実装によって、動的にUIコンポーネントが生成されたり、
消えたりといったクライアント側で発生したUI構成の変化は
そのままではサーバー側へは伝えることができず、不整合が発生
してしまいます。これはなかなか困った問題です。


JSFはweb.xml内でsaveStateInClientパラメータをtrueに設定すれば
コンポーネントツリーの情報をクライアント側に保存できますので、
クライアント側でUI構成を変える場合にはこの保持された情報も一緒に
更新すれば何とかなるかも知れませんが、少々トリッキーで危険な感じ
もします。かと言って、UI構成が変わる度にサーバーにそれを通知して
同期を取るのではAJAXの非同期というメリットが損なわれてしまう恐れ
もあります。


Sun Java Studio Creator 2で追加される「AJAXコンポーネント」が
どういったもので、上記のような課題についてはどのように解決しよう
としているのか?といった辺りはJavaOne Tokyoで是非確かめてみたい
事柄の一つです。