Atom (ウェブ標準)

Atom（アトム）は、ウェブ上の各種コンテンツを配信するためのXML文書フォーマットおよびコンテンツの編集を行うための通信プロトコルなどいくつかの仕様群の総称である。

概要 
Atom配信フォーマット（Atom Syndication Format）
Atom出版プロトコル（Atom Publishing Protocol）

主な仕様は上記の2つ。1つはコンテンツを配信するためのフィードのフォーマットを規定する｢Atom配信フォーマット｣ (Atom Syndication Format)、もう1つはウェブ上のコンテンツを編集するための｢Atom出版プロトコル｣ (Atom Publishing Protocol) で、通称Atom APIまたはAtomPPとも呼ばれることがある。

元々、The Atom Projectとして、有志がウィキやメーリングリストで議論しながら草の根的に始まり、現在、活動の場所はIETF (Internet Engineering Task Force) に引き継がれてワーキンググループとして標準化活動が行われている。

Atomワーキンググループが掲げるモットーは以下の4つである。

特定のベンダに依存しない
すべての人が自由に実装できる
誰でも自由に拡張可能である
仕様を明確に且つ詳細に定義する

Atom Syndication Format 
ウェブサイトの更新情報等のメタデータやコンテンツの配信 (Syndication)、保存 (Archive) を受け持つXML文書の仕様。ブログやニュースをRSS・Atomアグリゲータ（RSSリーダーとも呼ばれる）アプリケーションで購読する際に用いるのが、この形式で記述されたファイルとなる。ほとんどのRSS・Atomアグリゲータは、RSSの各バージョンとAtomをサポートする。単にAtomといった場合、このフォーマットを指していることが多い。

用途 
ブログやニュースサイトの更新情報の配信のみにとどまらず、MP3や動画などのリッチメディアの配信にも用いることが出来る。拡張性が高いため、メタデータの流通方法として汎用的に利用することが可能となっている。

現状 
IETFにおいてとして仕様が公開され、広く利用されている。

サンプル 
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Example Feed</title>
 <link href="http://example.org/"/>
 <updated>2003-12-13T18:30:02Z</updated>
 <author>
   <name>John Doe</name>
 </author>
 <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

 <entry>
   <title>Atom-Powered Robots Run Amok</title>
   <link href="http://example.org/2003/12/13/atom03"/>
   <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
   <updated>2003-12-13T18:30:02Z</updated>
   <summary>Some text.</summary>
 </entry>

</feed>

Atom Publishing Protocol 
ブログやウィキなどのウェブ上のコンテンツ（リソース）を編集するためのアプリケーションレベルの通信プロトコル。これにより、Atom出版プロトコルに対応したアプリケーションに対し、デスクトップ上のソフトウェアやデータベース、携帯などのモバイル機器との直接の連携が可能になる。略称はもともとAtomPPであったが、その後にAtomPubと呼ばれるようになった。

Atom出版プロトコルはHTTPベースの通信プロトコルで、RESTのアーキテクチャスタイルに準拠している。また、通信でやり取りされるフォーマットは｢Atom配信フォーマット｣ベースのXML文書となっている。

用途 
デスクトップやモバイルとウェブとを繋ぐ掛け橋として、様々な用途に用いることが出来る。すでにデスクトップやモバイルのアプリケーションからブログへ投稿したり編集するためのアプリケーションが多数存在する。

現状 
IETFに移管される以前はAtom APIと呼ばれていたが、「Atom出版プロトコル」 (Atom Publishing Protocol) という正式名称に変更された。現在、として仕様が公開されている。

また、Atom APIと呼ばれていた頃のドラフト仕様 0.9を用いて、ブログ関連のアプリケーションでは実際に広く利用されている。

事例

Atom APIサーバ実装 
Blogger
「Blogger AtomAPI Documentation」（英語）
livedoor ブログ
Six Apart
「TypePad Atom API」（英語）
はてなブックマーク・はてなフォトライフ
はてなブックマークAtomAPI
はてなフォトライフAtomAPI
Blogmarks.net AtomAPI（英語）
So-net blog AtomAPI仕様

Atom APIクライアント実装 
BlogWrite
ecto

関連項目 
フィード
RSS
Representational State Transfer (REST)
Resource Description Framework
ブログ

外部リンク 

RFC4287 日本語訳

RSS
4287
XMLベースの技術
オープンフォーマット