関連キーワード
インスタントメッセージ、XML、標準化標準化の進まないIMに一石を投じる
●【Jabberの仕組み】 Jabber:XMLベースのオープンソースなインスタントメッセージプロトコル |
Jabberは仕様が公開され、オープンに開発が進められているインスタントメッセージプロトコルだ。インスタントメッセージ(以下「IM」)というと何やら小難しそうだが、簡単に言ってしまえばチャット、つまりリアルタイムでの文字データのやり取りを行うシステムである。単純なチャット機能の他にも、自分や相手の状態--オンラインかオフラインか、離席中か仕事中かなど――を簡単に認識する機能、あるいはSSLによってメッセージを暗号化して送受信する機能、会議室を作成し、多人数でチャットする機能なども用意されている。
Jabberはクライアント・サーバモデルになっており、ユーザーはクライアントソフトをインストールすればよい。クライアントはWindows 9x/2000/XPを始め、Windows CE、Mac OS、Linux、Javaと多くの環境用のものが作られており、フリーのモノも多い。例えばWindows用の「Exodus」など、日本語が扱えるものもある。
クラアントに比べれば少ないものの、サーバも、いくつかのプログラムがリリースされていて、「Jabberd」(末尾にdが付くのは「デーモンプロセス」を表わすUnixの命名方式にのっとったもの)などフリーのものもある。ネットに接続されたマシンさえあれば、自分でサーバを立ち上げることもできる。もっとも、既に「jabber.com/jabber.org/jabber.jp」など、インターネット上に公開されているサーバも存在しており、これらを利用すればサーバの心配をする必要はない。
Yahoo! MessengerやMSN Messenger、ちょっと古いところではICQと、インターネットではすでに多くのIMサービスが提供されている。ただ、これらのIMサービスにはプロトコルの互換性がなくユーザーは互いに通信できない。「IMUnified」と呼ばれる共通仕様策定の動きもあるが、各社の戦略的なしがらみもあって遅々として進んでいない。これに対してJabberは、プロトコルも実装もオープンに進められているため非互換という問題はない。また、Jabberサーバにはトランスポート機能があり、他のIMサービスとメッセージ交換ができるという特徴がある。
Jabberでやり取りされるデータはXML化されており、そのデータ形式や通信方式はすべて公開されている。プロトコル的にはJabber独自のプロトコルを既定しているが、仕様書やライブラリも提供されているので、Jabber対応のプログラムを記述することも難しくないだろう。例えば、ユーザーのオンライン・オフライン状態の変化をログに取るだけのプログラムを作成すれば、簡単な出勤簿のようなシステムが作成できるだろうし、選択式の設問を返し、その答えによって各種の診断を行うサポートシステムのようなプログラムも作成可能だろう。また、Jabberのリアルタイム性を活かし、刻々と変化するデータを交換するようなエージェントの作成も可能だ。
相互の非互換性のために、IMユーザーは複数のIMを使い分けるか、仲のよいグループや家族で同じIMを使うようにするなど、IMを取り巻く状況は、非インターネット的なたこつぼ状態に陥って久しい。標準化への前向きな一歩として、Jabberに期待したい。