SlideShare une entreprise Scribd logo
1  sur  48
REST  入門 株式会社リコー ソフトウェア研究開発本部 山本陽平 2005 年 11 月 24 日 第八回  XML  開発者の日
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://d.hatena.ne.jp/Nayuta/20050727#1122477974
村田さんの  blog も し か し て 今日がその日 ??
はじめに ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Representational State Transfer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
アーキテクチャスタイルとは? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REST はネットワークシステムのアーキテクチャスタイル 特に  WWW  のアーキテクチャスタイル  (WWW  は  REST  のインスタンス ) クラサバ  (CS)  から派生した複合型スタイル
余談: 訳語について ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],■ アーキテクチャスタイル ( マクロアーキテクチャパターン ) アーキテクチャスタイルとは、「一組のアーキテクチャあるいはアーキテクチャのグループがそれを満すような、一連の制約」である。したがって、アーキテクチャスタイルは、ソフトウェアシステムのハイレベルな構成 ( マクロアーキテクチャ ) を提供するメタモデルであると見なすこともできる。
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
リソース (1/3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
リソース (2/3) 識別子 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
リソース (3/3) 状態 ,[object Object],[object Object],[object Object],[object Object],東京の明日の天気予報 (Resource) Receiver 時間による変化 晴れ 雨 1 月 5 日  AM ( 明日は晴れそう ) 1 月 5 日  PM ( 明日は雨っぽい ) 左から右に転送 ある時点におけるリソースの状態の具象的な表現
余談: リソース == オブジェクト? ,[object Object],利用 Consumer Object Interface 転送 Consumer Resource Uniform Interface http://www.markbaker.ca/2002/09/Blog/2004/10/29#2004-10-protocols REST  のリソースモデリングをするときに  OO  の考え方が邪魔になることがある、かもしれない
質問 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],これ
URI の貼り付け == リソースの表現の取得 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
統一インターフェース (Uniform interface) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
リンクをたどる -- ハイパーメディア ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ステートレス重要 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REST で Web サービス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],/entrylist 日記一覧 /entry/0 REST 入門 /entry/1 てゆーか… /entry/2 ツイてる ! /entry/3 晩ご飯は…
エントリ一覧の取得 HTTP GET GET  /entrylist HTTP/1.1 Host: example.com X-WSSE: UsernameToken… HTTP/1.1 200 OK Content-Type: application/atom+xml <feed> <title>yohei-y:weblog</title> <entry> <link  href=“/entry/0” /> </entry> <entry> <link  href=“/entry/1” /> </entry> … </feed> 各エントリへのハイパーリンク リンクを辿る (href  の  URI  を  HTTP GET する ) と…
エントリの取得 HTTP GET GET  /entry/0 HTTP/1.1 Host: example.com X-WSSE: UsernameToken… HTTP/1.1 200 OK Content-Type: application/atom+xml <entry> <title>REST  入門 </title> <published >2005-11-24T23:01:01</published> <content> <p>REST は … </p> </content> </entry>
エントリの更新 HTTP PUT HTTP/1.1 204 No Content PUT  /entry/0 HTTP/1.1 Host: example.com Content-Type: application/atom+xml X-WSSE: UsernameToken… <entry> <title>REST  入門 </title> <content> <p>REST とは … </p> </content> </entry>
エントリの削除 HTTP DELETE HTTP/1.1 204 No Content DELETE  /entry/0 HTTP/1.1 Host: example.com X-WSSE: UsernameToken…
エントリの新規作成 HTTP POST HTTP/1.1 201 Created Location: http://example.com/entry/5 POST  /entrylsit HTTP/1.1 Host: example.com Content-Type: application/atom+xml X-WSSE: UsernameToken… <entry> <title>REST  入門 </title> <content> <p>REST とは … </p> </content> </entry> 新規作成されたリソースの  URI
SOAP の場合 (クライアント側プログラム) //  サービスエンドポイントの初期化 BlogService bs = new BlogService(“ http://example.com/servlet/blogservice” ); //  セッション開始 String sid = bs.startSession( “yohei” , “ abc123” ); //  エントリ一覧の取得 Entry[] list = bs.getEntryList(sid); String eid = list[0].getEntryId(); //  先頭エントリの取得 Entry item = bs.getEntry(sid, eid); //  エントリの更新 Item.setContent(“ REST  とは…” ); bs.putEntry(sid, eid, item); //  エントリの削除 bs.deleteEntry(sid, eid); //  エントリの追加 bs.postEntry(sid, item);
SOAP  の場合  startSession POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: startSession > <username>yohei</username> <passwd>hogehoge</passwd> </m: startSession > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:startSessionResponse> <sid> 123 </sid> </m:startSessionResponse> </s:Body> </s:Envelope> セッション ID
SOAP  の場合  getEntryList POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: getEntryList > <sid>123</sid> </m: getEntryList > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:getEntryListResponse> <entryList> <entry><eid> 1 </eid>…<entry> <entry><eid> 2 </eid>…</entry> </entryList> </m:getEntryListResponse> </s:Body> </s:Envelope> エントリ  ID セッション ID
SOAP  の場合  getEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: getEntry > <sid>123</sid> <eid> 1 </eid> </m: getEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:getEntryResponse> <entry> <title>REST 入門 </entry> <content>…</content> </entryList> </m:getEntryResponse> </s:Body> </s:Envelope> エントリ  ID
SOAP  の場合  putEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: putEntry > <sid>123</sid> <eid>1</eid> <entry> <title>REST  入門 </title> <content>…</content> </entry> </m: putEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:putEntryResponse /> </s:Body> </s:Envelope>
SOAP  の場合  deleteEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: deleteEntry > <sid>123</sid> <eid>1</eid> </m: deleteEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:deleteEntryResponse /> </s:Body> </s:Envelope>
SOAP  の場合  postEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: postEntry > <sid>123</sid> <entry> <title>REST  入門 </title> <content>…</content> </entry> </m: postEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:postEntryResponse> <eid>5</eid> </m:postEntryResponse> </s:Body> </s:Envelope>
REST (APP) と SOAP REST URI 1 URI 2 URI 3 entrylist entry entry HTTP GET HTTP GET HTTP PUT URI 1 End point HTTP POST HTTP POST HTTP POST getEntryList() getEntry(id) putEntry(entry) SOAP
REST  と  SOAP  の違い ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client-Server (CS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],server client
Client- Stateless -Server (CSS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],server client client client
Client- Cache -Stateless-Server (C$SS) ,[object Object],[object Object],[object Object],[object Object],[object Object],server client client client $ $
Uniform -Client-Cache-Stateless-Server (UC$SS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],$ $ $ サーバ内の 実装を隠蔽
Uniform- Layered -Client-Cache-Stateless-Server (ULC$SS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],$ $ $ $ レガシーシステム プロクシ ゲートウェイ $ $ $
REST  = Uniform-Layered- Code-on-Demand -Client-Cache-Stateless-Server (ULCODC$SS) ,[object Object],[object Object],[object Object],[object Object],[object Object],$ $ $ $ $ $ $
ネットワークシステムのアーキテクチャスタイル CS CSS C$SS LC$SS LCODC$SS REST Data-flow Style Replication Style Peer-to-Peer Style Hierarchical Style Mobile Code Style PF UPF RR $ LS LCS RS RDA VM REV COD MA EBI C2 DO BDO U
ネットワークシステムのアーキテクチャスタイル ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
まとめ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おわり
 

Contenu connexe

Tendances

とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクションzaki4649
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったことまべ☆てっく運営
 
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁 ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁 宜浩 香月
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話disc99_
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status codeShinichi Takahashi
 
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話Recruit Lifestyle Co., Ltd.
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについてkumake
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話Norifumi Kawamoto
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!Kouhei Sutou
 
go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるものcch-robo
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?ke-m kamekoopa
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015Toru Yamaguchi
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版Keiichiro Shikano
 
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムRedmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムGo Maeda
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 

Tendances (20)

とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
 
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁 ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
 
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話
Nuxt.jsとExpressでSPA×SSR×API Aggregationを実現した話
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
 
go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるもの
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
 
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システムRedmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 

En vedette

OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Foundation Japan
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜Masaru Kurahayashi
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれからYohei Yamamoto
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったAkira Miki
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyMasato Kawamura
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WGNat Sakimura
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0Takahiro Sato
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理Naohiro Fujie
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景Tatsuo Kudo
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと心 谷本
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインTatsuo Kudo
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜Masaru Kurahayashi
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShellAmazon Web Services Japan
 

En vedette (17)

RESTful API 入門
RESTful API 入門RESTful API 入門
RESTful API 入門
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 

Similaire à REST 入門

OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会Siena. N
 
ウェブアーキテクチャの歴史と未来
ウェブアーキテクチャの歴史と未来ウェブアーキテクチャの歴史と未来
ウェブアーキテクチャの歴史と未来Kazuho Oku
 
Learn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test EngineerLearn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test EngineerTakashi Moriyama
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャazuma satoshi
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Toru Kawamura
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Kazuya Sugimoto
 
Beginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyBeginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyikeyat
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうToru Kawamura
 
WebDAV, ATOM, and REST
WebDAV, ATOM, and RESTWebDAV, ATOM, and REST
WebDAV, ATOM, and RESTTaisuke Yamada
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会guestadcb01
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会seiryo
 
Restful Web Service Ch2
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2kunit
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレットTakashi Makino
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策Kensaku Komatsu
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京Masayuki Abe
 

Similaire à REST 入門 (20)

OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会
 
ウェブアーキテクチャの歴史と未来
ウェブアーキテクチャの歴史と未来ウェブアーキテクチャの歴史と未来
ウェブアーキテクチャの歴史と未来
 
RとWeb API
RとWeb APIRとWeb API
RとWeb API
 
Learn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test EngineerLearn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test Engineer
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会
 
Beginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyBeginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_study
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
 
WebDAV, ATOM, and REST
WebDAV, ATOM, and RESTWebDAV, ATOM, and REST
WebDAV, ATOM, and REST
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
Restful Web Service Ch2
Restful Web Service Ch2Restful Web Service Ch2
Restful Web Service Ch2
 
HTTPとサーブレット
HTTPとサーブレットHTTPとサーブレット
HTTPとサーブレット
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
 

Plus de Yohei Yamamoto

リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるYohei Yamamoto
 
私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向Yohei Yamamoto
 
CAPとBASEとEventually Consistent
CAPとBASEとEventually ConsistentCAPとBASEとEventually Consistent
CAPとBASEとEventually ConsistentYohei Yamamoto
 
Rubykaigi2008: REST 信者から見た Ruby と Rails
Rubykaigi2008: REST 信者から見た Ruby と RailsRubykaigi2008: REST 信者から見た Ruby と Rails
Rubykaigi2008: REST 信者から見た Ruby と RailsYohei Yamamoto
 
良い Xml の見分け方 2007
良い Xml の見分け方 2007良い Xml の見分け方 2007
良い Xml の見分け方 2007Yohei Yamamoto
 

Plus de Yohei Yamamoto (7)

リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
 
私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向
 
CAPとBASEとEventually Consistent
CAPとBASEとEventually ConsistentCAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
 
Rubykaigi2008: REST 信者から見た Ruby と Rails
Rubykaigi2008: REST 信者から見た Ruby と RailsRubykaigi2008: REST 信者から見た Ruby と Rails
Rubykaigi2008: REST 信者から見た Ruby と Rails
 
良い Xml の見分け方 2007
良い Xml の見分け方 2007良い Xml の見分け方 2007
良い Xml の見分け方 2007
 
Rest 勝利宣言
Rest 勝利宣言Rest 勝利宣言
Rest 勝利宣言
 
イントロ
イントロイントロ
イントロ
 

Dernier

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Dernier (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

REST 入門

  • 1. REST 入門 株式会社リコー ソフトウェア研究開発本部 山本陽平 2005 年 11 月 24 日 第八回 XML 開発者の日
  • 2.
  • 3.
  • 4. 村田さんの blog も し か し て 今日がその日 ??
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. REST はネットワークシステムのアーキテクチャスタイル 特に WWW のアーキテクチャスタイル (WWW は REST のインスタンス ) クラサバ (CS) から派生した複合型スタイル
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. エントリ一覧の取得 HTTP GET GET /entrylist HTTP/1.1 Host: example.com X-WSSE: UsernameToken… HTTP/1.1 200 OK Content-Type: application/atom+xml <feed> <title>yohei-y:weblog</title> <entry> <link href=“/entry/0” /> </entry> <entry> <link href=“/entry/1” /> </entry> … </feed> 各エントリへのハイパーリンク リンクを辿る (href の URI を HTTP GET する ) と…
  • 24. エントリの取得 HTTP GET GET /entry/0 HTTP/1.1 Host: example.com X-WSSE: UsernameToken… HTTP/1.1 200 OK Content-Type: application/atom+xml <entry> <title>REST 入門 </title> <published >2005-11-24T23:01:01</published> <content> <p>REST は … </p> </content> </entry>
  • 25. エントリの更新 HTTP PUT HTTP/1.1 204 No Content PUT /entry/0 HTTP/1.1 Host: example.com Content-Type: application/atom+xml X-WSSE: UsernameToken… <entry> <title>REST 入門 </title> <content> <p>REST とは … </p> </content> </entry>
  • 26. エントリの削除 HTTP DELETE HTTP/1.1 204 No Content DELETE /entry/0 HTTP/1.1 Host: example.com X-WSSE: UsernameToken…
  • 27. エントリの新規作成 HTTP POST HTTP/1.1 201 Created Location: http://example.com/entry/5 POST /entrylsit HTTP/1.1 Host: example.com Content-Type: application/atom+xml X-WSSE: UsernameToken… <entry> <title>REST 入門 </title> <content> <p>REST とは … </p> </content> </entry> 新規作成されたリソースの URI
  • 28. SOAP の場合 (クライアント側プログラム) // サービスエンドポイントの初期化 BlogService bs = new BlogService(“ http://example.com/servlet/blogservice” ); // セッション開始 String sid = bs.startSession( “yohei” , “ abc123” ); // エントリ一覧の取得 Entry[] list = bs.getEntryList(sid); String eid = list[0].getEntryId(); // 先頭エントリの取得 Entry item = bs.getEntry(sid, eid); // エントリの更新 Item.setContent(“ REST とは…” ); bs.putEntry(sid, eid, item); // エントリの削除 bs.deleteEntry(sid, eid); // エントリの追加 bs.postEntry(sid, item);
  • 29. SOAP の場合 startSession POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: startSession > <username>yohei</username> <passwd>hogehoge</passwd> </m: startSession > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:startSessionResponse> <sid> 123 </sid> </m:startSessionResponse> </s:Body> </s:Envelope> セッション ID
  • 30. SOAP の場合 getEntryList POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: getEntryList > <sid>123</sid> </m: getEntryList > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:getEntryListResponse> <entryList> <entry><eid> 1 </eid>…<entry> <entry><eid> 2 </eid>…</entry> </entryList> </m:getEntryListResponse> </s:Body> </s:Envelope> エントリ ID セッション ID
  • 31. SOAP の場合 getEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: getEntry > <sid>123</sid> <eid> 1 </eid> </m: getEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:getEntryResponse> <entry> <title>REST 入門 </entry> <content>…</content> </entryList> </m:getEntryResponse> </s:Body> </s:Envelope> エントリ ID
  • 32. SOAP の場合 putEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: putEntry > <sid>123</sid> <eid>1</eid> <entry> <title>REST 入門 </title> <content>…</content> </entry> </m: putEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:putEntryResponse /> </s:Body> </s:Envelope>
  • 33. SOAP の場合 deleteEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: deleteEntry > <sid>123</sid> <eid>1</eid> </m: deleteEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:deleteEntryResponse /> </s:Body> </s:Envelope>
  • 34. SOAP の場合 postEntry POST /servlet/blogservice HTTP/1.1 Host: example.com Content-Type: application/soap+xml <s:Envelope> <s:Body> <m: postEntry > <sid>123</sid> <entry> <title>REST 入門 </title> <content>…</content> </entry> </m: postEntry > </s:Body> </s:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml <s:Envelope> <s:Body> <m:postEntryResponse> <eid>5</eid> </m:postEntryResponse> </s:Body> </s:Envelope>
  • 35. REST (APP) と SOAP REST URI 1 URI 2 URI 3 entrylist entry entry HTTP GET HTTP GET HTTP PUT URI 1 End point HTTP POST HTTP POST HTTP POST getEntryList() getEntry(id) putEntry(entry) SOAP
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. ネットワークシステムのアーキテクチャスタイル CS CSS C$SS LC$SS LCODC$SS REST Data-flow Style Replication Style Peer-to-Peer Style Hierarchical Style Mobile Code Style PF UPF RR $ LS LCS RS RDA VM REV COD MA EBI C2 DO BDO U
  • 45.
  • 46.
  • 48.