JavaOneとAJAXとClientSide SOA
運良く予定があいたので、先週のJavaOneにちょっとだけ参加して来ました。主にidentity-based SOAの話と、RIA(≒AJAX)に興味があったので、そちらを中心に見てきました。(最終日のなおきさんのセッションは中止だったのが残念)
その中でも、流行であったのがJSFでAJAXという話ですが、イベントハンドリング、データバインドの考え方は両者とも結構シームレスに結びつくのではないかと思います。(Sun吉田豊さんのセッションでプレゼンした、MVCモデルをクライアント側でも、という絵はなかなか興味深いです)
ちなみにAJAXで非同期にデータを取ってくる場合、XMLHttpRequestを使うことが多い(狭義のAJAX?)ようですが、これはXML-RPC、もっというとWebサービスの概念に近いように思われます。SOAPを使うばかりがWebサービスではない、いわゆるRESTという形式もあるわけです。
さらに、もっと突き進めると、XMLを使うばかりがWebサービスではない、ということもいえるかもしれません。クライアントサイドでの扱いやすさを考えたときに、たとえばJSONという形式でデータをやり取りすることは、ひとつの選択肢だと思います。
しかも、JSONをつかうことで、IFRAMEやXMLHttpRequestを使用したRPCの仕組みで存在していたクロスドメインの制約を回避できるという非常におもしろいことができます。(これについては、本来のブラウザセキュリティの考え方からしてよいものなのかどうかわからないのですが。。。)
たとえば、こちらのサイトはAmazonの検索を自分のドメインで提供しています。見事なことに、サーバサイドでは静的なHTML(とXSL)しか提供してないわけです。
これは、WebブラウザをそのままWebサービスブローカー兼クライアントとして使用するという、いわばClientSide SOAの方向を見せているのかも、、、などと想像を膨らませてしまいました。
(ちょっと今回はOraから離れすぎ)