Submit Search
Restful Web Service Ch2
0 likes
554 views
K
kunit
2008.4.12 RWS Reading
Technology
Education
Read more
1 of 136
Download now
Downloaded 14 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
More Related Content
Viewers also liked
(7)
PDF
Feigelson Denzyl at 4th Athens Music Forum
Theo Potouroglou
PPT
Números y más números
guestd659a7
PDF
Redes Sociales
Joaquín Salvachúa
PPT
Rat
roberpf
PPT
Social networks and You !
Vanina Delobelle
PPT
Hans
granellmiquel
PPT
We Have A Big Backyard
murcha
Feigelson Denzyl at 4th Athens Music Forum
Theo Potouroglou
Números y más números
guestd659a7
Redes Sociales
Joaquín Salvachúa
Rat
roberpf
Social networks and You !
Vanina Delobelle
Hans
granellmiquel
We Have A Big Backyard
murcha
Similar to Restful Web Service Ch2
(20)
PPT
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
PDF
RESTfulとは
星影 月夜
PPT
REST 入門
Yohei Yamamoto
PDF
Rails と Rack と HTTP と通信の話
Progate, Inc.
PPT
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
PDF
エコなWebサーバー
emasaka
PDF
Spring Fest 2018 Spring Bootで作るRESTful Web Service
WataruOhno
PDF
Beginning Java EE 6 勉強会(7) #bje_study
ikeyat
PDF
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
PDF
UnicastWS vol.1
Unicast Inc.
PPTX
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
洵貴 佐川
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Toru Kawamura
PDF
WordPressAPI
Yuki Okamoto
PDF
RESTful #とは RailsスタイルからRESTを学ぼう
Toru Kawamura
PDF
RESTとRailsスタイル
Toru Kawamura
PDF
HTTPを理解する
IIJ
PPTX
Clrh 110716 wcfwf
Tomoyuki Obi
PDF
20120423 hbase勉強会
Toshiaki Toyama
PDF
HTTPと Webクローリングについて
Tomoya Kawanishi
PPTX
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
fukuoka.ex
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka
RESTfulとは
星影 月夜
REST 入門
Yohei Yamamoto
Rails と Rack と HTTP と通信の話
Progate, Inc.
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
エコなWebサーバー
emasaka
Spring Fest 2018 Spring Bootで作るRESTful Web Service
WataruOhno
Beginning Java EE 6 勉強会(7) #bje_study
ikeyat
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
UnicastWS vol.1
Unicast Inc.
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
洵貴 佐川
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Toru Kawamura
WordPressAPI
Yuki Okamoto
RESTful #とは RailsスタイルからRESTを学ぼう
Toru Kawamura
RESTとRailsスタイル
Toru Kawamura
HTTPを理解する
IIJ
Clrh 110716 wcfwf
Tomoyuki Obi
20120423 hbase勉強会
Toshiaki Toyama
HTTPと Webクローリングについて
Tomoya Kawanishi
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
fukuoka.ex
Ad
Recently uploaded
(13)
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
PDF
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
PDF
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
PDF
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
Ad
Restful Web Service Ch2
1.
第1回 RESTful Webサービス
読書会
2.
自己紹介
3.
kunit
4.
高橋邦彦
PHP Programmer
5.
Mapleという Web Application Framework
を 作ってます
6.
次期バージョン Maple4を RESTfulにしたいと
思ってます
7.
さて 本題へ
8.
第2章 Webサービス クライアントの 作成
9.
2.1
10.
Webサービスは Webサイト
11.
あらすじ
12.
Webサービスに 便利な
ライブラリ
13.
常に 存在するとは 限らない
14.
ので
15.
HTTP Requestと
16.
HTTP Responseを
17.
直接操作する プログラムを
18.
いろんな 言語で 書いてみよう
19.
だが
20.
いろんな 言語を 使って
21.
今日ここで 実行するのは 大変なので
22.
実際に 実行するのは
23.
Ruby のみです
24.
RESTful Webサービス
25.
基本的な HTTP クライアント
26.
Yahoo!の Web検索
27.
ここで 実際に実行
28.
このRubyの サンプルでは
29.
HTTP Requestの
送信
30.
標準ライブラリ open-uri
31.
出力の解析
32.
標準ライブラリ REXML
33.
一般化すると
34.
(1)
35.
HTTP Requestに 含めるデータを
考える
36.
HTTP Method
URI HTTP Header Entity Body
37.
(2)
38.
dataを HTTP Request
として 組み立てて
39.
HTTP Server
送信
40.
(3)
41.
Response dataを
解析
42.
Response Code
Header Entity Body
43.
第2章は これをいろんな 言語で やってみてます
44.
けど 実演するのは Rubyのみです (くどいけど)
45.
この章では いちいち この基本構造を 書くけど
46.
ふつうは ラッパーを
作成する (か、あるものを使う)
47.
いろんな ラッパーが 用意されてるが
48.
やりかた ばらばら
49.
WADL
50.
Web Application Description Language
51.
RESTful Serviceを 記述できる 語彙を持つ言語
52.
SOAPでは WSDL
53.
ActiveResource
54.
Ruby on Rails
55.
Web Serviceの クライアントの 作成が簡単
56.
第2章では 説明しないよ
57.
2.2
58.
del.icio.us: サンプルアプリケーション
59.
ここからは del.icio.usの Web Serviceに
アクセスする
60.
けど del.icio.us よくない!
61.
del.icio.usの Web Serivceの
設計は RESTfulじゃない
62.
https://api.del.icio.us/v1/posts/add https://api.del.icio.us/v1/tags/rename
63.
Requestは
全て GET Method
64.
URIに 動詞が登場
65.
よろしくない
66.
なぜ del.icio.usを 選んだの?
67.
(1)
68.
理解しやすい よく知られてる 使いやすい
69.
(2)
70.
記述的ではなく 規範的であることを 明確にするため
71.
サーバは理想主義 クライアントは実用主義
72.
自分がすることには 保守的であれ。 他人から受け取るものには
寛容であれ。
73.
(3)
74.
7章の 伏線
75.
7章では ちゃんと RESTfulに つくるよ
76.
これ以降の サンプル
77.
api.del.icio.usに
https接続して GET /v1/posts/recent をRequest
78.
Responseを解析して ブックマークの
href属性と description属性を 標準出力に書き出す
79.
2.3
80.
リクエストの作成: HTTPライブラリ
81.
いろんな言語の HTTPライブラリを
紹介
82.
必要となる 機能
83.
HTTPSと SSL証明書の 検証
84.
メソッドサポート GET HEAD
POST PUT DELETE
85.
PUTまたはPOSTの Entity Bodyとして 送信されるデータを カスタマイズできる
86.
HTTP Headerを カスタマイズできる
87.
Responseの Entity Body以外に Response Codeと
Headerにも アクセスできる
88.
HTTP Proxy経由で
通信できる
89.
ここで Rubyの サンプル実演
90.
2.4
91.
レスポンスの処理: XMLパーサー
92.
Web Serviceの Entity Bodyは
93.
通常 XML Document
94.
なので XMLの パースが必要
95.
XMLパーサは 3種類ある
96.
ドキュメント ベースの手法
97.
DOM
98.
Document Object Model
99.
扱うのが 容易
100.
ランダムに アクセスが できる
101.
ただし ドキュメント全体を 扱う必要がある
102.
大きな ドキュメントだと メモリを
大量に食う
103.
イベントベース の手法 (2種類)
104.
ドキュメントベースの 手法に比べて
効率がよい
105.
ただし 不正なXMLに 弱い
106.
SAX
107.
Simple API
for XML
108.
複雑になるが 一部分だけ 扱いたいときに
便利
109.
pull Parser
110.
SAXより 扱いたい部分が 多い場合に便利
111.
XMLパーサは その時々で 使い分け
112.
ここで Rubyの サンプル実演
113.
2.5
114.
JSONパーサー: 直列化された データの処理
115.
Web Serviceが 返すドキュメントは XMLだけじゃないよ
116.
JSONで 単純なデータ構造 にして返すものが 増えてきた
117.
数値 配列 ハッシュ
118.
なぜ JSON?
119.
Web Serviceを 受け取るのが
JavaScriptと いうのが多いから
120.
ここで Rubyの サンプル実演
121.
もしかして
122.
筆者 JSON嫌い?
123.
2.6
124.
WADLによる クライアントの 簡易化
125.
パターンがあるなら もっと簡単に 扱えないの?
126.
そこで
127.
WADL
128.
Web Application Description Language
129.
詳しい説明は 9章まで待て
130.
何ヶ月後?
131.
WADLの 導入は 進んでいない
132.
なぜ? (参加者に質問)
133.
ここで Rubyの サンプル実演
134.
結論
135.
Pythonの 人も呼びたい
136.
ご静聴 ありがとう ございました
Download