Posts tagged ‘Comet’

Servlet 3.0 の新機能概要


Servlet 3.0 の新機能をプレゼン形式でまとめてみました。個々の機能に関する詳細は別途記載する予定ですが、ここでかんたんに概要を説明します。

Servlet 3.0 は Servlet 2.5 からかなり多くの改良が施されています。
Java SE 5 から利用可能になった、アノテーションを利用し、今まで web.xml に記載していた Servlet や Filter 等の設定をアノテーションで記載できるようになり開発生産性が大幅に向上しました。
また、プラガビリティの向上として、外部のフレームワークやライブラリの設定を web.xml 以外のファイル (web-fragment.xml) に記載できるようになったため、web.xml の肥大化を抑制でき、またフレームワークの設定管理が容易になっています。
その他では Servlet API 自身でマルチパートを扱えるようになったため、Servlet API だけでファイルをアップロードすることができるようになっています。
さらに、Servlet 3.0 から非同期処理を実現できるようになっています。この非同期処理機能は、Comet/Reverse Ajax 等のアプリケーションを実装できる他、DB アクセス等とても処理に時間がかかるような処理を非同期で処理する事ができるようになります。例えば、HttpServlet のスレッドとは別のスレッドで非同期に実現する事で DB が高負荷時に HttpServlet の最大スレッド数に到達し Web のアクセスが不可になる状態を防ぐ事もできます。
その他では、HttpServletRequest に login/logout/authenticate のメソッドが含まれ、プログラムを利用しログイン/ログアウト処理を実装できるようになった他、@ServletSecurity を使用して web.xml に記載していた < security-constraint > の設定をプログラム中で宣言できるようになっています。

改良された、Servlet 3.0 を是非お試しください。


web.fragment.xml に関する詳細は 「Servlet 3.0 web-fragment.xml による設定」 のエントリをご参照ください。


マルチパートの詳細は 「Servlet 3.0 File Upload 機能」 のエントリをご参照ください。

2010年3月14日 at 2:26 AM 1件のコメント

POJO Comet Framework Atmosphere 0.3 Released




Grizzly の開発者の1人である Jean Francois は

Atmosphere 0.3 のリリースを発表しました。



Atmosphere は POJO ベースで Comet (Reverse Ajax) を

実装することのできるフレームワークなのですが、

今回のリリースではクラスター化されたシステムでも

利用できるようになったようです。



その他、RESTful,Scala 等への対応という事で、

以前のバージョンに比べて大幅に機能拡張がされているようです。



Atomosphere のフレームワークは Tomcat, Jetty, JBoss, WebLogic

WebSphere 等の環境でも動作させる事が可能ですので、Comet の

アプリケーションを実装されたい方は是非試してください。





Atmosphere 0.3 から追加された新機能



* Full REST based application using Atmosphere core module

* Scala support: Use Scala to write powerful asynchronous web application

* Bayeux Protocol: You like the Comed/Bayeux Protocol? Run it on of Atmosphere.

* Cluster supported: decide between Shoal or JGroups

* Annotations Injection: You can now write your own annotation and inject it as needed

* Use Atmosphere as a Filter instead of a Servlet

* Customize Broadcaster Scope and re-write Twitter.com

* Use Filters like Google Guice

* Run on Glassfish, Tomcat, Jetty, JBoss, WebLogic, WebSphere using Servlet 3.0 or native Comet implementation

* Execute synchronous broadcast or asynchronous broadcast using BroadcasterFuture

* Filter and transform broadcasted message using BroadcasterFilter

* Work with the new Grails Atmosphere plug-in

* Play tic-tac-toe using Atmosphere




2009年7月23日 at 9:32 PM

Atmosphere 0.1 GA リリース




Grizzly プロジェクトより派生した Atmosphere プロジェクトの

初めての成果物 (0.1 GA) がリリースされました。



Atmosphere プロジェクトでは汎用的に使える Comet フレームワークとして

AtmosphereHandler インタフェースを実装して簡単に Comet アプリケーションを

作成することができるようになります。



チャットの実装例



今までは Comet のアプリケーションを作成する場合、サーバ側の実装は

各 Web コンテナの Comet Engine の実装に応じてばらばらに実装しなければ

なりませんでしたが、このフレームワークを利用することで、一度実装した

Comet のサーバ側の実装を様々な Web コンテナ上で動作させることができるようになります。



サポートされる Web コンテナ:
Tomcat,Jetty, GlassFish,Weblogic, Jersey,Grizzly


チャットアプリケーションの実装例:


Getting started with Atmosphere CPR part 1: Writing the HelloWord of Comet….a Chat application



Comet のアプリケーションに興味のある方は是非このフレームワークをお試しください。





ちょっと春らしく:




2009年4月27日 at 1:11 AM

Grizzly/GlassFish Comet はスケールする?




今、Grizzly のメーリングリストでおそらく皆様が

もつ疑問について問い合わせされている人がいます。



概要を説明すると、Grizzly は 本番環境で耐えうるだけの Comet の接続を受け付け

レスポンスを返すことができるか?ということについてです。



これについて、開発者の Jean Francois は作成するアプリケーション

(long poll/streaming)によって違うが、ユニットテストを行った際には、

ちゃんとスケールしているとのことでした。

実際に、社内の IM で大量のユーザが利用しています。



ベンチマークで使用したユニットテスト:

https://grizzly.dev.java.net/nonav/xref-test/com/sun/grizzly/comet/CometUnitTest.html


また、今年の JavaOne で彼は、Grizzly のベンチマークに関連した

セッションを発表するようです。

(今年は是非行きたかったのですが、このご時世なので行けません。(T_T))



また、Jetty と比べても Grizzly(GlassFish) の方がスケールするようです。

(彼は Jetty も好きなようですが)

実際、Jetty のサスペンドの部分に若干問題がるようで、Jetty はスケールできないようです。

(例外が出力され、サーブレットが2度呼び出しされる)



また、Grizzly の場合、Comet の実装コードは CometContext.notify() と

NotificationHandler に実装すれば良いだけなので、開発者の皆様は、

Jetty で実装するよりも格段にかんたんに実装できるようになるとのことでした。



大規模環境で、GlassFish/Grizzly の Comet を検討されている方は今年のJavaOneの

Jean-Francois のプレゼンを楽しみにしていてください。


2009年3月16日 at 12:06 AM

ICEfacesとGlassFishでCometアプリケーション




ICEfaces を使って Ajax Push(Comet) を実現するための、資料が公開されています。



例えば、ある人が Google Map で座標を動かした時に、他人の

Google Map の座標を動かすというようなことも紹介してました。

(Google Map は Liferey 上のポートレットとして動作)



現在のHTTPの仕様の制限上、単一のブラウザが同じサーバに対して2つのコネクション

しかはれないので、ポートレット内で Ajax Push を実現するためには色々と考える

必要があるかと思いますが、限定的に使う分には面白いかもしれません。



プレゼン資料:

From Ajax Push to JSF 2.0: ICEfaces on GlassFish



追記(2009/03/14)

Suhail Ahmed さんから参考情報を頂きました、上記で紹介した

ICEfaces Portlet を使ったサンプルを下記に公開されて

いるようですので、ご興味のある方は是非参照してください。

Webinar: Filthy Rich Portlets with ICEfaces and Liferay



その他参考情報

ブログ:


http://weblogs.java.net/blog/jfarcand/archive/2007/05/new_adventures.html



http://weblogs.java.net/blog/jfarcand/archive/2007/03/new_adventures_1.html



http://weblogs.java.net/blog/jfarcand/archive/2007/06/new_adventures_3.html



http://weblogs.java.net/blog/jfarcand/archive/2008/11/writing_a_twitt.html



http://cometdaily.com/2008/04/01/new-technology-new-problems-delayed-pushes-operations/




プレゼン資料:


http://weblogs.java.net/blog/jfarcand/archive/2008/10/applying_asynch.html


http://wikis.sun.com/display/TheAquarium/Comet


2009年3月11日 at 7:58 PM

GlassFish で Comet のオンラインセミナー




今日の日本時間で明け方4時ころに、Grizzly の開発者である

Jeanfrancois がオンラインセミナーを開催しました。

その発表内容が下記にてストリーミングで提供されていますので、

もし、ご興味のある方は見てください。



http://www.ustream.tv/channel/theaquarium



その他にも、今日は注目の技術エントリを紹介します。



開発関連

● WS-Addressing と
ステートフル Web サービス


● 
RESTful Web サービス と Jersey の Client API




MySQL関連

● 
Sun and MySQL: How It Stacks Up for Developers


● 
GlassFish と MySQL を連携した Web サービスの構築


● Using MySQL With Java Technology



SailFin 関連

● Adding Voice to Java EE With SIP Servlets


2009年3月5日 at 7:10 PM

GlassFish でかんたん Comet (Reverse Ajax, Ajax Puxh)アプリケーション




以前、Cometのアプリケーションを POJO で作成できるフレームワークである

Atmosphere のプロジェクトについて紹介しましたが、このプロジェクトも

ずいぶんプロジェクトが進行したようです。



タイトルでは、GlassFish と書きましたが、このプロジェクトの成果物は

Tomcat, Jetty 等他の Servlet コンテナ上でも動作します。



この、Atomosphere のPOJO フレームワークである Grizzlet のサンプルが

下記で公開されましたので、Comet のアプリケーションにご興味のある方は

是非、一度御確認いただければと思います。




Grizzlet Flickr サンプルアプリケーション


ソースコードサンプル


2009年2月26日 at 8:22 PM 2件のコメント

過去の投稿


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2017年3月
« 2月    
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 933,013 hits

Feeds