SlideShare a Scribd company logo
REST IS 何
Yutaka Kinjo
CONCEPT
リソース指向
resource
リソース例
PS4 のスペック情報
リソース指向

株式会社OCC の事業概要
Redmine のチケット
resource

OCC のロゴ
10 番目の素数
金城裕の2014/2/11 の blog
リソース例
リソース指向
resource
参照に値するものすべてをリソースとして捉える
リソース例
金城裕のBLOG
resource

blog
blog

http://hatena/entry/2012/08/18/

blog

http://hatena/entry/2014/02/01/

blog

http://hatena/entry/2014/02/11/
blog

blog

blog

http://hatena/entry/2012/08/18/

URIを識別子として持つ

http://hatena/entry/2014/02/01/

URI と1対1に紐づく

http://hatena/entry/2014/02/11/
blog

http://hatena/entry/2012/08/18/

構造化されている
URI : http://hatena/entry/2012/08/18/
blog
http://hatena/entry/2014/02/01/
!

hatena の entry の 2012年 の 8月 の 18日 の blog  
blog

http://hatena/entry/2014/02/11/
FEATURE
同じリソースでも、違った表現を提供する

表現の提供
xml
resource html

text

json
同じリソースでも、違った表現を提供する

表現の提供
xml
resource html

text

json
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

Request
client

resource

Response
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

GET
client

resource

リソースの情報を取得する
何度GETしても同じ情報が得られる
GETでリソースの情報を書き換えない
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

POST
client

resource

resource

リソースを新たなURIに割り当てる
URIは受け取る側が決める(サーバ)
統一インターフェース
GET
POST
PUT(1/2)
PATCH
DELETE
HEAD  

PUT
client

resource

resource

リソースを新たなURIに割り当てる
URIは送る側が決める(クライアント)
冪等性を満たす
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

PUT
client

resource
resource

既存のリソースを更新する
冪等性を満たす
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

PATCH
client

resource
resource

既存のリソースを更新する
冪等性を満たさなくていい
(PUTとの違い)
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

DELETE
client

既存のリソースを削除する
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

HEAD
client

resource

META
DATA
META data を取得する
アドレス可能性
resource

✗
http://somewhere/entry/2012/08/18/
ステートレス
SUMMARY
REST の コンセプトと特徴

•
•
•
•
•

リソース指向	

複数の表現方法	

統一インターフェース	

アクセス可能性	

ステートレス
EXAMPLE
BLOG
resource

blog

client

browser
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

GET http://hatena/entry/2012/08/18/
browser

blog

HTML
ブログの情報をHTMLで取得
著者名、タイトル、内容、タグ	

日付、広告
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

POST
browser

blog

blog

ブログを新しく投稿する
URIは受け取る側が決める(サーバ)
投稿日付から割り当てる
統一インターフェース
GET
POST
PUT(1/2)
PATCH
DELETE
HEAD  

PUT
browser

blog

blog

ブログを新しく投稿する
URIは送る側が決める(クライアント)
予約投稿
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

PUT
browser

blog
resource

既存のブログを編集する
冪等性を満たす
更新日付を変更してはいけない
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

PATCH
browser

blog
resource

既存のブログを更新する
冪等性を満たさなくていい
(PUTとの違い)
更新日付を変更してもいい
統一インターフェース
GET
POST
PUT(2/2)
PATCH
DELETE
HEAD  

DELETE
browser

ブログを削除する
REST VS SOAP
Representational State Transfer

REST IS
Soft ware architecture

Simple Object Access Protocol

SOAP IS
protocol

http://www.slideshare.net/jlupox/rest-11858541
Representational State Transfer

REST IS
Soft ware architecture

Simple Object Access Protocol

SOAP IS

ex
te

nd
sX
protocol
ML
-R
P

C

ref

http://www.slideshare.net/jlupox/rest-11858541
Representational State Transfer

Simple Object Access Protocol
X

REST IS

M

SOAP IS

L-

RP

C

リソースに注目

業務ロジックに注目

URLのみでやりとり

WSDLで定義

流行ってる

流行ってた(?
Representational State Transfer

Simple Object Access Protocol
X

REST IS

M

SOAP IS

L-

RP

C

リソースに注目

業務ロジックに注目

URLのみでやりとり

WSDLで定義

流行ってる

流行ってた(?

ref http://www.publickey1.jp/blog/10/restsoapwebws-i.html
参考
http://spf13.com/post/soap-vs-rest/
http://www.publickey1.jp/blog/10/restsoapwebws-i.html
http://labo.mamezou.com/special/sp_013/sp_013_001.html
http://ja.wikipedia.org/wiki/REST
/* END */

More Related Content

More from Yutaka Kinjyo

一度死んだ話
一度死んだ話一度死んだ話
一度死んだ話
Yutaka Kinjyo
 
Deepsmarts
DeepsmartsDeepsmarts
Deepsmarts
Yutaka Kinjyo
 
ちょっと怖くなくったRails
ちょっと怖くなくったRailsちょっと怖くなくったRails
ちょっと怖くなくったRails
Yutaka Kinjyo
 
怖いRails
怖いRails怖いRails
怖いRails
Yutaka Kinjyo
 
コンテキストと文化
コンテキストと文化コンテキストと文化
コンテキストと文化
Yutaka Kinjyo
 
開発チームのためのコミュニケーションとコンテキストの作り方
開発チームのためのコミュニケーションとコンテキストの作り方開発チームのためのコミュニケーションとコンテキストの作り方
開発チームのためのコミュニケーションとコンテキストの作り方Yutaka Kinjyo
 

More from Yutaka Kinjyo (9)

一度死んだ話
一度死んだ話一度死んだ話
一度死んだ話
 
Deepsmarts
DeepsmartsDeepsmarts
Deepsmarts
 
The dankai
The dankaiThe dankai
The dankai
 
IeLt2014
IeLt2014IeLt2014
IeLt2014
 
ちょっと怖くなくったRails
ちょっと怖くなくったRailsちょっと怖くなくったRails
ちょっと怖くなくったRails
 
怖いRails
怖いRails怖いRails
怖いRails
 
コンテキストと文化
コンテキストと文化コンテキストと文化
コンテキストと文化
 
開発チームのためのコミュニケーションとコンテキストの作り方
開発チームのためのコミュニケーションとコンテキストの作り方開発チームのためのコミュニケーションとコンテキストの作り方
開発チームのためのコミュニケーションとコンテキストの作り方
 
Ie lt
Ie ltIe lt
Ie lt
 

Recently uploaded

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 

Recently uploaded (12)

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 

Rest is 何