読書メモ

・「RESTful Webサービス
(Leonard Richardson、Sam Ruby:著、山本 陽平:監訳、株式会社クイープ:訳、オライリー・ジャパン \3,800) : 2011.07.22

Webのベースとなる原理であるREST(REpresentational State Transfer)。 RESTful Webサービスの常識的なルール、ROA(Resource-Oriented Architecture)。 「大Webサービス」を実装せずに、Webサービスを実装できる。 シンプルで、スケーラブルで、使いやすい。

○ポイント
・上手くいく複雑なシステムは、上手くいっていた単純なシステムから発展した(John Gall)
・「大Webサービス」はWS-Notification、WS-Security、WSDL、SOAPらの技術の集合
・SOAPはHTTP経由でRPCアプリケーションを実装するために使用される
・純粋なRESTful Webサービスである Amazon S3(Simple Storage Service)
・REST-RPCハイブリッド型サービス
・RESTful WebサービスにはWADLファイルを使用することで、汎用のWADLクライアントでアクセスできる。ActiveResourceというRubyライブラリを使用すればWebサービスに対応する クライアントを簡単に作成できる。HTTPクライアントやXML解析コードを書かなくても、Webサービスをクライアントから制御できる。ActiveResourceの規約に従うフレームワークはRuby on Railsのみ。 特定のURIにXMLドキュメントを送信し、XMLドキュメントを受信するHTTPリクエストが行なわれるだけ。
・WADL:Web Application Description Language
・SOAPがもたらず(さほど多くない)価値と、WSDLがもたらす(多大な)複雑さ
・RESTfulなWebサービスの設計を容易にするフレームワーク:Ruby on Rails、(Javaの)Restlet、(Pythonの)Django

-目次-
1章 プログラマブルWebとWebサービス
2章 Webサービスクライアントの作成
3章 RESTfulサービスの特徴
4章 リソース指向アーキテクチャ(ROA)
5章 読み取り専用のリソース指向サービスの設計
6章 読み取り/書き込み可能なリソース指向サービスの設計
7章 サービスの実装
8章 RESTとROAのベストプラクティス
9章 サービスの基本要素
10章 リソース指向アーキテクチャと大Webサービス
11章 RESTクライアントとしてのAjaxアプリケーション
12章 RESTfulサービスのためのフレームワーク