Overview

Oceanは、XMPPプロトコルを中心とする、リアルタイムコミュニケーションフレームワークスイートです(XMPPプロトコルについては プロトコルガイドで解説します)。つまり、リアルタイムコミュニケーションサービスを実現するためのフレームワークの集合で、次のような機能の提供を実現することを目指しています。

  • 一対一のインスタントメッセンジャー
  • プレゼンスサービス
  • グループチャット
  • オーディオチャット、ビデオチャット
  • イベントのプッシュ通知

また、他のJabber/XMPPライブラリやフレームワークと比べたときの特徴として、次のようなものを目指しています。

  • Webサービスとのインテグレーションを前提とした設計
  • クラスターサポート
  • デファクトスタンダードな拡張を一通り標準サポートしたフルスタックフレームワーク
  • WebSocketなどを利用したHTTP Bindingの独自サポート

スタンドアロンのXMPPサービスを構築するのが主目的ではなく、既に運営されている、あるいはこれから作成する、Webサービスとインテグレーションすることを前提として作られています。

そのために、XMPPの仕様のうち、インテグレーションに必要の無い、オーバースペックな箇所は削減しています。逆に、Webサービスとのインテグレーションにおいて、不便で物足りない点については、独自拡張仕様を採用しています。また、XMPP拡張仕様(XEPs)のうち、デファクトスタンダードでよく使われるものや、Webサービスとのインテグレーションで必要だと思われるものを最初から取り込んでいます。これらの点についても、プロトコルガイドで解説します。

まずはインストールガイドを参考に、Oceanをインストールしたのち、チュートリアルに従って、一度スタンドアロンで動かしてみるとよいでしょう。

チュートリアルで雰囲気をつかみ、プロトコルガイドでJabber/XMPPについて把握ができたなら、開発ガイドを見ながら実際にサービスとつなぎこんでみましょう。

一定規模を超えるユーザーを抱えているならばスケーリングも考慮しなくてはなりません。クラスターガイドを参考にするとよいでしょう。