« BlogWrite Ver: 2.5.0.135 | メイン | RESTにおけるベストプラクティス: エラーハンドリング »
2006年08月17日
Blogger + GDataとoptimistic concurrencyなど
Bloggerのブログがアップデートを控えてベータ版が公開されています。主な変更は、
- GMailでメールにラベルをつけるのと同じように、記事にラベルをつけられる。(カテゴリの感覚)
- 記事を誰が読めるか指定出来る(Voxと同じ方向性)
- マウスのドラッグ&ドロップでレイアウトを変更
など。ここで新機能の紹介と、日本語のニュース記事は、ここや、ここ。 今後徐々にベータ版に移行できるようにしているそうです(現在移行できるブログに制限がある)。
感覚的には、日本ではあまりBloggerは利用されていない感じがして身近にインパクトはありません。ただし、GoogleのGDataAPIに関する動きの一環として、今回のベータ版からGDataAPIを利用した投稿が出来るようになったのが興味あります。
GDataAPIと言えば、新しいAtom Publishing Protocolベースの規格で、今の所、Googleカレンダーそして今回のBloggerで使えるようになりました。(Google Baseで使えるようになるのが待ち遠しい..)
Bloggerでの利用方法と詳細は、Using the Blogger Data API。
個人的な感想としては、Atom Publishing ProtocolベースのGDataAPIといっても、一癖ある感じです。特に、AtomicとIBM系のAtomサーバー実装などで行なったテストなどと比べると幾つか面倒な点がありました。
一つは、GDataAPIの独自のクセのある認証方法、もう一つはoptimistic concurrency (OCC)。 Googleを皮切りに、IBM系のシステムでもこのOCCを検討しているらしい...。と同時に、一部で議論になりつつもあるのがOCC。
意図しない上書きなどによる、データの誤った喪失を防ぐにはOCCは安易な方法だけれども、万が一、かち合った(conflict)場合の処理方法(DiffとMerge)、を考えると現実的ではないし、第一ぜんぜん楽しくない。例えば、バージョン管理システムのSVNでConflictがあると、「エーイ面倒くせーい、一旦全部削除してしまえ」という事がたまにあるのだけど(ほんの稀にですw)、それと似た感じ...
最悪なのは、記事を編集して投稿したら、Conflictが起きたので、今のは破棄するか、最新の記事を取得し直して一から書き直してください、見たいな事が起きてしまう事ですよね...。
他の方法としてはClient-ServerデータベースアプリケーションでよくあるLock。これだと、某ユーザーがアクセス中なので変更出来ません状態に陥ってしまいます。なので、多くの場合、後勝ちの方法で、最後に更新されたデータで上書きされる、というのが現実的に採用されています。多分現在のブログは、この後勝ち。どれもそれぞれ欠点というか問題があります。
カレンダーアプリケーションのようなケースでは良いですが、その他のケースでは個人的には、安易に特定の仕組みを導入するよりかは、実装と運用方法でカバーするのがベストのような気がしますが、もうちょっとこの件追っかけて行きたいと思います...。
投稿者 BlogWrite担当 : 2006年08月17日 12:52
トラックバック
このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/389

