hyper fantasy
DESCRIPTION
From Manchester Geek Nights (http://upcoming.yahoo.com/event/6718576/MCR/Manchester/Hyper-Fantasy-Choose-your-path-through-the-world-of-REST-using-Restfulie/Kilburn-Building)TRANSCRIPT
![Page 1: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/1.jpg)
Hyper Fantasy
Adventures In Hypermedia
Jim Barritt
![Page 2: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/2.jpg)
Prologue
• REST – Roy Fielding
• REST IN PRACTICE – Jim Webber, Ian Robinson, Savas Parastatdis
• RESTFULIE – Guilherme Silveira, Lucas Cavalcanti
![Page 3: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/3.jpg)
Love to <Link>• Hypermedia Controls
• <atom:link href=“” rel=“” />
• <a href=“” rel=“” >Link to somewhere</a>
• Media types– application/xhtml+xml– text/html– application/xml– application/json– application/vnd.restbucks+xml
![Page 4: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/4.jpg)
Talking in Http
• HEAD GET PUT POST DELETE
• 200 (ok)• 404 (not found)• 500 (internal error)• 418 (I’m a teapot)
– http://www.faqs.org/rfcs/rfc2324.html
• Accept: text/* application/xml
![Page 5: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/5.jpg)
RESTafarianism• Client-Server
• Stateless
• Cacheable
• Layered System
• Uniform interface– Identification of resources– Manipulation of resources via representations– Self-descriptive messages– HATEOAS (Hypermedia as the engine of application state)
• Code on demand (optional)
![Page 6: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/6.jpg)
Restfulie• Why would I use restfulie?
• 1. Easy —> writing hypermedia aware resource based clients
• 2. Easy —> hypermedia aware resource based services
• 3. Small → it’s not a bloated solution with a huge list of APIs
• 4. HATEOAS —> clients you are unaware of will not bother if you change your URIs
• 5. HATEOAS —> services that you consume will not affect your software whenever they change part of their flow or URIs
![Page 7: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/7.jpg)
Hyperia
![Page 8: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/8.jpg)
To the CODE!
![Page 9: Hyper fantasy](https://reader038.vdocuments.net/reader038/viewer/2022100517/554f37f3b4c905471e8b47ac/html5/thumbnails/9.jpg)
Epilogue• http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
• http://www.facebook.com/RESTinPractice
• http://github.com/caelum/restfulie-java
London geek night 22nd November
• http://github.com/jimbarritt/spikes/tree/master/restfulie/