yohei-y:weblog

XML と REST/Web サービス関連の話題が中心の weblog です

2007-12-20

RESTful Web サービスの読みどころ: 3章 RESTfulサービスの特徴

RWSが本屋さんに並びはじめました。 今日外出のついでに神保町に行ってみたら、 三省堂は10冊、書泉グランデは16冊も平積みにされていて 結構圧巻でした。

今日は3章です。

3章では、きちんと RESTful で広く運用されている 数少いサービスの一つである Amazon S3 の ruby クライアントを作りながら、 RESTful な Web サービスの設計とはどんなことなのか、 そのサービスのクライアントはどう作るのか、を解説します。

僕は S3 について、これまであまり知らなかったのですが、 この章を読んでよく設計されているなー感心しました。 もちろん S3 には接続性という、本書で提唱されている ROA に 則っていない部分があるのですが、 それを差し引いても設計の参考になると思います。 特に S3 の認証と認可の仕組みは サービスそのものに課金を考えた場合にとても参考になるでしょう。

photo
RESTful Web サービス
Leonard Richardson Sam Ruby 山本 陽平 株式会社クイープ
オライリー・ジャパン 2007-12-21

P.S. 3章では ActiveResource の話もありました。

ラベル: ,

2007-12-17

RESTful Web サービスの読みどころ: 2章 Web サービスクライアントの作成

先週金曜日「RESTful Web サービス」が手元に届きました。 こうやって手に取ると実感がわいて嬉しいですね。

写真はこの半年ずっと鞄の中にあってボロボロになってきた原書(右)と金曜に届 いた翻訳版(左)、そしてオライリーの中の人からいただいた原書カバーのT-シャ ツです。

ところで、 先日見た働きマンの第9話で、本の出版には様々な人がかかわっていることを 再認識しました。 著者はもちろん、編集者、印刷所のみなさん、製本所のみなさん、営業担当者 配送に関わる方、書店の方々などさまざまな人が関わっているんですよね。 こうやって本が出て、実際に書店に並んで買えるようになるのはすごいことだ と改めて感じた次第です。

さて、今日ご紹介する2章ですが、この章では del.icio.us のクライアントを 様々な言語で作ってみる、という内容になっています。 del.icio.us の API は RESTful じゃないじゃん、というつっこみへの回答は 書籍に譲るとして、ここでは苦労話をひとつ。

本書では、ほとんどのサンプルコードは Ruby を使って記述されています。 しかし、本章では Ruby, Python, Java, C#, PHP, JavaScript, curl のサンプルコー ドが、そして ActionScript, C, C++, Common Lisp, Perl のライブラリにつ いての言及がされています。 これをチェックするのが結構大変でした。 Common Lisp の HTTP ライブラリは URL が切れていて、 編集者さんに原著者に問い合わせてもらったりもしました。

photo
RESTful Web サービス
Leonard Richardson Sam Ruby 山本 陽平 株式会社クイープ
オライリー・ジャパン 2007-12-21

本書はおかげさまで予約注文が好調なようで、発売前に増刷が決りました。 感想や不明点を blog やメールでお知らせいただければと思います。

ラベル: ,

2007-12-14

WEB+DB PRESS Vol.42 と7周年記念イベント

来週 20 日に WEB+DB PRESS の7周年記念イベントが開催されます。 関係者枠で招待していただいたので、僕も参加します。 スピーカーがすごい面子で、楽しみですね。連載しててよかった。

ところで次回の WEB+DB PRESS には上記イベントのスピーカーの一人羽生章洋さんと、t-wada こと和田卓人さんと3人で REST に関して鼎談した内容をもとにした記事が特集として載る予定です。

もともとは、編集者さんから、t-wada さんが WEB+DB PRESS を読むときに僕の連載を一番最初に読むと言っていると教えてもらって、 僕の方も和田さんの TDD の記事でたくさん勉強させてもらったので(題材が REST だったし)、 ぜひ和田さんとお話したいと返信したら、話がどんどん大きくなって羽生さんを交えての鼎談になってしまったのでした。

ビデオ収録の鼎談なんて初めての経験だったのでかなり不安だったんですが、 自分の出来はともかくむちゃくちゃ楽しかったです。 鼎談の内容はニコニコ動画で公開されるらしいので、お楽しみに。

photo
WEB+DB PRESS Vol.42
WEB+DB PRESS編集部
技術評論社 2007-12-22

鼎談では URI を Universal Resource Identifier とか間違って喋っていて非常に恥ずかしいので(いつも Uniform か Universal かわからなくなる)、 あんまり DIS らないでください。もちろん記事の方は直っています。

それから和田さんが書いてくれた Restlet をベースに RESTful なシステムを実装する章は必見です。 Java じゃない人でも、実際に RESTful にリソースを設計するというのはどういうことかを学べるすばらしい記事になっていると思います。

ラベル: , ,

2007-12-13

RESTful Web サービスの読みどころ: 1章プログラマブルWebとWebサービス

RESTful Web サービスの発売が近付いてきました。

photo
RESTful Web サービス
Leonard Richardson Sam Ruby 山本 陽平 株式会社クイープ
オライリー・ジャパン 2007-12-21

この章では、いわゆる「Web サービス」の概要を解説します。 Web サービス、およびそれを使って実現されるプログラマブルWebでは どのような技術が使われているのか、それらはどのような関係にあるのか がわかると思います。

本書のタイトルでもある RESTful な Web サービスを実現するためには、 基本的に HTTP, URI, XML, JSON, (X)HTML, 等の知識が必要ですが、 これらの技術を使うだけでは RESTful にはなりません。 単なる XML over HTTP が RESTful でないことがしばしばあります。 Web サービスを RESTful たらしめる本質は何なのでしょうか。

本章では「メソッド情報」と「スコープ情報」というキーワードを使い、 アーキテクチャで Web サービスを分類することでこの問いに答えています。 この二つの情報が、HTTP エンベロープのどこに含まれているかで、 Web サービスは3種類に分類できます(そのうち RESTful なのは一つだけ)。 この分類手法は、自分が作った Web サービスが RESTful かどうかを チェックする簡単な手法になると思います。

ラベル: ,

2007-12-08

RESTful Web サービスの読みどころ: はじめに

すでにオライリージャパンのサイトメールニュースで新刊情報が流れていますが、 以前から何回か紹介してきた RESTful Web Services の翻訳版の監修をさせてもらいました。

すでにさまざまなブックマークサイトで好意的に言及していただいており、とても光栄です。

まだ amazon には掲載されていませんが、12月19日か20日には都内主要書店に並ぶそうです。

追記(2007-12-08) 掲載されました

photo
RESTful Web サービス
Leonard Richardson Sam Ruby 山本 陽平 株式会社クイープ
オライリー・ジャパン 2007-12-21

そこで、今回から何回かにわたって、発売記念でこの本の「読みどころ」を紹介したいと思います。 今回は初回なので、僕が書いた監訳者まえがきから少し引用して、本書全体の読みどころを紹介します。

本書 「RESTful Web サービス」 は Leonard RichardsonSam Ruby の二人が 世に送る、世界初の REST に関する本格的な解説書です。本書を読めば、REST アーキテクチャスタイルとは何か、それを使ってどのように Web システムを効 率的に構築するか、アーキテクチャが RESTful だと何が嬉しいのか、が理解で きるでしょう。

(中略)

「はじめに」にもある通り、REST に関する設計ノウハウは、Roy Fielding の 博士論文を除けば blog やメーリングリストへの投稿という形でインターネッ ト上に散在している状況です。それらの情報を集めながら学ぶのはとても楽 しくためになる作業ですが、REST の普及の観点からは喜ばしい状況ではありま せん。REST に基づいた Web システムの設計を体系的に学ぶことができるベスト プラクティス集が必要とされていたのです。そして本書はまさにそれを実現し ています。

目次は以下のとおり。

  • はじめに
  • 1章 プログラマブルWebとWebサービス
  • 2章 Webサービスクライアントの作成
  • 3章 RESTfulサービスの特徴
  • 4章 リソース指向アーキテクチャ(ROA)
  • 5章 読み取り専用のリソース指向サービスの設計
  • 6章 読み取り/書き込み可能なリソース指向サービスの設計
  • 7章 サービスの実装
  • 8章 RESTとROAのベストプラクティス
  • 9章 サービスの基本要素
  • 10章 リソース指向アーキテクチャと大Webサービス
  • 11章 RESTクライアントとしてのAjaxアプリケーション
  • 12章 RESTfulサービスのためのフレームワーク
  • 付録A RESTおよびRESTfulリソースの参考文献
  • 付録B 最もよく使用される42のHTTPレスポンスコード
  • 付録C 最もよく使用されるHTTPヘッダー

ちなみに監訳者が付かない本当のまえがきは DHH が書いています(原書は表紙にも DHH の名前が)。こちらも要注目です。

tsupo さんがブックマークでコメントしてくれてますが、12/21のXML開発者の日に本書を持参していただければ、いくらでもサインします :-) (販売の予定はありません...)

ラベル: ,