2013年2月2日土曜日

WebSocket的JavaEE7

1/31、JavaとHTML5に関するセミナー、「Java ♡ HTML5 Night」に参加させて頂いた。ありがとうございました。

さて、気になったのがWebSocketがSocketだということ。

HTTPで接続できるTCPソケット。だとすると、ファイアウォールの立場は?
(いわゆるトンネリングとどう違うのかはよく分からないが)

折角ポートをクローズしているのに、ねえ。しかもご丁寧にサブプロトコロルなるプレゼンテーション?まで備えているというからすごい。いや本当すごいと思います。

以前(2010年頃?)は仕様に問題があるとか無いとか言う話があって、FireFoxなんかも対応しているんだけどデフォルトOFFでユーザ任せという状態があったと思うが、それからきっと仕様が変わって、当時の脆弱性みたいな問題は、きっと回避されたんだろうなという無責任極まりない茫漠とした理解の中での話だが。


さて話変わってそれはそうと、これをちゃちゃっとアノテーションを使ってJavaEE7でサーバ側が実装できるというのは、まあ、どうなんでしょ、NetBeans7と相まって、でもいつも思うことは、何か釈然としない、パッケージングのまとまりの無さというか、オープン指向ゆえのジレンマというか、きっとそれはJava EE = Enterprise Editionという名前のせいじゃないか。

ちっともStandard Editionと使い分けてるものじゃないくせに、基本、SEの上に乗っかって動くフレームワークのくせに、Editionって立場おかしいだろう。Micro Editionは完全に別ものなので、Editionでもいいと思うが、Enterpriseは単にSE上のFrameworkでしかないのだから、Swingみたいに、例えばRockとかMetalとか、それと分かる名前を付ければ良かったのだ。

そうすればもっと立ち位置が明快で、使う側の心理的違和感が取り除かれて、スッキリ向かい会える。

ということで、自分はこれからJavaEEのことをRockと呼ぼう。Swingに対するJazzとエンタープライズの堅牢から。on the Rockでもいいなあ。Java app on the Rock.   Cheers!

と思ったが、swing.jazzだから、***.rockじゃないといけない気がするので、やはりmetalか。glam?  punk? さすがにBritishはないだろう。しかし光の時代にメタルか、みたいな。が、一方でクラウド調でbare metalということもあるわけだし、じゃあglamourで。魅力的でいいじゃない。


あれ、HTML5の話はどうでもいいの? いやいや。Avatorでしょ? いやそうじゃなくて、元々WebSocketはHTML5の前身である?WHATWGのWebApplicationsの仕様として生まれたらしいが、この資料を見ると、仕様の範囲が複雑すぎてもう理解不能。HTML5はバズワードと化しているので、"HTML5"と書いてほしいらしいが、どう呼ぶの?
(この中の仕様の範囲をサークルで表したインフォグラフは素晴らしいと思う)

WebKitもバラバラ、だそうだ。ならば、Javaで実装しているWebkit(桜庭さん@skrbによると、全部Javaで書き直しているらしい!)でWell Known(と成り得ることを目指した)ブラウザを出した方が良いのではないだろうか。分かりやすく言えば「Safariと全く同じブラウザがJavaに入っています」のほが絶対良いはずで、であるから、Safariの部分をJavariとかにするということ。


Flashはもういいと思うのだが、まだまだFlashのサイトは非常に多く目にする現状で、HTML5に移行しろといったところで誰がやるの?という作業的な話になるのではないだろうか。何れにしてもかなり時間がかかると思う。し、故にこのまますんなり移行するとは思えない。

Webプラットフォームという考え自体は、もし実現すると面白いのだが、何もそれをブラウザの進化系で無理矢理実現しなくても、と思う。考えてもみなよ、今OSでやってる膨大な作業を、何が楽しくてブラウザの中に全部突っ込むの? おかしいよねどう考えても。

そういう考えと、Webとローカルデバイスのシームレスな融合(?頭痛が痛い的な文章になってる?)について昔から自分が思っている「1つのコンピュータ」というメタファ。
つまりむしろブラウザがOSに取り込まれるほうがアリだと思う。まあどんな格好か具体性に乏しいが、基本的にはどんなアプリもWebと繋がっている状態で動作するということだろう。

自分の考えを茫漠としたまま言い切るのもアレだが、例えば昔、自分の中で「ニューブラウザ」というアプリがあり、それはWeb上の要素を噛み砕いて扱えるというものなのだが、これは「バイナリWeb」とセットになっていて、今にして思えば、ある種「Webをローカライズする」というのがコンセプトだったとも言えるかもしれない。バイナリWebのバイナリとは隠語で、それは秘密にしておく。

そして最近、「Webを編集する」ということを考えている。これは「完全に中立なパブリックドメインの検索サービス」とセットになっていて、それによりWebをローカライズするものだ。さようならGoogle。君はよく頑張った。

誰が考えるでもなく、自由に便利に色んなことが出来るという思いはおそらく万人に共通で、思惑はそれぞれ違う。要するにサバイバルであり、そこには協力と敵対とが入り乱れるのが常で、結局強い者が勝つというより、生き残った者が勝者であるとしか言えず、あとは占い師の話に耳を傾けて、一喜一憂するしかないが、それはそれで娯楽だと思う。







0 件のコメント:

コメントを投稿