Jabber と WordPress (後編)

XMPP PubSub

Jabber / XMPP には PubSub という機能があります。Publish-Subscribe の意味です。

まず、Jabber サーバー上に「ノード node」と呼ばれるポイントを (たいていの場合、発信者が) 作成します。「発信者 publisher」と「継読者 subscriber」を文字どおり結びつける場所です。継読者は、このノードに対して継読を申し込みます(subscribe)。なお日本語では「購読」と訳されることが多いのですが、ここでは「継読」という語を当てます。そして、発信者がノードに対して情報を送るたびに、登録されている継読者にそのことが通知されます。

配信サービスという意味では、RSS/Atom フィードによく似ています。フィードは、更新があるかどうかを受信者側から (フィードリーダーの設定などにより定期的に) 情報を読みにいきます。このブログのように月に一度ほどしか更新がないのに受信者側がフィードリーダーに「60分」などと設定していると、受信者側からのアクセスに対する返答の十中八九は「更新情報なし」で、無駄足だったということになります。だからと言ってあまり長い時間間隔に設定していると、新しい情報が出た際には受信者がそれを読みにいく時刻までに大きなラグが生じます。

それに対して PubSub は、発信者が情報を出すたびに、「電光石火の速さ」で継読者に通知されます。

WordPress と PubSub

WordPress.com のブログ記事「ブログ投稿やコメントの即時配信」 (この日本語訳は2010年9月24日付ですが、元の英文記事は2010年8月25日付)は、WordPress.com のブログサービスにこの Jabber の PubSub 機能を連動させたことを伝えています。WordPress.com のサポートのページ (英語)の後半の解説によると、継読の申し込みや解除などの操作は bot を介して行うようです。

WordPress.com ではなく、WordPress.org で配布されているインストール型の WordPress には、この機能はないのでしょうか? プラグイン Jabber Feed を使えば実現できそうです。しかし、ノードを作成する権限のある Jabber サーバーがあるかどうか、など環境が整わないと難しそうです。自前で Jabber サーバーを設置できれば自由がききます。このブログにも設定してみました (サイドバーにリンクがあります)。

多くのホスティングサービスでは Web サーバー と Mail サーバーを使わせてくれますが、Jabber サーバーを使わせてくれるところというのは聞いたことがありません。素人考えでは Web サーバー や Mail サーバーに比べて難しいことはないと思うのですが。これが一般的になれば、Jabber の利用が拡がり、インストール型の WordPress でも PubSub を簡単に使えるようになるかもしれません。

【跋】 今頃(2010年11月末)になって、数カ月前の WordPress.com のブログ記事に気づきました。しかし検索してみると、この間にこれに注目しているような日本語の情報はごくわずかの例を除いて見つかりませんでした。また、WordPress.com のブログ記事も PubSub の機能を主に紹介するもので、Jabber のもっとも一般的な面であるインスタントメッセージングについての解説がなかった (そもそも Jabber に関する情報は日本語ではとても少ない) ので、ここに書いてみることにしました。

Jabber と WordPress (前編)

Jabber / XMPP とは

Jabber とはインスタントメッセージングサービスのひとつです。XMPP はそのプロトコルです。Web に対する HTTP と同じ対応で、Jabber に対する XMPP ということになります。

インスタントメッセージングサービスというと、「Yahoo!メッセンジャー」とか「Windows Live メッセンジャー」などと同系統のものですが、仕様がオープンなので、多くのサーバーやクライアントのソフトが存在します。好きなクライアントを選んで使うことができますし、また、Web サーバーや Mail サーバーを設置・運用するのと同じように、自分でサーバーを設置して運用することもできます。XMPP どうしならサーバーを越えて通信できます。たとえば、Google トークは XMPP 準拠なので、ほかの XMPP のサーバー、ネットワークと通信できます。

Jabber / XMPP1対1のチャットは、あまり説明の必要はありませんが、ちょうどメール、その返事、その返事……の連続といったものととらえることもできます。

多人数のチャット (Muiti-User Chat (MUC))もあります。ユーザーからの見た目や操作は IRC によく似ています。

クライアントとアカウント

Jabber を始めるのに必要なものは、まず Jabber クライアントです。Web を利用するのにブラウザが、Mail を利用するのにメールソフトが必要なのと同じです。

クライアントの

などは日本語化されていています。Web ブラウザ上で動くもの、モバイル向けなど、ほかにもたくさんあります

もう一つ、欠かせないのがアカウントです。メールを使う際にはメールアドレスが必要なのと同じことです。Jabber のアカウントは Jabber ID、略して JID と呼ばれ、形はメールアドレスにそっくりで、

name@example.com

アットマークの前はユーザー名、後ろはそのユーザーの属するサーバー名です。

自分で XMPP サーバーを設置できれば簡単に (そして自由に) JID を得られるのですが、そうでない場合はどうすればいいのでしょうか? ひとつの方法は公開 XMPP サーバーで JID を作ることができます。日本語では XMPP.JP というところがあります。

しかし、Jabber をいままで知らなかった人でも実は既に JID を持っている可能性があります。

のいずれかであれば、既に JID を持っています。

GMail の場合、メールアドレスとまったく同じで、たとえば name というアカウントを持っていれば、JID は name@gmail.com です。GMail にはチャット機能が含まれており、これが Google トーク、すなわち XMPP のメッセージングなのです。この Google の JID を別のクライアントで使用することも可能です。

WordPress.com (WordPress.com であって WordPress.org ではありません) の場合、たとえば name というアカウントを持っていれば、JID は name@im.wordpress.comになります。WordPress.com のサポートのページ (英語)に解説があり、そのページのリンクには主なクライアントの設定方法もあります。

前置きのような内容だけでも長くなったので、ここで区切って続きは後編で。