SSブログ

非同期な処理をRESTで記述するには [コンピュータ]

非同期処理をRESTで記述するのは、非常に簡単なのですね。 RESTful Webサービスの書籍を読んでいて目からうろこが落ちるような思いでした。
ポイントは、非同期処理の状態を1リソースとして考え、新たにリソースを作成すればよいということです。

処理の流れの概要は次のとおりです。

  1. 非同期処理を開始するため、POSTリクエストを送信
    POST /message_queue HTTP/1.1
    Host: example.com
    
  2. レスポンスを受信します。レスポンスコードの202も重要です。非同期処理を1リソースとし、Locationヘッダに非同期処理のリソースのURIを返却
    HTTP/1.1 202 Accepted
    Location: http://example.com/message_queue/1234
    
  3. 非同期処理中のリソースの状態を取得するため、GETリクエストを送信
    GET /message_queue/1234 HTTP/1.1
    
  4. レスポンスを受信する
    HTTP/1.1 200 OK
    <status>completed</status>
    
  5. 非同期処理が完了すれば、リソースを破棄します。 リソースの破棄は、サーバが自発的にexpireしても、クライアントからDELETEメソッドを送信してもOKです。


RESTfulは、同期型のHTTPを使って、非同期処理やバッチ処理をうまく表現できるのがすばらしいねぇ。


RESTful Webサービス

RESTful Webサービス

  • 作者: Leonard Richardson
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2007/12/21
  • メディア: 単行本



タグ:REST 非同期
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。