REST
Apache Software Foundationの共同創立者にしてBoard of Directorsの1人であるRoy Fieldingが書いた論文が、このところ注目を集めている。「REpresentational State Transfer」、略してRESTと呼ばれているアーキテクチャを提案したその論文は、特にWebの世界をよく表しているとしてW3Cなどで取り上げられている。RESTの内容をWebの世界に当てはめると、要するにこういうことになる。
Webサイトが保持していて、外部に公開される内容には、すべて(論理的な)URI(URL)が付いていなければならない。
Webサイトへのアクセスは、HTTPのPUT(Create)、GET(Read)、POST(Update)、DELETE(Delete)で行い、それぞれ処理内容に合わせた結果が返されなければならない。
Webサイトへアクセスした結果返されたものがリソースの表現(Representation)であり、ページからページへの遷移が状態の遷移(State Transfer)と見なされる。(2002/11/07)
Opinion -- 吉松 史彰:Webの「正しい」アーキテクチャ - @IT
Web上にあるリソースはすべてURIで一意に決まります。RESTful(REST対応している)のWebサービスでは、URIによりWebリソースは表現されるので、URIに対してGET、PUT、POST、およびDELETEといったHTTPメソッドを適用することにより、リソースのCRUD(Create、Read、Update、Delete)操作ができます(参考:Webの「正しい」アーキテクチャ)。
Javaでは、JSR 311で「JAX-RS: The JavaTM API for RESTful Web Services」として議論されています。リファレンス実装としては、「Jersey」があります。また、Restlet(Lightweight REST framework for Java)のようなフレームワークもあります。
(2008/9/16)
イロイロな分散処理技術とイマドキのWebサービス (2/2):いま再注目の分散処理技術(中編) - @IT
ということで、「REST」というアイデア。
「Web上にあるリソースはすべてURIで一意に決まる」
ということだと思われる。
しかしこれ、Roy Fielding さんが提唱したのが、いつなんだろう、2002年?2001年?そして、2008年になっても
最近は、「REST(Representational State Transfer)」という用語もよく聞かれるようになりました(参考:RESTはエンタープライズに浸透するか、ファーガソン氏が講演)。
イロイロな分散処理技術とイマドキのWebサービス (2/2):いま再注目の分散処理技術(中編) - @IT
(2008/9/16)
言ってること変ってないw
いかにこの概念の浸透が遅れたのか、と言う感じだけども。
リファレンス実装としてすでにいくつかあるみたいだけど、CRUD をwebリソースに対して行うってのは正直ぴんとこないなあ。もうちょっと勉強する必要がありそう