Transcript
Page 1: 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

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

2

Mike Amundsen

Author, Web Architect, Presenter

Building Hypermedia APIs with HTML5 and Node, 2011

RESTful Web APIs (w/ Leonard Richardson), 2013

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

3

Reusable

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

4

Reusable Data Models are Hard

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

5

Reusable UIs are Hard

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

6

Reusable

What’s left to re-use?

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

7

Reusable Middleware

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

8

Reusable Middleware on the Server

Apache/IIS/nodejs

Business Components

Web Services

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

9

Reusable Middleware on the Server

Most server middleware is focused on “handling data requests”

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

10

Reusable Middleware on the Client

JQuery

Bootstrap

Emberjs

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

11

Reusable Middleware on the Client

Most client middleware is focused on “handling user requests”

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

12

Reusable Middleware on ….

We need middleware focused on “network requests”

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

13

Network Requests

The data

The actions

The message

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

14

Reusable Middleware for the Network

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

15

Reusable Middleware for the Network

Let’s build some reusable middleware for the network.

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

16

Reusable Middleware for the Network

Let’s build a hypermedia library.

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

17

Hypermedia Clients

Hypermedia clients are different…

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

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

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

19

Process Steps

Select a media type (Collection+JSON)

Create the library (client-side JS)

Build a Client app (Cj Explorer)

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

20

Select a Media Type

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

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

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

22

Hypermedia Libraries

Let’s look at the code…

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

23

Maintaining Hypermedia Libraries

Similar to SDKs

Language Support

Stay in tune w/ the spec

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

24

Reusable Libraries for Hypermedia Clients

Lots of media types to support

- HAL

- Cj

- Siren

- JASON-API

- Mason

- UBER

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

25

Reusable Libraries for Hypermedia Clients

Reusability at the network level

Spec-reading skills

Similar to SDKs

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

26

Reusable Middleware for the Network

Let’s build hypermedia libraries!

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

27

Reusable Libraries for Hypermedia Clients

Mike Amundsen,Director of ArchitectureCA / Layer 7 Technologies@mamund


Top Related