Comet練習

せっかくの長休み。なにか1本!ということで、Rails+JuggernautでCometなイベント通知サーバもどきを書いてみた。

目的:

あちこちで使い回せるお手軽な上流用イベント通知サーバを作るテスト。

機能:

  • 仮想的なイベント記録ファイルに対し、オープン・クローズ・書き込みの3機能を提供する。
  • イベント通知をリアルタイムに表示する。
  • 1回のイベント通知操作にかかる時間は0.5秒以下。

実装:

  • APIWebServiceプロトコルSOAP
  • イベント通知データはSQLite3に保存。
  • 書き込み操作系には
    • 一発書き込みの「write_event」メソッドと、
    • 応用を効かすための「begin_event」「put_message」「commit_event」メソッド群を用意。
  • イベント通知の表示はWebブラウザで所定のページを開いて行う。


という感じで作成。
粒度が荒いイベント通知、たとえばアプリ上層の要所要所のログなら

  • 呼び出しがSOAPなので大抵の既存アプリに突っ込める。
  • 表示にWebブラウザを使うのでユーザ環境を選ばない。
  • HTML+CSSで表示を工夫していけばすれば、十分なUIを提供できる。

という利点がある。・・・と思う。


イベント1件をDBでは「ヘッダ+明細」としてあり、それぞれタグ項目を付けてある。なのでビューアの書き方次第で、開発内部ツール、あるいは、社内のちょっとした便利ツールとしての使い道は色々あるのではないかしら。