Ajax Push(Comet)についてのセッション

Ajax Push(Comet)について、12月に開催されるSun Tech Days 2008 Tokyoでも
海外のエンジニアによって発表されるようです。
2-J-4 Developing Web Applications using Comet and Ajax
脚光を浴びるAjax Push, CometそしてHTTP ストリーミングはWebアプリケーションの
操作性を革新的に変え、参加の時代にWebを突入させました。
Ajaxをベースとするアプリケーションは Webアプリケーション設計のデファクト
スタンダードになっております。
Webアプリケーションはクライアントとサーバ両方のイベントによりリアルタイムあるいは
動的に動作が変化することがより一層重要になっています。
CometはWebクライアントとサーバが非同期にコミュニケーションを行う技術で、
リアルタイム操作や従来のWebアプリケーション、デスクトップアプリケーションなどでは
出来なかった機能が実現可能になります。
本セッションでは、非同期Webの簡単な紹介にて、プロトコルや実現しようと
考えていることについて解説します。
さらにCometとAjaxを用いて分散した二人用ゲームアプリケーションを順を追いながら解説します。
セッションの参加者はDojo, jMaki, Prototype を用いて開発していたり、アプリケーションを
Jetty, Tomcat, GlassFishに展開していても、複数のユーザがコラボレーションしたり
互いに通知したりする機能を付加するのに必要な方法を本セッションで得ることができるでしょう。
Sun Microsystems,Inc.
Michael Li
GlassFish & MySQL でCometアプリケーション
先日10/30(木)、31(金)に開催されたMySQLユーザカンファレンスで
使用したプレゼンテーションはMySQLのサイトからも入手できるように
なるかと思いますが、下記からも入手できるようにしました。
S-D2: GlassFish と MySQLで広がる新しい世界
昨日のF1最終戦は熱かった!!
昨日のF1ブラジルグランプリはとても盛り上がりました。
昨日のレースはなかなかドラマでも無いような
今年1番の熱いレースでした。
年間チャンピオンを取るためにはマッサは
1位か2位が絶対に必要で、ハミルトンは
マッサが1位ならば5位までに入らなければ
ならないというお互いに過酷な状況でした。
フェラーリのマッサはポールポジションから終始
良い走りをし、ファーストラップを連発し
逆にハミルトンは5番手、6番手辺りを終始確保
しながらレースが進んでいきました。
ルイスハミルトンが残り3周でベッテルに抜かれた時は、
昨年に続き今年も年間チャンピオンを取れないかと
思ったのですが、ファイナルラップの、それも
最終コーナーの立ち上がりで、それまで4位だった
グロックが急にダウンしていて、最終コーナーで
ハミルトンがグロックを抜き5位に上がってフィニッシュ。
結局、ブラジルグランプリはマッサが優勝したのですが、
年間チャンピオンは1ポイント差でかつ史上最年少で
ハミルトンが取りました。
夜中4時にも関わらずかなり盛り上がりました!!
昨日のF1生で見たかたいらっしゃいます?
GlassFishでCometアプリケーション
先日、MySQLカンファレンスにてGlassFishでCometのアプリケーションを
動作させましたが、サンプルのアプリケーションをアップします。
MySQLカンファレンスではGlassFishとMySQLとの連携をデモを行いましたが、
いきなりDB連携は難しいのでかんたんにCometを動かす方法について紹介します。
是非、ここで紹介するプログラムを改造したり参考にして色々と楽しいアプリケーションを
作成してください。
ここで紹介するアプリケーションはボタンを押下すると、サーバに接続する
全てのクライアントに対して同一の数値をサーバからPushし表示させる
Cometアプリケーションです。

1. まずはNetBeans6.1のGlassFIshバンドルをご入手ください。
2. NetBeans, GlassFishをインストールした後、GlassFish上でCometのアプリケーションを動作させる
設定を行ってください。
GlassFishの管理画面へはデフォルトで、http://[インストールマシンのIPアドレス]:4848/でアクセスします。
ログインユーザ名、パスワードはそれぞれ下記を入力しログインできます。
ユーザ名:admin
パスワード:adminadmin
ログインした後、管理画面中より「設定」→「HTTPサービス」→「HTTPリスナー」より
「http-listener-1」を選択し下記のように「追加プロパティ(1)」中に記載される、全ての項目を削除し、
「cometSupport」「true」を入力し保存してください。
これにより、GlassFishでCometのアプリケーションを動作させる事ができるようになります。

3. 次にNetBeansのCometサンプルアプリケーションのプロジェクトを入手してください。
ファイルを展開すると下記のファイルが含まれています。
> jar tvf sample-comet.jar 0 Sat Nov 01 13:40:48 JST 2008 META-INF/ 60 Sat Nov 01 13:40:48 JST 2008 META-INF/MANIFEST.MF 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/ 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/ 0 Sat Nov 01 13:21:04 JST 2008 sample-comet/build/web/ 189 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/button.html 446 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/count.html 438 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/index.html 513 Sat Nov 01 13:21:04 JST 2008 sample-comet/build/web/J2EE.dpf 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/META-INF/ 23 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/META-INF/MANIFEST.MF 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/ 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/classes/ 205 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/classes/HiddenCometServlet$1.class 3473 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/classes/HiddenCometServlet$CounterHandler.class 3476 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/classes/HiddenCometServlet.class 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/lib/ 596144 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/lib/grizzly-1.0.21.jar 513 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/sun-web.xml 710 Sat Nov 01 13:21:02 JST 2008 sample-comet/build/web/WEB-INF/web.xml 3081 Sat Nov 01 13:17:06 JST 2008 sample-comet/build.xml 0 Sat Nov 01 13:21:02 JST 2008 sample-comet/dist/ 607377 Sat Nov 01 13:21:02 JST 2008 sample-comet/dist/sample-comet.war 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/nbproject/ 3538 Sat Nov 01 13:04:08 JST 2008 sample-comet/nbproject/ant-deploy.xml 43350 Sat Nov 01 13:17:06 JST 2008 sample-comet/nbproject/build-impl.xml 447 Sat Nov 01 13:17:06 JST 2008 sample-comet/nbproject/genfiles.properties 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/nbproject/private/ 2409 Sat Nov 01 13:04:08 JST 2008 sample-comet/nbproject/private/private.properties 2354 Sat Nov 01 13:17:04 JST 2008 sample-comet/nbproject/project.properties 932 Sat Nov 01 13:17:04 JST 2008 sample-comet/nbproject/project.xml 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/src/ 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/src/conf/ 23 Sat Nov 01 13:04:06 JST 2008 sample-comet/src/conf/MANIFEST.MF 0 Sat Nov 01 13:10:40 JST 2008 sample-comet/src/java/ 3458 Sat Nov 01 13:22:10 JST 2008 sample-comet/src/java/HiddenCometServlet.java 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/test/ 0 Sat Nov 01 13:07:00 JST 2008 sample-comet/web/ 189 Sat Nov 01 13:06:38 JST 2008 sample-comet/web/button.html 446 Sat Nov 01 13:07:04 JST 2008 sample-comet/web/count.html 438 Sat Nov 01 13:05:54 JST 2008 sample-comet/web/index.html 0 Sat Nov 01 13:04:06 JST 2008 sample-comet/web/WEB-INF/ 513 Sat Nov 01 13:04:08 JST 2008 sample-comet/web/WEB-INF/sun-web.xml 710 Sat Nov 01 13:11:50 JST 2008 sample-comet/web/WEB-INF/web.xml |
上記には、サンプルアプリケーションのソースコードと実行ファイルである
「sample-comet.war」、またCometの開発に必要なGrizzlyのAPI(grizzly-1.0.21.jar)
が含まれています。
※ 最新のgrizzly-1.0.x.jarは下記より入手可能です。
https://maven-repository.dev.java.net/nonav/repository/grizzly/jars/
4. 入手したNetBeansのプロジェクトファイルをご自身の環境にインポートします。
NetBeansのメニューより、「プロジェクトを開く」を選択し上記で入手、展開した
ディレクトリを指定してください。

5. プロジェクトを開くと恐らくGlassFishのインストールパスやJDKのインストールパスが
異なるため、いくつか設定を修正して頂く必要があるかと思いますが、それらの参照先を
変更して頂ければNetBeans上でCometのアプリケーションを開発できるようになると
思います。
MySQLユーザカンファレンス終了
本日、無事にMySQLユーザカンファレンスが終了致しました。
今年のMySQLのイベントは昨年に比べ大幅に参加者が多かったようです。
ご参加頂いた皆様、本当にありがとうございました。

今回の私はMySQLユーザカンファレンスで、GlassFish&MySQL&Comet
のセッションを頂きましたが、私が想定した以上に反響が大きく
多くの方にGlassFishの良さを実感して頂いたのではないかと思います。
今回、発表した内容は後に本ブログでアップデートしていきたいと
思っておりますが、細かい説明をする前に手っ取り早くCometを始めたい方に向けて
情報ポインタを紹介したいと思います。
まず、GlassFishでCometについて良くまとまっている資料として、
InfoQに掲載された「AjaxプログラマのためのJavaOne2008 -GrizzlyでComet!-」
があります。この資料は非常によくまとまった資料で、GlassFish&Comet
を最初に学ぶのにとても良い内容です。
それ以外で、今直ぐ試せるプログラムとして、「Introduction to Comet」の資料もあります。
こちらはGlassFishの次期バージョンであるv3をベースに作成されていますが
今すぐに試せるサンプルコードとしてご利用、御参照いただく事が可能です。
GlassFishv3のサンプルアプリで1点注意点があります。
それはパッケージ名が異なる事です。
GlassFish v2.*でCometのアプリケーションを作成する場合は
下記のクラス名にご注意ください。
GlassFish v3のパッケージ名(変更前)
import com.sun.grizzly.comet.CometContext; import com.sun.grizzly.comet.CometEngine; import com.sun.grizzly.comet.CometEvent; import com.sun.grizzly.comet.CometHandler; |
GlassFish v2.*のクラス名(変更後)
import com.sun.enterprise.web.connector.grizzly.comet.CometContext; import com.sun.enterprise.web.connector.grizzly.comet.CometEngine; import com.sun.enterprise.web.connector.grizzly.comet.CometEvent; import com.sun.enterprise.web.connector.grizzly.comet.CometHandler; |
上記のポイントさえ変更していただければ、そのままGlassFish&Cometの
サンプルアプリケーションを実行して頂く事が可能です。
是非、GlassFish&MySQL&Cometで新しいWebの世界へ進んで頂ければと
思っております。
PS.
サンのカメラ部として今回失格だったのが、あまりに
忙しすぎてあまり写真を撮れなかったのが唯一の残念です。(T_T)


Terracotta support GlassFish
According to the <A HREF="Release Note of the Terracotta which is a Clustering framework of Java
will support the GlassFish v2.1 at the latest version of 2.7.
Do you anyone try to use the Terracotta with GlassFish v2.1 ? Why GlassFIsh v2.1?
Reference as follows:
InfoQ: Terracotta 2.7 Release Supports GlassFish, Spring 2.5 and Distributed Garbage Collection
オープンソースのJavaクラスタリングフレームワークである、
Terracottaが次期バージョンである2.7よりGlassFish v2.1を
サポートするようです。
まだ、試していませんが時間を見つけて試してみたいと思っています。
もし、既にTerracottaとGlassFish v2.1を連携された方がいらっしゃったら、
是非その使用感を教えてください。
しかし、何故GlassFish v2以降ではなく、GlassFish v2.1なんだろう?
御参考:
InfoQ: Terracottaリリース2.7がGlassFish、Spring 2.5および分散ガベージコレクションをサポート
Sun Tech Days 2008 in Tokyo申し込み受付開始

明後日10/30(木)にMySQLカンファレンスが控えておりますが、
12月のイベント情報も公開されました。
12月2日、3日、4日と2008年を締めくくるSunの最大イベントである、
Sun Tech Days 2008 Tokyoの情報が本日より公開され、登録も開始されました。
去年は、展示会場でGlassFishの説明員を同僚としておりました。
今年は、Keynote後のセッションのトップバッターとして登壇予定です。
また、SDCの会員の方は、毎日先着で500名の方に、下記の腕時計を
もらえるそうです。

SDCの会員登録がまだの方も是非、SDCの会員登録を行って頂き、
是非、12月のSun Tech Days 2008 Tokyoにお越しください。
GlassFishとMySQLでComet!!
久々の更新となりますが、
MySQL ユーザコンファレンス 2008のご案内
でも紹介しましたが、来週の週末にMySQLのイベントが開催されます。
私もそこで1コマ担当させていただくわけですが、デモ用のアプリが突貫工事ですが、
完成しました。今回はMySQLとGlassFish上でCometを使用してDBに変更されたら
直ちに訪問者に通知するアプリケーションを紹介します。

手作り感たっぷりのあいかわらずデザインセンスの無いデモ画面 (^_^;)
DBの変更検知部分はやっつけで書いたので綺麗ではありませんが、
GlassFish上でCometを使うと、DBに対して負荷をかなり軽減
させる事ができます。
詳しくは来週の木曜日に発表する予定ですので、ここでは詳細は説明しませんが、
もし御興味のある方は是非、下記より事前登録の上御参加ください。
MySQLユーザカンファレンス事前登録
PS.
発表時以外は基本的に展示ブースにいますので、気軽に声を掛けてください。
川口さんのMetro,Jersey
昨日はJavaホットトピックセミナーで、川口さんからMetroと
Jerseyについて紹介をして頂きました。
セミナーでは、Metroを構成するWebサービス(JAX-WS等)の技術の
紹介やデモ等を紹介して頂きました。
発表内容もとても分かり易くて多くの参加者の方に触ってみたいという
言葉を頂いてました。
SunのWebサービスの実装はGlassFishだけでなく、
他のアプリケーションサーバでも使われる程、周りから認められて
います。
これからは、GlassFish + MetroでハイパフォーマンスなWebサービス
実行環境を利用してください!!
(最高でApache Axisの2倍以上高速です!!)
また、SOAPベースではなく、RESTfulなWebサービス(JAX-RS)を利用したい場合は、
Jerseyを利用してRESTな世界を堪能してください。
開発者のための参考情報:
● NetBeans 6.1を使用したJAX-WS開発
● NetBeans 6.1を使用したJAX-RS開発




週末の散歩(鎌倉編)
先週末より、USから川口さんが来日?!(帰国)されてらっしゃいます。
そこで、昨日月曜日、川口さんや櫻庭さん、大渕さんと共に鎌倉に出かけてきました。
鎌倉はとても久しぶりで私も楽しみにしていました。行きはそんなに
込んでなかったのですが、到着してから急に人が多くなり鎌倉は大変な
にぎわいを見せていました。
写真中に”かまきり”、私が川口さんと真剣に話していた所、
私の頭にいきなり飛んできて中断しました!!
このにっくき”かまきり”写真を撮る時にも私を睨んでました!!(T_T)




