node.js/WebSocketを使った通知プラットフォーム「Keima」
Keimaはnode.jsを使った通知プラットフォームです。
Webサービスを使っていて、新しいメッセージやお知らせをリアルタイムに受け取れる機能を目にしたことはないでしょうか。Gmail、Facebook、Twitterなど様々なサービスが使っています。そんなリアルタイム通知機能を実現するソフトウェアがKeimaです。
購読した後、実際に別なWebブラウザからPublishを実行するとログがリアルタイムに表示されるのが分かります。
Keimaではまず、作成したイベントを購読します(これは自動化できるでしょう)。そして外部からそのイベントに対して発信します。そうするとイベントを購読しているWebブラウザに対して通知処理が走る仕組みです。このイベントをユーザごとに作成したりすれば、そのユーザだけに通知が送れるという仕組みです。
Keimaはnode.js/JavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。
MOONGIFTはこう見る
Keimaの面白いところはイベントが作成できる点です。Socket.ioを使った場合、ブロードキャストで一斉にメッセージを流すのは簡単なのですが、ユーザごとに個別にメッセージを流すのは一手間かけないといけません。その点、Keimaを使えばユーザごとにユニークなキーを生成してそれをDB上に記録しておけば指定したユーザにだけ通知を送信できるようになります。
また、通知システムだけを切り離しておけるというメリットもあります。通知機能ではWebSocketを使うので既存のWebサーバに組み込むのが難しいという問題があります。Keimaならば切り離してWeb APIで連携させるというのが容易にできるので扱いが簡単です。使い勝手の良さそうな面白いソフトウェアです。