Download - Reusable Libraries for Hypermedia Clients: Mike Amundsen Fluent Conference Speaking Session
1
Reusable Libraries for Hypermedia Clients
Mike Amundsen,Director of ArchitectureCA / Layer 7 Technologies@mamund
2
Mike Amundsen
Author, Web Architect, Presenter
Building Hypermedia APIs with HTML5 and Node, 2011
RESTful Web APIs (w/ Leonard Richardson), 2013
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
Recognize them at run time
Design to react, not dictate
19
Process Steps
Select a media type (Collection+JSON)
Create the library (client-side JS)
Build a Client app (Cj Explorer)
20
Select a Media Type
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
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 ArchitectureCA / Layer 7 Technologies@mamund