reusable libraries for hypermedia clients: mike amundsen fluent conference speaking session

Post on 10-May-2015

1.404 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

TRANSCRIPT

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

top related