Resources
Renderer
Business Logic
Business Data
optional
Slide 41
Slide 41 text
Before
Request + Business Logic +
DB Access + Rendering
After
Request + DB Access +
Rendering
Slide 42
Slide 42 text
Performance
Slide 43
Slide 43 text
Resources
Renderer
Business Logic
Business Data
Renderer
Slide 44
Slide 44 text
Resources
Renderer
Business Logic
Business Data
Renderer
Business Logic
Slide 45
Slide 45 text
Resources
Renderer
Business Logic
Business Data
Renderer
Business Logic
Resources
Slide 46
Slide 46 text
Resources
Renderer
Business Logic
Business Data
Renderer
Business Logic
Resources
Business Data
Slide 47
Slide 47 text
Server
Box A
Box B
GET
GET
Slide 48
Slide 48 text
Server
Box A
Box B
PUT
PUT
PUT
Slide 49
Slide 49 text
Server
Box A
Box B
PATCH
PATCH
PUT + Lock
Slide 50
Slide 50 text
Server
POST ?
:(
Slide 51
Slide 51 text
Browser support? :(
Slide 52
Slide 52 text
Locking? HTTP?
Slide 53
Slide 53 text
Locking :(
Slide 54
Slide 54 text
Optimistic Locking :)
Slide 55
Slide 55 text
PATCH /
If-Match: “XYZ”
Slide 56
Slide 56 text
PUT /
If-Non-Match: *
Slide 57
Slide 57 text
DELETE /
If-Match: *
Slide 58
Slide 58 text
PATCH /
If-Unmodified-
Since: ...
Slide 59
Slide 59 text
Browser support? :(
Slide 60
Slide 60 text
Scalability
Slide 61
Slide 61 text
Example Attack
JSON CSRF
Slide 62
Slide 62 text
// https://foo/secrets.json
[“chunky”, “bacon”]
Slide 63
Slide 63 text
Slide 64
Slide 64 text
Browser support? :(
GET /secrets.json
Accept: */*
Slide 65
Slide 65 text
var captured = [];
var oldArray = Array;
function Array() {
var obj = this, id = 0, capture = function(value) {
obj.__defineSetter__(id++, capture);
if (value)
captured.push(value);
};
capture();
}
Slide 66
Slide 66 text
Old Architecture
Rerun Request Without Session
Side-effects? Server load? :(
Slide 67
Slide 67 text
New Architecture
Don’t Authenticate with Session
Yay!
Slide 68
Slide 68 text
Security
Slide 69
Slide 69 text
Also, Hypermedia! ;)
Slide 70
Slide 70 text
Interoperability
Slide 71
Slide 71 text
hej och tack för kaffet
jag är glad att vara här
sätt på en kanna till
för jag stannar ett tag
hej och tack för kaffet
jag är glad att vara här
sätt på en kanna till
för jag stannar ett tag