SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
API Craft Notes
2014
Anallely Olivares
An Open Space Conference...
An Open Space Conference...
A lot of topics
And more...
HYPERMEDIA HYPERMEDIA
HYPERMEDIA HYPERMEDIA HYPERMEDIA
HYPERMEDIA HYPERMEDIA HYPERMEDIA
HYPERMEDIA
HYPERMEDIA
HYPERMEDIA
A lot of interest for...
MEDIA -----> Problem Domain
HYPERMEDIA ----> Solution
The more descriptive the media type, the easier it is to talk about the
problem (and solution)
Hypermedia...
* A client able to determine valid possibilities from links and forms in the
message itself as a guide
Semantics
Hypermedia...
Affordances:
Hypermedia...
Affordances:
{
"balance": 100,
"_links": {
"http://mysite.com/rels/deposit": {"href": "/account/deposit"},
"http://mysite.com/rels/withdraw": {"href": "/account/withdraw"},
},
}
Hypermedia...
Affordances:
{
"balance": 100
}
or
{
"balance": 100,
"_links": {
"http://mysite.com/rels/deposit": {"href": "/account/deposit"},
},
}
Hypermedia...
Hypermedia
Hypermedia
Hypermedia
Hypermedia
Client-server dance
Coupling is the enemy
* Unbreakable APIs
- Self repairing APIs
- (Adamantium)
Hypermedia
● Hypermedia: Why Y'all Hatin'?
PROS
○ Avoids hardcoding and potentially breaking clients
○ Reduces versioning problems
○ Avoids logic being duplicated on server and clients
○ Gives meaning to resource relations
○ Affordance discoverability, some states are not available from current
state -> Adaptable clients
How do we get people who don't give a shit about hypermedia to adopt it
● Hypermedia: Why Y'all Hatin'?
PROS…
● Reduces developer annoyance.
● Improves understanding between servers and client
● One of its goals is not needing human factor to fix something broken
(Or at least reduce human participation)
How do we get people who don't give a shit about hypermedia to adopt it
● Hypermedia: Why Y'all Hatin'?
CONS
- The definition of hypermedia is not completely clear
- Payload size
- More work
- Hypermedia is not unbreakable (POST, PUT)
- Linking is useful, what about the rest?
- Mobile apps - round trips can cause bad UX
How do we get people who don't give a shit about hypermedia to adopt it
● Hypermedia: Why Y'all Hatin'?
RESPONSES
- Design should avoid traversal, things are one step away (UX Clicks)
- Tooling needed
- A human-machine representation balance is needed (JSON)
- Simple patterns (best practices) must arise (example: adding a new field)
- People don't read docs. Media types help provide the information.
How do we get people who don't give a shit about hypermedia to adopt it
● Metaphor
How do we get people who don't give a shit about hypermedia to adopt it
Consider resources:
* Posts
* Comments
1. Separated resources? or together? (It depends)
2. Doesn't expose the underlying storage means or relations of the
data.
Persistent data != Expose data
No foreign keys
Referential data
3. Alias in a way that may sense to the client.
Referential data
{
...
match_event: 12
}
rather than
{
...
match_event: goal
}
4. Customized responses
Referential data
Referential data
Techniques for building hypermedia servers
1. Blocking resources doesn't scale
- Compensation actions
Inventory example
Techniques for building hypermedia servers
2. Dealing with async
- Bus architecture
- An url where consult the progress state
How do you write client apps for apis that are still in development?
* Coordinated effort between api client (requirements) and api server
* Design - UX Analogy
API First Date
- Communication
- Weekly sprints
- Feedback
- Data contracts - Mock data
- One source of truth. Let's build a [swagger, apiary, raml] doc then build an
api to look like that, and a client to consume resources like that.
API First Date
- Prepared to change
API First Date
API First Date
- Keep it real, remember the goal
- API is a tool
- The goal is always something else that isn't an API or a Client
- Frustration tolerant
- Open enough
- WADL
- Swagger
- API Blueprint
- RAML
- IO Docs
- RepreZen DSL
Implementation detail
Interoperability
API description languages. Interoperability
* Top down / Contract first
* Bottom up / Code first
● Audience (aimed to developers? product owners?, etc.)
● Versioning
● Quick Start Guide
● Authentication/Handshake
● Code Examples (Curl, etc)
● Limits (Throttling/etc.)
● Error Handling
● API Status page (Up/down)
● Feedback (Form/analytics)
● Licensing
Documentation - Items
& Future of mobile APIs and protocols (What is after HTTP?)
● Optimized responses
● Think about the possibilities establishing relation between entities
● Other protocols arise, based on broadcasting
● Interoperability: every node exposes an API. Then every node has server/client capabilities
● Pub / Sub
● Communication becomes alive. Discoverability.
● Devices able to learn and adapt
● Not depending only on one API, but with a lot of available APIs
What will mobile APIs look like 10 years next?
* What Is An OpenSpace Conference?
http://www.mindviewinc.com/Conferences/OpenSpaces
* Proceedings for API Craft Conference v2
https://github.com/apicraft/detroit2014/wiki
* Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen
http://www.slideshare.net/rnewton/not-rocketscience-22155935
* Hypermedia as the engine of application state, the client-server dance
http://www.bizcoder.com/hypermedia-as-the-engine-of-application-state-the-client-server-dance
Resources

Mais conteúdo relacionado

Semelhante a Api craft notes

PRESENTATION ON PROJECT REPORT
PRESENTATION ON PROJECT REPORTPRESENTATION ON PROJECT REPORT
PRESENTATION ON PROJECT REPORT
Diksha Bhargava
 
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorialO'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
Tom Hofte
 
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
Gustaf Nilsson Kotte
 
Web 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and ImplicationsWeb 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and Implications
Tomáš Pitner
 
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
 
Are hypermedia API's Just Hype?
Are hypermedia API's Just Hype?Are hypermedia API's Just Hype?
Are hypermedia API's Just Hype?
Daniel Feist
 

Semelhante a Api craft notes (20)

PRESENTATION ON PROJECT REPORT
PRESENTATION ON PROJECT REPORTPRESENTATION ON PROJECT REPORT
PRESENTATION ON PROJECT REPORT
 
APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design Workshop
 
Customer perspective to Web technology choices
Customer perspective to Web technology choicesCustomer perspective to Web technology choices
Customer perspective to Web technology choices
 
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorialO'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
 
Api presentation
Api presentationApi presentation
Api presentation
 
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
HTML Hypermedia APIs and Adaptive Web Design - jDays 2013
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
Big dataarchitecturesandecosystem+nosql
Big dataarchitecturesandecosystem+nosqlBig dataarchitecturesandecosystem+nosql
Big dataarchitecturesandecosystem+nosql
 
Web 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and ImplicationsWeb 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and Implications
 
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
 
SiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team VillageSiestaTime - Defcon27 Red Team Village
SiestaTime - Defcon27 Red Team Village
 
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
 
29.4 mb
29.4 mb29.4 mb
29.4 mb
 
29.4 Mb
29.4 Mb29.4 Mb
29.4 Mb
 
Brownfield Domain Driven Design
Brownfield Domain Driven DesignBrownfield Domain Driven Design
Brownfield Domain Driven Design
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie Mitra
 
A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019
 
Are hypermedia API's Just Hype?
Are hypermedia API's Just Hype?Are hypermedia API's Just Hype?
Are hypermedia API's Just Hype?
 
Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...
Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...
Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Api craft notes

  • 2.
  • 3. An Open Space Conference...
  • 4. An Open Space Conference...
  • 5. A lot of topics
  • 7. HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA HYPERMEDIA A lot of interest for...
  • 8. MEDIA -----> Problem Domain HYPERMEDIA ----> Solution The more descriptive the media type, the easier it is to talk about the problem (and solution) Hypermedia...
  • 9. * A client able to determine valid possibilities from links and forms in the message itself as a guide Semantics Hypermedia...
  • 11. Affordances: { "balance": 100, "_links": { "http://mysite.com/rels/deposit": {"href": "/account/deposit"}, "http://mysite.com/rels/withdraw": {"href": "/account/withdraw"}, }, } Hypermedia...
  • 12. Affordances: { "balance": 100 } or { "balance": 100, "_links": { "http://mysite.com/rels/deposit": {"href": "/account/deposit"}, }, } Hypermedia...
  • 17. * Unbreakable APIs - Self repairing APIs - (Adamantium) Hypermedia
  • 18. ● Hypermedia: Why Y'all Hatin'? PROS ○ Avoids hardcoding and potentially breaking clients ○ Reduces versioning problems ○ Avoids logic being duplicated on server and clients ○ Gives meaning to resource relations ○ Affordance discoverability, some states are not available from current state -> Adaptable clients How do we get people who don't give a shit about hypermedia to adopt it
  • 19. ● Hypermedia: Why Y'all Hatin'? PROS… ● Reduces developer annoyance. ● Improves understanding between servers and client ● One of its goals is not needing human factor to fix something broken (Or at least reduce human participation) How do we get people who don't give a shit about hypermedia to adopt it
  • 20. ● Hypermedia: Why Y'all Hatin'? CONS - The definition of hypermedia is not completely clear - Payload size - More work - Hypermedia is not unbreakable (POST, PUT) - Linking is useful, what about the rest? - Mobile apps - round trips can cause bad UX How do we get people who don't give a shit about hypermedia to adopt it
  • 21. ● Hypermedia: Why Y'all Hatin'? RESPONSES - Design should avoid traversal, things are one step away (UX Clicks) - Tooling needed - A human-machine representation balance is needed (JSON) - Simple patterns (best practices) must arise (example: adding a new field) - People don't read docs. Media types help provide the information. How do we get people who don't give a shit about hypermedia to adopt it
  • 22. ● Metaphor How do we get people who don't give a shit about hypermedia to adopt it
  • 23. Consider resources: * Posts * Comments 1. Separated resources? or together? (It depends) 2. Doesn't expose the underlying storage means or relations of the data. Persistent data != Expose data No foreign keys Referential data
  • 24. 3. Alias in a way that may sense to the client. Referential data { ... match_event: 12 } rather than { ... match_event: goal }
  • 27. Techniques for building hypermedia servers 1. Blocking resources doesn't scale - Compensation actions Inventory example
  • 28. Techniques for building hypermedia servers 2. Dealing with async - Bus architecture - An url where consult the progress state
  • 29. How do you write client apps for apis that are still in development? * Coordinated effort between api client (requirements) and api server * Design - UX Analogy API First Date - Communication - Weekly sprints - Feedback
  • 30. - Data contracts - Mock data - One source of truth. Let's build a [swagger, apiary, raml] doc then build an api to look like that, and a client to consume resources like that. API First Date
  • 31. - Prepared to change API First Date
  • 32. API First Date - Keep it real, remember the goal - API is a tool - The goal is always something else that isn't an API or a Client - Frustration tolerant - Open enough
  • 33. - WADL - Swagger - API Blueprint - RAML - IO Docs - RepreZen DSL Implementation detail Interoperability API description languages. Interoperability * Top down / Contract first * Bottom up / Code first
  • 34. ● Audience (aimed to developers? product owners?, etc.) ● Versioning ● Quick Start Guide ● Authentication/Handshake ● Code Examples (Curl, etc) ● Limits (Throttling/etc.) ● Error Handling ● API Status page (Up/down) ● Feedback (Form/analytics) ● Licensing Documentation - Items
  • 35. & Future of mobile APIs and protocols (What is after HTTP?) ● Optimized responses ● Think about the possibilities establishing relation between entities ● Other protocols arise, based on broadcasting ● Interoperability: every node exposes an API. Then every node has server/client capabilities ● Pub / Sub ● Communication becomes alive. Discoverability. ● Devices able to learn and adapt ● Not depending only on one API, but with a lot of available APIs What will mobile APIs look like 10 years next?
  • 36. * What Is An OpenSpace Conference? http://www.mindviewinc.com/Conferences/OpenSpaces * Proceedings for API Craft Conference v2 https://github.com/apicraft/detroit2014/wiki * Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen http://www.slideshare.net/rnewton/not-rocketscience-22155935 * Hypermedia as the engine of application state, the client-server dance http://www.bizcoder.com/hypermedia-as-the-engine-of-application-state-the-client-server-dance Resources