InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example
美しいWebサービス設計に欠かせない思想として注目されている「REST(Representational State Transfer)」。HTTPプロトコルに「リソース指向アーキテクチャ」という考え方を導入し、「なんでもRESTで表現できる」として熱心にこの思想の普及につとめている人々は「RESTafarians」=REST信者として尊敬を集めているが、いま彼らが分裂の危機に瀕している。REST論壇を真っ二つに分ける激論が勃発したのだ。議論の火種となったのは 「恋愛は“GET”で表すべきか、“PUT”で表すべきか」 というもの。 リソースへのアクセスメソッドをGETにするかPUTにするかは、REST信者にとっては美しいWebサービスを設計するうえでもっとも重要な問題だ。ここで「恋愛はGET」と主張して譲らないのが、業界でRESTエヴェンジェリストとして知られる株式会社リコーの山本陽平氏。
Tim Bray’s article on RESTful Casuistry revisits an odd meme in the REST debates that I’ve been meaning to discredit for a while. Some people think that REST suggests not to use POST for updates. Search my dissertation and you won’t find any mention of CRUD or POST. The only mention of PUT is in regard to HTTP’s lack of write-back caching. The main reason for my lack of specificity is because
Roy Fielding: All of those points are rather small compared to my overall complaint that it isn’t appropriate to define a “REST” binding to a specific data model’s limitations. The whole point of REST is to avoid coupling between the client applications and whatever implementation might be behind the abstract interface provided by the server. First, by way of disclosure, I had an opportunity to pr
About three weeks ago, a new “standard” for Content Management Interoperability Services (CMIS) was announced by EMC, IBM, and Microsoft with the usual fanfare of being the best thing since sliced bread and compliant with the latest buzzwords. One of those buzzwords, REST (as in Representational State Transfer), happens to be defined by my dissertation. I am getting tired of big companies making i
さてすでに書きましたが最近 API づいております。できるだけ RESTful な API を作りたいなぁと思っているわけですが、そこで問題になったのがテスト環境。 まず、ブラウザは使いものになりません。 通常の方法では GET, POST 以外のリクエストを投げられない通常の方法では html, xml, plain text な response body 以外は表示できないからです。 まぁ今回テストしたかったのは read only な API なのでリクエストメソッドとしては GET, POST だけでも問題はないのですが、response が application/json だったので 毎回毎回「ダウンロードダイアログが出る -> ダウンロード -> ファイルを開く」 作業が必要になり、さすがにこれはやっとれんと思いました。 そこでまず目をつけたのは以前インストールだけしてあっ
DeWitt: @dehora Sorry, that should read: We haven't created an AtomPub *for* RPC yet. IMHO, that's the biggest gap today. What we seem to need is a data-oriented REST protocol. We already have document-oriented REST protocols covered with the Atom Publishing Protocol, but what if the information you want to convey is data, i.e. doesn't have the minimum meta-data to qualify as a document, such as a
http://text.art-code.org/presen/restfulreading/ 取り急ぎ資料だけうpしまーす。感想はまた後日>< でも一言だけ言えば、みんなデレっぷりが酷い件。
第2版(2008年1月19日):翻訳者による注釈を追加しました。 ヘテロジニアスなアプリケーション間の通信を実装するための「適切な」手法について議論が行われているということを、あなたは知っているかもしれないし、知らないかもしれません。そういった状況下で、現在の主流は明らかにSOAP、WSDL、WS-*仕様という世界をベースとしたWebサービスにフォーカスしています。しかし、少数派の人たちの中で、より良い方法があると主張する人がいます。それが、REST(REpresentational State Transferの略)です。本稿では、本筋から外れることなく、RESTとRESTfulなHTTPアプリケーション統合への実用的な説明を試みようと思います。これらの考え方の説明については、より詳細に踏み込んで説明をするつもりです。私の経験上、誰かが始めてこのアプローチを経験することで一番議論が活発に
以前に有名となった「Apache vs Yawsのグラフ」(source)を見て、あなたもまたYawsを使うべきだと思ったでしょうか? 一見すると、そのグラフは、Yawsに対する信じられないくらい大きなスケーラビリティの優位性があるように見えます。Apacheが4000のパラレル接続でダウンしたのに対し、Yawsは80,000を超えるスケール能力を持っています。このグラフに対する反応は大きく二極化する傾向にあります。「これらのグラフは正確な方法で行われたものではなかった」あるいは「Apacheの設定ミスに違いない」というものと、それとは反対に「ワオ!Yawsを利用する価値がある」というものです。 Yawsの比較グラフを信じるかどうかに関係なく、Yaws(サイト・英語)は動的コンテンツを提供するための確かなWebサーバーです。Claes Wikstrom氏は、Yawsを「もう一つのWebサー
yaws 調査の為、試しに RESTfull な I/F を持つストレージを作ってみたので晒してみる。 インストール % svn co http://labs.miu.vc/svn/cooldaemon/erl/ssd/trunk/ ssd % cd ssd % makemake を実行する前に、Makefile 内の yaws のインストール先を編集する必要がある。 起動 % ssd/scripts/ssd start -n test@localhost -p 8080 -t ram -n erlang node の名前 -p yaws が listen するポート番号 -t ストレージがコンテンツを保存する場所(ram or disc) 停止 % ssd/scripts/ssd stop -n test@localhost 使い方 METHOD 説明 GET コンテンツの取得 HEAD
先週11日に見た記事ですが、WOAという言葉に馴染みが無いせいか英語力の無さなのかイマイチぴんとこない。 12日に聞こうと思ってたんだけど。 12 Things You Should Know About REST Web Services and WOA 1.REST posits an interconnected information ecosystem, not an isolated set of point Web services. 1.RESTはWebサービスの相互接続に使うべきものであって、単独のWebサービスに使うものではない。 2.A focus on Design for Consumption instead of Design for Integration. 2.RESTは統合のためのデザインではなく、リソースを表現するデザインに注目すべき。 3.REST
1月に三分の一を公開して以来、ずるずると遅れていた残りの記事の公開をやっと行いました。 RESTアーキテクチャスタイル入門 Web アプリケーションのアーキテクチャ Web サービスと REST RESTful な URI の設計 出版は2006年なので2年前の記事です。内容が一部古くなっている部分もあったため、現時点での最新情報に少しだけアップデートしました。
People implementing systems using REST often do not know how to translate their familiar state-transition diagrams into resources. This article shows how. Introduction The word "state" has two meanings -- these can be somewhat confusing. The first meaning of "state" is the data associated with an object. The second is like a "step" in a multi-step conversation or computation. The latter t
RestWiki をたまに見直すと新たな発見があって面白い。 たとえば先日、「ステートレスなやりとりとは何か(What is Stateless Interaction?)」という箇所を見つけて、興味深く読んだ。このページは以前も絶対に読んでいるはずなのだが、 人間は忘れてしまうものである。 RestWiki の例でも充分わかりやすいのだけれど、自分でも例を思いついたので書きとめておく。 ステートフルサーバとステートレスサーバはどう違うのか。 まずは、ステートフルの例: 客: こんにちは 店員: いらっしゃいませ。○○バーガーへようこそ 客: ハンバーガーセットをお願いします 店員: サイドメニューは何になさいますか? 客: ポテトで 店員: ドリンクは何になさいますか? 客: ジンジャーエールで 店員: +50円でドリンクをLサイズにできますがいかがですか? 客: Mでいいです 店員:
ITpro Challenge 行ってきました。 豪華なメンバーでどの講演もとても面白かったですね。 江島さんの講演は、Web 上でサービスをやるとはどういうことなのかについてとても示唆に富んだ話だったし、 鵜飼さんのハッカーのソフト工学の話は職場的にすげータイムリーだったし、 なおやさんの話は同時代を生きてきた、生きている者としてとても共感できる内容だったし、 戀塚さんはこれぞハッカーという感じのすごい人でした。 僕は LT の最後に話をさせてもらったわけですが、 ネタを二つ持っていって聴衆のみなさんに選んでもらうことにしました。 結果は REST が勝ったので、当初の予告どおり REST の話をすることに。 結局お蔵入りになった XML の話ですが、もったいなかったので懇親会でお話させてもらいました。 プレゼン中で引用した Web ページはこちらです。 檜山さんの記事 XML ボキャブ
WEB+DB PRESS の Vol. 40 が届きました。どうもありがとうございます。 僕は Atom API 改め AtomPP 改め APP 改め AtomPub/Atompub な Atom Publishing Protocol の解説を REST の連載で書きました。 記事のドラフトではずっと APP で通してきたのですが、 最後の最後で AtomPub に切り替えました。 いろいろ考えたんですが AtomPub で統一して呼んでいこうかと。 今回は 40号記念だからか、すごく充実した内容です。 パターンの特集はここまでまとまってるのは今までなかったし、 サーバの消費電力の話なんて、他にどこで読めるのかわからないような記事でした。 僕はどちらかというとソフトウェアの抽象レイヤをいつも考えているので、 たまにこういう物理的な話を読むととても勉強になります。 それにしても id:n
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く