InfoQ

News

RESTful Worldでの素晴らしいURI

作者 Thomas Bandholtz, 翻訳者 編集部 投稿日 2008年4月10日 午後12時20分

コミュニティ
SOA
トピック
REST,
Semantic Web
タグ
W3C,
Collaborative Technologies,
RDF,
標準化,
マッシュアップ,
Web 2.0
「最小の統合コストでマシン読み取りが可能なデータを共有するための、分散化ワールドワイド情報空間として思い描かれる」とは何を指しているのか? RESTだろうか?いや、違う。SWEOによると、これはSemantic Webということだ。素晴らしいURIは、こうすることを支援する。そこで、RESTful SOA URIも同様に「素晴らしい」のかどうかを確かめてみる価値はあるかもしれない。

Semantic Web Education and Outreach (SWEO)(source)Interest Groupは、 3月末にその権利が終わりを迎えた。最後の製品はCool URIs for the Semantic Web(source)についてのW3C Noteであった。URIは素晴らしいか?1988年(当時はまだ「Sir」ではない)のTim Berners-Lee氏による記事に言及する。
「何が素晴らしいURIを可能にするのか?
素晴らしいURIは、変化しない。
どんな種類のURIが変化するのか?  
URIは変化しない。人びとが変えているのだ」。

こんにちの素晴らしいURIはそんなに単純ではない。2005年、「HTTP修飾参照機能の範囲」(httpRange-14)(source)に関する長く続いた討論の 後、W3C Technical Architecture Group (TAG)は最終的に決定したのは、「HTTP応答コード200(うまくいった検索)が指定され、URIが情報リソースのためであり、しかし、そのような 応答がなく、または別のコードがあることを示唆しているなら、そんな試みはなかっただろう」と2005年にTBLによってまとめられた(source)ことである。現在の SWEO Noteは、Roy T.Fielding氏によるさらに詳細な投稿(source)に言及している。

a) 「http」リソースが2xx応答でGET要求に応答するならば、そのURIで特定されるリソースは情報リソースである。
b)「http」リソースが303(他、参照)応答でGET要求に応答するならば、そのURIで特定されるリソースはリソースである。
c) 「http」リソースが4xx(エラー)応答でGET要求に応答するならば、そのリソースの種類は不明である。

Fielding氏は、REST(参考記事リンク)アーキテクチャーの異名である。しかしながら、httpRange-14の決定は、ほとんどRESTful SOAでは認められていない。例として、Mark Bakers氏による「hypermedia constraint」(参考記事)やAnne Thomas Manes氏による「REST is about Resources」(source)などがある。URIは、概してRESTの基本的な概念である、Uniform Resource Identifiersである。SWEO Noteのみが、例証としての「RDF仕様の実装者の現実的なガイド」と追加している。

RDF(source)は、Resource Description Frameworkを表し、「ユーザが現実の人びと、組織、トピック、ものからのWebドキュメントおよび概念をコンピュータが処理可能な方法で記述する ことを可能にする。そよのうな記述のWeb上での公開は、Semantic Webを作成する」。 人が読解可能なドキュメント(別名:情報リソース)およびコンピュータが処理可能な記述またはセマンティクスコンセプトの共起は、HTTP URIの識別(source)に曖昧さを生じさせる。 http://www.example.com/people/alice はAliceの美しくデザインされたホームページを表しているのか、それともAliceについてのRDFがエンコードされたメタデータを表しているのか?企業固有のスキームに従ったvCard、FOAFレコード、またはHRデータセットであるのか?

そういった質問はプロトコルに依存しないURI構文(source)の範囲外であるので、ソリューションとしてコンテンツネゴシエーション(source)を提供するのはHTTPプロトコ ル次第である。HTTPクライアントは優先されたデータ形式と言語に加え要求ヘッダーでのターゲットURIを考慮に入れないので、コンテンツプロバイダー がこれらの設定を取り扱うべきである。SWEO Noteは、それぞれのデータ形式に1つの個別のURIを暗示するソリューションと「汎用」のURIを提供する。これにより、必要に応じて複数の提示の中 で具体的な好みへの直接リンクが可能になり、汎用URIは実行時間としてHTTP要求で指定された「受諾」設定にしたがって、これらの1つに転送する。 Apache HTTP Serveのさらに詳しいベストプラクティス(source)が公開されている。

これは主に修正ドキュメントファイルの準備に適合することを、RESTful SOAは議論するかもしれない。動的SOAサーバは転送することなしに、オンデマンドで要求されたフォーマットでコンテンツをレンダリングすることのみ で、簡単にこの「汎用」URIコンセプトを実装することができる。このビューはコンテンツの希望に沿いながら、転送アーキテクチャーがリンケージおよび参 照をサポートする。また、リソース管理およびガバナンス(source)を利用し、Semantic WebまたはRESTful SOAでそうする。そしておそらくこれらの2つのアプリケーションの分野はお互いにそれほど離れたものではない。

原文はこちらです:http://www.infoq.com/news/2008/04/cool-uris-rest

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

クラウドコンピューティング ~ EC2、Mosso、GoGrid

クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。

仮想化入門

このArticleでは仮想化に関する利点と欠点を見ながら、仮想化の違いについて詳しく追っていきます。

Java 6のスレッド最適化は実際に動作しているのか? - パートII

パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。

RESTアンチパターン

本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。

モデル駆動ソフトウェア開発のためのベストプラクティス

Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。

スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル

Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.

Spring 2.5:Spring MVCの新機能

この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。

"YUKATA"から始まるコミュニケーション(Agile2008 ライトニングトークより)

私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。