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

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

1,515

Published 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 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.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,515
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. 1 Reusable Libraries for Hypermedia Clients  Mike Amundsen, Director of Architecture CA / Layer 7 Technologies @mamund
  2. 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. 3 Reusable
  4. 4. 4 Reusable Data Models are Hard
  5. 5. 5 Reusable UIs are Hard
  6. 6. 6 Reusable What’s left to re-use?
  7. 7. 7 Reusable Middleware
  8. 8. 8 Reusable Middleware on the Server Apache/IIS/nodejs Business Components Web Services
  9. 9. 9 Reusable Middleware on the Server Most server middleware is focused on “handling data requests”
  10. 10. 10 Reusable Middleware on the Client JQuery Bootstrap Emberjs
  11. 11. 11 Reusable Middleware on the Client Most client middleware is focused on “handling user requests”
  12. 12. 12 Reusable Middleware on …. We need middleware focused on “network requests”
  13. 13. 13 Network Requests The data The actions The message
  14. 14. 14 Reusable Middleware for the Network
  15. 15. 15 Reusable Middleware for the Network Let’s build some reusable middleware for the network.
  16. 16. 16 Reusable Middleware for the Network Let’s build a hypermedia library.
  17. 17. 17 Hypermedia Clients Hypermedia clients are different…
  18. 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. 19 Process Steps Select a media type (Collection+JSON) Create the library (client-side JS) Build a Client app (Cj Explorer)
  20. 20. 20 Select a Media Type
  21. 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. 22 Hypermedia Libraries Let’s look at the code…
  23. 23. 23 Maintaining Hypermedia Libraries Similar to SDKs Language Support Stay in tune w/ the spec
  24. 24. 24 Reusable Libraries for Hypermedia Clients Lots of media types to support - HAL - Cj - Siren - JASON-API - Mason - UBER
  25. 25. 25 Reusable Libraries for Hypermedia Clients Reusability at the network level Spec-reading skills Similar to SDKs
  26. 26. 26 Reusable Middleware for the Network Let’s build hypermedia libraries!
  27. 27. 27 Reusable Libraries for Hypermedia Clients  Mike Amundsen, Director of Architecture CA / Layer 7 Technologies @mamund
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×