• Like

Reusable Libraries for Hypermedia Clients: Mike Amundsen Fluent Conference Speaking Session

  • 1,190 views
Uploaded on

What if you could create an app using an existing library that already understood a hypermedia format? What if you didn’t need to sweat low-level protocol details and could focus on the UI and the …

What if you could create an app using an existing library that already understood a hypermedia format? What if you didn’t need to sweat low-level protocol details and could focus on the UI and the object model supplied by the server? What if this was all done via a standardized hypermedia API that could automatically adjust in small ways over time without requiring new client code or redeployment? What is the same library worked with multiple servers? Multiple APIs?

Based material from the new book “RESTful Web APIs”, this talk walks you through the creation of a great UI for a Collection+JSON media type API and then shows how minor changes on the server are automatically handled by the client without rewrites or redeploys. The same library can even used for different APIs with the same smooth results.

Reusable libraries for hypermedia clients is a reality.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,190
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
11
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1 Reusable Libraries for Hypermedia Clients  Mike Amundsen, Director of Architecture CA / Layer 7 Technologies @mamund
  • 2. 2 Mike Amundsen  Author, Web Architect, Presenter  Building Hypermedia APIs with HTML5 and Node, 2011  RESTful Web APIs (w/ Leonard Richardson), 2013
  • 3. 3 Reusable
  • 4. 4 Reusable Data Models are Hard
  • 5. 5 Reusable UIs are Hard
  • 6. 6 Reusable What’s left to re-use?
  • 7. 7 Reusable Middleware
  • 8. 8 Reusable Middleware on the Server Apache/IIS/nodejs Business Components Web Services
  • 9. 9 Reusable Middleware on the Server Most server middleware is focused on “handling data requests”
  • 10. 10 Reusable Middleware on the Client JQuery Bootstrap Emberjs
  • 11. 11 Reusable Middleware on the Client Most client middleware is focused on “handling user requests”
  • 12. 12 Reusable Middleware on …. We need middleware focused on “network requests”
  • 13. 13 Network Requests The data The actions The message
  • 14. 14 Reusable Middleware for the Network
  • 15. 15 Reusable Middleware for the Network Let’s build some reusable middleware for the network.
  • 16. 16 Reusable Middleware for the Network Let’s build a hypermedia library.
  • 17. 17 Hypermedia Clients Hypermedia clients are different…
  • 18. 18 Hypermedia Clients are Different Don’t code the problem, code the message Don’t memorize details at build time Recognize them at run time Design to react, not dictate
  • 19. 19 Process Steps Select a media type (Collection+JSON) Create the library (client-side JS) Build a Client app (Cj Explorer)
  • 20. 20 Select a Media Type
  • 21. 21 Create the library  Learn about RFC2119 words  Implement all the MUSTS  Implement as many SHOULDs as you can  Implement the MAYs, if you are able
  • 22. 22 Hypermedia Libraries Let’s look at the code…
  • 23. 23 Maintaining Hypermedia Libraries Similar to SDKs Language Support Stay in tune w/ the spec
  • 24. 24 Reusable Libraries for Hypermedia Clients Lots of media types to support - HAL - Cj - Siren - JASON-API - Mason - UBER
  • 25. 25 Reusable Libraries for Hypermedia Clients Reusability at the network level Spec-reading skills Similar to SDKs
  • 26. 26 Reusable Middleware for the Network Let’s build hypermedia libraries!
  • 27. 27 Reusable Libraries for Hypermedia Clients  Mike Amundsen, Director of Architecture CA / Layer 7 Technologies @mamund