IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

Google Wave 私的まとめ

正直わからないことが多いです。突っ込み歓迎

以下、箇条書き

  • Google Wave という言葉が曖昧に使われている
  • Google Wave Provider
    • Google Wave Federation Protocol (XMPP Extension) のやりとりを実装したサーバー
    • Wave Proxy と Wave Gateway を持つ
      • Wave Gateway (配信用サーバー)
      • Wave Proxy (受信用サーバー)
    • Wave (Proxy|Gateway) とは別に何かしらの Frontend を持つ場合が多い(たとえば Comet みたいな)
  • Google Wave Federation Protocol
    • XMPP Extension
    • XMPP IQ Stanza の子要素として request 要素と delta 要素を定義
      • request: ドキュメントの更新履歴(差分受信履歴、waveop の履歴)を要求する(ログイン時に、前回ログイン時からの差分を取得したりする場合に使う)
      • delta: 差分(waveop)を通知して Wave Store 内の Document を更新する(またその更新をクライアントに push する)
  • データモデル
    • Wave: 2ch でいうところの板みたいなもの
    • Wavelet: スレみたいなもの
    • Wavelet には参加者(または、参加者グループ(複数の参加者を一人の参加者に抽象化したもの))という概念がある(Wavelet はユーザー ID に紐づいている)
      • push しなきゃいけないから
    • Document: Wavelet が持っている木構造のデータ(スレの実体、これが差分管理されるわけ)
    • Blip: Document の一要素、レスみたいなもの
  • その他
    • Document への delta が衝突した場合はウマく合成される(Google Wave Operational Transformation 参照)