InfoQ

News

Atomの真価?

作者 Mark Little , 翻訳者 編集部 投稿日 2008年10月14日 午前6時17分

コミュニティ
SOA
トピック
REST
タグ
Atom ,
AtomPub

How to GET a Cup of Coffee(参考記事・英語)に応え、RESTeasy(リンク)(JAX-RS実装)(参考記事)の主なデベロッパであるBill Burke氏は以下のように述べている。

Atomの真価は、まだわたしとうまくいってません。この具体的な例で「multipart/*」のようなものよりどこが優れているのかを示します。クラ イアントまたはサーバで、Atom XMLインタラクションフォーマットをサポートするのが複雑になりました。multipartでは、(Location、Content- LocationおよびContent-Typeヘッダーを通じ)よりずっと圧縮されたフォーマットで同様の情報を納めることができます。 multipartより優れているのであれば、古いURIのコンマで区切ったリストを送り返せばよいでしょう。 RESTに惹きつけられたことの1つ(唯一のことではない)は、サービス間で交換していたデータフォーマットに重点的に取り組むことができたこと、そして 中間プロトコルとの対話を妨げないということです。 今までのところ、わたしにとってAtomは、SOAPに代わる大変魅力的なものです。

Bill de hOra(リンク)は、Atomの重要な7つの側面を概説することで、(別の)Billの質問に答えようとしている(リンク)

  1. atom:ID
  2. atom:アップデート済み
  3. atom:リンク
  4. 拡張ルール(mustIgnore、外部マークアップ)
  5. 日付構成ルール
  6. コンテンツエンコードルール
  7. 順序なしエレメント

Bill(de hOra)によると、SOAPでの問題(唯一の問題?)は「最低限のエンベロープは何も定義せず、拡張ルールは間違ったデフォルト(mustUnderstand)を取り、コンテンツのエンコードはエクササイズのままにしていること」であった(今でも?)

それから、これらの原理がどういう点で実際にAtomよりもずっと広範に適応可能であるのかを述べて締めくくっている。

Atom(または、XML)を好んでいなくても、キャリアフォーマットがWebで存続するのであれば、これらの7つのプリミティブに対処する必要がありま す。ドメイン固有のものを好み、AtomやSOAPのような抽象フォーマットでドメインをマップしようとする人によく言うことです。それらに対して身構え ていれば、フォーマットの質や堅固さという点においては80%達成しています。思うにこれは、Webを介した使用または分散化システムでの使用フォーマッ トにあてはまる。杜撰なデータフォーマットがいったんワイルドになると、呼び出し元をリファクタリングすることができず、バージョン化しなければなりませ ん。

Atomの初めのほうの記事では、以下のように述べている(リンク)

... Atom APIは、いくつかの指針を考慮して設計された。
  • 適切に定義されたデータモデル -- スキーマなどあらゆるものがある!
  • RPCではなく、ドキュメントファイルの拡張子リテラル型のWebサービス
  • XMLおよび名前空間を最大限に活用
  • HTTPを最大限に活用
  • 確実なため、パスワードが不要である。

SOAPの別の起動方法である。ますます多くの人(参考記事)がさまざまな理由でAtomを受け入れている(参考記事リンク)状況において、今のところは確実に支持を得たRESTの子であるようだ。

原文はこちらです:http://www.infoq.com/news/2008/10/atom-value

特集コンテンツ一覧

Scala+Liftによる超実用開発

オブジェクト指向と関数型の機能をすべて提供し、さらにRubyに代表される動的言語の柔軟性と静的型付け言語の信頼性をも兼ね備え、JavaVMの上で開発実行できる新時代の言語がScalaだ。Scalaとその上で使える強力なWebフレームワークLiftを用いた実システム開発が世界的に広がっているが、今回は日本での実システム開発の事例とScala採用の理由をインタビュー+プレゼン形式で語ってもらう。

マネージャ 2.0: スクラムでのマネージャの役割

スクラムはマネージャの役割を定義しない。この記事ではPete Deemer氏がスクラムが果たす役割や選択肢について考察する。この考察にはマネージャの役割の再定義やマネージャをスクラムマスタに任命することも含む。

学習の科学: 脳にとって最善のアプローチ

ある意味、私たちはみんな先生です。ところが、プロの教育者だけがこの分野のトレーニングを受けています。この記事では神経細胞からの教えとそのアジャイルソフトウェア開発などへの適用方法について説明します。

GroovyServ —高速起動Groovy—

GroovyServは、筆者が所属しているNTTソフトウェア株式会社において、Apache License, Version 2.0に基づき開発・公開しているオープンソースソフトウェアです。GroovyServの基本的なアイデアの説明に始まり、実際の効果を示した上で、導入方法と簡単な使い方、応用例などについても説明します。最後に、適用条件と制約について言及します。

GroovyServ —高速起動Groovy—

GroovyServは、筆者が所属しているNTTソフトウェア株式会社において、Apache License, Version 2.0に基づき開発・公開しているオープンソースソフトウェアです。本記事ではGroovyServを紹介します。GroovyServの基本的なアイデアの説明に始まり、実際の効果を示した上で、導入方法と簡単な使い方、応用例などについても説明します。

丸山不二夫氏が語る― Android ”Cloud to Device Messaging Framework” 概要

Android2.2 Froyoで導入された”Cloud to Device Messaging (C2DM) Framework”は、Androidの利用スタイルに大きな変化をもたらす可能性があります。そこで、日本Androidの会 丸山不二夫会長による、「C2DMの概要」についての講演の模様を紹介します。

アジャイルの限界

アジャイルのスイート・スポットの外はアジャイルの手法を適用するするのはコストがかかり障壁もある。このような障害物はアジャイルの適用そのものの適用を妨げるものではないが、アジャイル実践のコストを増大させる。

マルチタスクで仕事は遅くなる

Juggling Balls

個人がマルチタスクで仕事をした場合、非効率で遅くなることは今ではよく知られている。Roger Brown氏は同じ問題を抱える厄介なチームで明示する。