Ajax/Comet http://www.ark-web.jp/sandbox/wiki/13.html

http://alex.dojotoolkit.org/?p=545

Fundamentally, they all use long-lived HTTP connections to reduce the latency with which messages are passed to the server. In essence, they do not poll the server occasionally. Instead the server has an open line of communication with which it can push data to the client.

定期的にサーバーに情報をとりにいくのではなく、HTTPコネクションを残しておいて、サーバーから、データをプッシュしてくる、ということらしいです。

While Comet is similar to Ajax in that it’s asynchronous, applications that implement the Comet style can communicate state changes with almost negligible latency. This makes it suitable for many types of monitoring and multi-user collaboration applications which would otherwise be difficult or impossible to handle in a browser without plugins.

非同期という点でAjaxと似ているが、Cometスタイルの実装は、遅延することなく状態の変化をコミュニケートすることができるので、これまで、プラグインがなくては難しかったモニタリングとか、複数ユーザーがコラボレーションするようなアプリケーションも作れるよ、ということなのかな。

Why Is Comet Better For Users?
Regular Ajax improves the responsiveness of a UI for a single user, but at the cost of allowing the context to go “stale” for long-lived pages. Changes to data from others users is lost until a user refreshes the whole page. An application can alternately return to the “bad old days” and maintain some sort of state mechanism by which it tells client about changes since the last time they’ve communicated.
・・・略・・・
Applications that employ the Comet technique can avoid this problem by pushing updates to all clients as they happen. UI state does not go out of sync and everyone using an application can easily understand what their changes will mean for other users.

Ajaxでは、他のユーザーによって発生されたeventはrefreshするまで分からないけど、
Cometならすぐに分からせることができる、ってことですね。

But Does It Scale?
・・・略・・・
Even Apache will provide a Comet-ready worker module in the upcoming 2.2 release. Until then, tools like Twisted, POE, Nevow, mod_pubsub, and other higher-level event-driven IO abstractions are making Comet available to developers on the bleeding edge.

Apache2.2リリースで、Comet-ready worker moduleが提供されるが、それまでは、Twisted, POE, Nevow, mod_pubsubその他、高レベルのイベントドリブンIO抽象化(?)のツールを使ってComentを利用できるようにする感じ?

Aさんからなにか情報が来て、それをBさんに通知するためには、Aさんのコネクションを保持しているプロセスがBさんのコネクションを保持しているプロセスにどうにかして通知しないといけないですよね。
Servletとかだったらできそうだけど。
上のようなツールを使うと、そういうこともできるってことなのかな?

とりあえずCometは要チェックってことで。

[edit]

上記関連記事

http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications

He also points out that Dojo has supported Comet-style architecture for some time.

DojoはCometスタイルアーキテクチャをサポートしてるって?

"Comet" architecture - it polls the server every three seconds for new messages. Since 37Signals presumably has similar constraints to Meebo or JotSpot, why would they prefer polling? More generally, when to use polling and when to use Comet?

37Signalsは3秒おきに情報をpollingしているが、そのやり方でもいいだろう? どういう場合にpollingを使って、どういう場合にCometを使うのか?、って感じですかね。

Tech2006: After AJAX: Low-latency Data to (and from) the Browser
http://windchase.jp/blog/archives/2006/03/09/36.html

Javeline TelePort released under the GPL
http://ajaxian.com/archives/javeline-teleport-released-under-the-gpl

Javeline TelePort is an Open Source server communication layer supporting all popular web services such as XML-RPC, SOAP, JSON, REST and Comet.

投稿者志田 | パーマリンク

| append.gif

tag: Ajax


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-02-17 (日) 00:41:35 (3058d)

アークウェブのサービスやソリューションはこちら