16章ウェブサービス
歴史を振り返ると、2つのシステムの間での通信が必要になるたびに、新しいプロトコルが作られてきました(たとえばメールの送信にはSMTP、受信にはPOP3など。各種データベースのサーバー/クライアント間でも、多数のプロトコルが作られています)。ウェブサービスの考え方は、XMLとHTTPに基づいて、リモートプロシージャ呼び出しの標準化された仕組みを提供することで、新しいプロトコルを作らなくても済むようにする、というものです。
ウェブサービスを使えば、異なるシステムどうしを容易に統合できます。既存の図書館システム用のウェブインターフェイスを書いているとしましょう。データベースのテーブルは複雑な構造になっており、そのテーブルを駆使するビジネスロジックの大半がプログラムのコードに組み込まれています。しかも、そのプログラムはC++で書かれています。さあどうしましょう? ビジネスロジックをぜんぶPHPで書きなおすという選択肢もありますが、その場合、複雑なテーブルを正しい手順で扱わないといけません。それ以外の方法もあります。C++でちょっとしたコードを書いて、図書館の各種処理(書籍の貸し出し、返却日の確認、延滞料の確認など)をウェブサービスとして公開するという方法です。そうすれば、PHP側のコードは単純にウェブのフロントエンドだけを扱えばよくなります。サービスを呼び出すだけで、複雑な処理は全部まかせてしまえるのです。
16.1 RESTクライアント
RESTfulウェブサービスという用語には、厳密な定義はありません。HTTPを使って、REST(Representational State Transfer)原則に従ったウェブAPIを実装したサービス全般を指す言葉です。RESTfulウェブサービスでは、さまざまなリソース群を基本的な操作で扱います。クライアントからリソースを扱うときには、提供されるAPIを利用します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access