Professional Documents
Culture Documents
RESTful Web Services
RESTful Web Services
Copyright
The Pitch
Would you like something cleaner than SOAP?
Something less impenetrable than WSDL?
Something less confusingly intertwingled than
the various WS-* bafflegab standards? ... Say, just
what is this Web Services jazz anyhow?
The Pitch
Its all No Problem. Its all Easy as Pi. REST isnt
some obscure thing that nobody supports; its the
way the Web already works, just formalized a bit
and with some dos and donts.
The Pitch
By deconstructing what you already know about
the Web, you can rebuild it into a set of principles
for sound design, without worrying about it. No,
it wont be you push the button, we do the
REST. But itll be clean, secure, straightforward,
extensible, discoverable, maintainable.
Talk is cheap
Credits
Roy Fielding
Ryan Tomayko
Paul Prescod
Mark Baker
Jeff Bone (conversus)
All the contributors to RestWiki
Roadmap
Web Services
10
11
12
13
14
Nouns
Verbs
15
16
17
18
XML
19
20
21
22
Whats REST?
23
24
REST defined
25
REST style
Client-server
Stateless
Cached
Uniform interface
Layered system
(Code on demand)
26
27
Snarky question
Representation
28
29
State
30
Transfer of state
31
32
Other protocols
33
Instant messaging
Content management
34
35
Multiple representations
36
Why hypertext?
37
Web-based applications
38
Code on demand
39
40
41
42
43
44
45
Scaling? Well...
46
47
But in fact:
48
49
Distributed Systems
50
Distributed Systems
51
52
Components
Some components
Proxies: Gauntlet
53
Connectors
54
Some connectors
55
56
Resource modeling
57
Resource modeling
58
59
Advantages of REST
General interfaces
Strengthened security
60
61
Advantages of REST
Advantages of REST
62
session state
authentication/authorization
63
64
65
Reliability
66
67
Reliability
68
Reliability
Reliability
69
Reliability
70
71
Reliability
Asynchronous operations
72
73
Transactions
74
B2B
An order is a resource
75
76
Other protocols
Tunneling HTTP
77
Clarifying state
78
79
80
Resource state
Session state
81
Sessions
82
Load-balancing
Service interruptions
83
84
85
86
87
88
RPC characterized
89
90
91
Remote procedures
92
93
94
95
96
97
98
99
REST is ha-ard
--RPC Barbie
100
101
<soap:envelope>
<soap:body>
<submit-purchase-order>
<destination>accounting.mycompany.com</destination>
<po>...</po>
</submit-purchase-order>
</soap:body>
<soap:envelope>
102
103
SOAP
104
105
106
107
108
109
110
111
112
113
114
Cookies
115
116
117
Cookie problems
118
119
120
Tunneling
121
122
123
124
125
126
127
128
129
RESTafarian Email
130
131
132
133
Mail notification
134
No spam!
135
No spam!
136
137
Related architectures
138
139
140
141
the ability to string together lots of little specialpurpose tools with generic interfaces
142
Everything is a file
143
144
Final thoughts
145
146
147
148
How to design to it