InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Atom Publishing Protocolは出来損ないか?

作者 Dilip Krishnan , 翻訳者 金森 諭 投稿日 2009年4月30日

セクション
設計/アーキテクチャ,
エンタープライズ・アーキテクチャ
トピック
REST ,
SOA
タグ
Adoption ,
Browsers ,
AtomPub ,
JSON

原文(投稿日:2009/4/22)へのリンク

「Atom Publishing Protocolは出来損ないだ」(リンク)Joe Gregorio氏は「その日のブログ誇張ノルマ」を達成するためにこのように述べている。この記事の大半はAtomPub採用の展望が予想よりかなり低いことについて書かれている。氏は「日々開発が続けられている新しいプロトコルは数多くあります。それらはAtomPubを使うこともできたはずです。しかしそうはなっていません。」と書いている。

AtomPubが「真の唯一のプロトコル」になれないのは、ブラウザの革新のためだと氏は考える。

AtomとAtomPubが始まった2002年とは違う世の中になりました。ブラウザはずっとパワフルになり、ブラウザ間のJavascriptの互換性は向上を続け、まだある違いも多くのライブラリによってカバーされていますし、接続性も上昇傾向にあります。これらの変化を前にして、当初AtomPubが必要だとされた理由がどれだけ持ちこたえられるでしょうか。

氏によると、AtomPubによって達成されるはずだった主な事柄のうちのいくつかは、ブラウザ技術の発展によって簡単に実現できるようになったか、もはや大した問題ではなくなったのだという。

1. 当時ブラウザにできるのは「編集」に限られていて、AtomPubはファットクライアントやRIAによって使用されるものとして作られた。

現実には機能がどんどんブラウザに取り込まれ、それにより編集プロトコルは推進力の一部を失っているのです。

2. AtomPubはオフラインでの編集を想定して設計された。

別の目的は「飛行機の中で編集する」ことを実現することでした。常にオンラインでいることはできない、オフラインの時はブラウザを使うことができないとい う考えがありました。この月並みなアイディアのうちVirgin Atlantic航空(先駆けて機内インターネット接続を導入)にもEDGE(世界の多くの地域で使える携帯電話用の通信規格)でも出来ない事柄につい て、Google Gearsや分散型バージョン管理システムが解決策となります。

3. 共通の交換フォーマットとなる。

この場合の「問題」は、2002年以降により良いフォーマットが現れたことです。ブラウザとJavascriptの申し子であるJSONは「データ」の交 換フォーマットとしては完璧ですし、そこが「データ」交換と「文書」交換の違いなのだと考えています。もしAの時点からBの時点のデータを取得したいだけ なら、データ構造へ直接マッピングできるJSONの方がずっと生成するのも利用するのも簡単です。

氏はさまざまなサービスにおけるAtomPubの成功例をあげて、「ブラウザの機能とネットへの接続の向上によってAtomPubが広く使われるようになれなかった」と結論で述べている。

あるプラットフォームから別のプラットフォームへとデータを移行するといった他のケースでも持ちこたえています。おそらくAtomPubをベースにしたサービスを一番出しているのはGoogle Data API(リンク)をもつGoogleでしょうが、他のサービスでもサポートはされています。Flickrも画像をブログに表示できるようにするのにAtomPubを使っているのをつい最近知ったところです。

Dare Obasanjo氏も同じような感想を述べている(リンク)

WebでAPIを公開するのにオブジェクト指向のJSONが文書指向よりも人気となることがAtom Publishing Protocolにとっての危機的状況を作り出してきました。

Microsoftがクラウドサービス(参考記事)を提供する(参考記事)にあたってAtomPubに賭けたこと、そしてGoogleもGoogle Data API(参考記事・英語)を中心にAtomPubに投資していることからすると、結局はそれほどの出来損ないではないのかもしれない(リンク)。Joe Gregorio氏の元記事はこちら(リンク)から。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。