簡潔性の対決

原題: Dueling simplicities
sse と google base

  • 双方向のrssについては既に他所に書いたのだが: InfoWorld.comのコラム
    • そこでは、MicrosoftGoogle がいかにXML syndication を使って双方向のデータのやり取りを実現しようとしているか、いかにウェブにデータベースの機能をも持たせようとしているかを扱った
    • エディターを通す出版サイクルのために出遅れているけれど、先週直接ウェブログに書いたら先見の明があるように見えたのに ;-)
  • Microsoft の計画は9月のビル・ゲイツとのインタビューで少しほのめかされていた
    • 「内部で...RSSを双方向にする話が」: 具体的なことは何もなし
  • 次に Google の Adam Bosworth が数年来あたためていた未来のデータベース像について ACM Queue に書いた
    • RSSAtomフィードを読み、クエリーすることはできる; 更新や削除はどうするのか? 答:
      • Atom はHTTPベースで 内の を挿入 INSERT、削除 DELETE、置換 REPLACE できる
  • Google Base は未だそのようにはなっていないが、GoogleAtomプロトコルXMLフラグメント操作におけるキー戦略ととらえている
  • 11/21にMicrosoftが双方向RSS拡張仕様を発表した
  • 役者はそろった: データとして使えるウェブへの全く違ったアプローチ
    • それぞれが対象とするデータと、解決しようとしている問題は何か
  • Google Base
    • RSSAtomを拡張
    • 幾つかの型 information type をあらかじめ定義、型はユーザー定義も可能
    • Google Base内のアイテムは独り独りのアカウントによってコントロールされる
    • コラボレーションはさらに上のメタデータのレベルで起こる
      • 売り手と買い手はコアのスキーマを勝手に拡張、検索の腕力ですべてを一網打尽
  • Microsoft の SSE (Simple Sharing Extensions)
    • こちらが扱うデータは連携的に所有されるもの
      • 予定表がいい例
  • GoogleMicrosoft もシンプルさを掲げているが、その意味は違っている
    • Googleのシンプルさ
      • データベースの基本操作(CRUD: 新規作成 Create、読み取り Retrieve、更新 Update、削除 Delete)をHTTPの基本操作にマッピングすること
      • 今は活用されていないままの PUT と DELETE を含めて。Tim Bray も言ったように
        • 6. 更新するには、Atomフォーマットで対象アイテムのURIにHTTP-PUTする
        • 7. 削除するには、そのURIにHTTP-DELETEする
        • 8. ステップ 8 はなし、それで全部だ
      • これは純粋に、まじりっけなく「よい」ものと言える
    • MicrosoftのSSE
      • また違ったよさと
        • SSEはRSSに対して必要最小限の拡張をほどこして、ゆるやかにアイテムを共有し協調するアプリケーションを可能にする
      • また違ったシンプルさを持つ:
        • そのシンプルさに内在するパワーのゆえに、RSSは求心力がある
        • Notes のレプリカ作成 replicate のシンプルさを再考
          • 最小限の実装がまったく簡単で、衝突への対応のような高度なタスクは二の次にできる
      • NotesやGrooveを作った彼にとってのシンプルは私たちにはシンプルでないかも
      • だが同期はCRUDに解決できる問題よりハードな問題であり、必然的に複雑になる
  • ここでは林檎と林檎のように対等のものを比べているのではない; 林檎とオレンジなのなら、私は両方ほしい
  • 初見では、Googleのアプローチの方がよりシンプルでより普遍的に思える
    • Adam Bosworthが見せてくれたAlchemy prototypeもある
      • データのインテリジェンスをブラウザー側にもってくる企て
      • 軽量なXMLをコアに使っていて、シンプルな同期エンジンだった
  • 楽しいことになりそうだ