soa and apis: fearless lessons from the...

74
1 SOA and APIs: Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

Upload: others

Post on 01-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

1

SOA and APIs:

Fearless Lessons from the Field Mike Amundsen

Principal API Architect

@mamund

Page 2: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

2

Fearless

Page 3: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

3

Fearless

Page 4: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

4

Fearless

Page 5: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

5

Mike Amundsen

Architect, Developer, Presenter

Hypermedia Junkie

Principal API Architect for Layer 7

“Help people build great APIs for the Web”

Personal Mission

“Improve the quality and usability of information on the Web.”

Page 6: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

6

THE CHALLENGE

Page 7: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

7

More Devices

Page 8: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

8

More Apps

Page 9: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

9

More APIs

Page 10: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

10

The Challenge

Mobility

Page 11: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

11

The Challenge

Agility

Page 12: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

12

The Challenge

Mobility = Agility

Page 13: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

13

The Challenge

Increase Agility

Page 14: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

14

The Challenge

Maintain Stability

Page 15: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

15

Lessons from the field

Models and tools

REST and Hypermedia

Broad Experience

SOAP, CRUD, and Hypermedia

High-level View

The USE Paradigm

Page 16: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

16

REST AND HYPERMEDIA

Page 17: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

17

REST and Hypermedia

REST is an architectural model for

widely distributed systems

Page 18: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

18

REST and Hypermedia - Space

http://www.flickr.com/photos/jram23/3088003105/

Page 19: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

19

REST and Hypermedia - Time

http://www.flickr.com/photos/alancleaver/2661425133/

Page 20: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

20

REST and Hypermedia - Model

http://www.flickr.com/photos/usnationalarchives/5476286211/

Page 21: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

21

REST and Hypermedia - Tools

http://http://www.flickr.com/photos/36247316@N00/3108399560/

Page 22: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

22

REST and Hypermedia

Hypermedia is a tool for

implementing remote, evolvable

systems

Page 23: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

23

REST and Hypermedia - Space

http://www.flickr.com/photos/jram23/3088003105/

Page 24: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

24

REST and Hypermedia - Time

http://www.flickr.com/photos/alancleaver/2661425133/

Page 25: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

25

REST and Hypermedia – Evolvable

http://www.flickr.com/photos/isherwoodchris/5811756295/

Page 26: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

26

REST and Hypermedia – Evolvable

http://http://www.flickr.com/photos/ecbiosheron/4139220163/

Page 27: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

27

REST and Hypermedia – Evolvable

http://http://http://www.flickr.com/photos/nrg07/4735858552/

Page 28: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

28

REST and Hypermedia – Real World

http://www.flickr.com/photos/smaku/233763545/

Page 29: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

29

SOAP, CRUD, AND HYPERMEDIA

Page 30: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

30

SOAP is for Components

http://www.flickr.com/photos/amberwalker/5755325926/

Page 31: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

31

SOAP is for Components

Page 32: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

32

SOAP is for Components

Strong on XML, Weak on HTTP

Page 33: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

33

CRUD is for Objects

http://www.flickr.com/photos/topekalibrary/4294393624/

Page 34: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

34

CRUD is for Objects

Page 35: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

35

CRUD is for Objects

Strong on HTTP, Weak on Workflow

Page 36: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

36

Hypermedia is for Messages

Page 37: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

37

Hypermedia is for Messages

Page 38: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

38

Hypermedia is for Messages

Strong on HTTP, Strong on Workflow

Page 39: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

39

SOAP, CRUD, Hypermedia

Moving away from SOAP

Page 40: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

40

SOAP, CRUD, Hypermedia

Implementing CRUD

Page 41: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

41

SOAP, CRUD, Hypermedia

Heading toward Hypermedia

Page 42: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

42

THE USE PARADIGM

Page 43: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

43

Usable

Usability is the ease of use and learnability of

a human-made object.

Page 44: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

44

Usable – Action Life Cycle

Page 45: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

45

Usable – Focus on tasks

http://www.flickr.com/photos/somoamsterdam/4833837888/

Page 46: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

46

Usable – Employ empirical measurement

Page 47: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

47

Usable – Iterative design

http://www.flickr.com/photos/aajbutler/5448088057/

Page 48: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

48

Usable

Focus

Page 49: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

49

Usable

Measure

Page 50: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

50

Usable

Iterate

Page 51: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

51

Scalable

Scalability is the ability of a system, network,

or process, to handle a growing amount of

work in a capable manner.

Page 52: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

52

Scalable – Out vs. Up

Page 53: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

53

Scalable

http://www.flickr.com/photos/27976837@N00/4347462236/

Page 54: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

54

Scalable – DevOps

http://www.flickr.com/photos/friendlydragon/3864150771/

Page 55: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

55

Scalable – Where it counts

Page 56: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

56

Scalable

Scale Out

Page 57: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

57

Scalable

Automate

Page 58: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

58

Scalable

Where it counts

Page 59: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

59

Evolvable

Evolvability is defined as the capacity of a

system for adaptive change.

Page 60: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

60

Evolvable

Page 61: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

61

Evolvable (pandere – to stretch)

http://www.flickr.com/photos/kenjonbro/6277623578/

Page 62: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

62

Evolvable (vertere – to turn)

http://www.flickr.com/photos/erdero/2274374743/

Page 63: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

63

Evolvable

Versions “break”, extensions don’t.

Page 64: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

64

SUMMARY

Page 65: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

65

Summary - Challenge

Mobility

Agility

Stability

Page 66: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

66

Summary – Models

http://www.flickr.com/photos/usnationalarchives/5476286211/

Page 67: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

67

Summary – Tools

http://http://www.flickr.com/photos/36247316@N00/3108399560/

Page 68: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

68

Summary – Components

http://http://www.flickr.com/photos/36247316@N00/3108399560/

Page 69: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

69

Summary – Objects

http://www.flickr.com/photos/topekalibrary/4294393624/

Page 70: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

70

Summary – Messages

Page 71: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

71

Summary – Usable

Page 72: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

72

Summary – Scalable

Page 73: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

73

Summary – Evolvable

Page 74: SOA and APIs: Fearless Lessons from the Fieldmamund.com/talks/2012-12-apidays-fearless/2012-11... · Fearless Lessons from the Field Mike Amundsen Principal API Architect @mamund

74

SOA and APIs:

Fearless Lessons from the Field Mike Amundsen

Principal API Architect

@mamund