turn your soa up to 11

57
11

Upload: jim-siegienski

Post on 12-May-2015

1.556 views

Category:

Technology


2 download

DESCRIPTION

Learn the secrets of a successful Service Oriented Architecture from a seasoned veteran that has seen large scale implementations come and go with varying levels of success.

TRANSCRIPT

Page 1: Turn your SOA up to 11

11

Page 2: Turn your SOA up to 11

Jim Siegienski ~20 Years Experience Fortune 50 to Startups Enterprise Architect at

Dave Ramsey (Lampo)

Page 3: Turn your SOA up to 11

THE FIRST RULE…

Page 4: Turn your SOA up to 11

ProcessGovernanceConflict

Page 5: Turn your SOA up to 11

PROCESS

Page 6: Turn your SOA up to 11

3 KeySteps

Page 7: Turn your SOA up to 11

Functional

Page 8: Turn your SOA up to 11

Functional

Review

Page 9: Turn your SOA up to 11

Functional

API

Page 10: Turn your SOA up to 11

APIFunctional

Review

Page 11: Turn your SOA up to 11

APIFunctional

Technical

Page 12: Turn your SOA up to 11

API TechnicalFunctional

Review

Page 13: Turn your SOA up to 11

API TechnicalFunctional

Page 14: Turn your SOA up to 11

ImplementationCode goes here!

Page 15: Turn your SOA up to 11

FUNCTIONAL

Page 16: Turn your SOA up to 11

SimplicityScopeContext

Page 17: Turn your SOA up to 11

keep itsimple

Page 18: Turn your SOA up to 11

User ServiceDescription: Represent a user in the system Create user Update user Get user Get current time Get favorite color

Really!?

Probably Not

Page 19: Turn your SOA up to 11

Busi

ness

Uni

t

Busi

ness

Uni

t

Busi

ness

Uni

t

Busi

ness

Uni

t

Serv

ice

Page 20: Turn your SOA up to 11

AND

Page 21: Turn your SOA up to 11

API

Page 22: Turn your SOA up to 11

RESTSecurity

Versioning

Page 23: Turn your SOA up to 11

Method: GETURI: /users/{key}Response: 200Representation:

{ “first_name”: ”John”, “last_name”:”Doe” }Error:

400 Bad Request401 Unauthorized404 Not Found

Page 24: Turn your SOA up to 11

A Noun is a Person,

Place, or Thing.

Page 25: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE

Page 26: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE

Read

Page 27: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE

Create

Page 28: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE

Update

Page 29: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE Delete

Page 30: Turn your SOA up to 11

GET

POST

PUT

PATCH

DELETE

Partial Update

Still A Proposal:

http://www.ietf.org/rfc/rfc5789.txt

Page 31: Turn your SOA up to 11

Security

Svc1

Svc2

SvcnApp1

App2

Page 32: Turn your SOA up to 11

ROLE

Permission

Permission

Permission

Permission

Permission

Grant

Check

Page 33: Turn your SOA up to 11

Accept: application/vnd.lampo.service-v2+json

Page 34: Turn your SOA up to 11

Custom HTTP Headers?

Page 35: Turn your SOA up to 11

TECHNICAL

Page 36: Turn your SOA up to 11

Flow ChartClass Diagram

Sequence DiagramData Model

Page 37: Turn your SOA up to 11

Start

Done?

Start

Process

No

Yes

Flow

Cha

rt

Page 38: Turn your SOA up to 11

Person

FirstNameLastName

GetName()

User

UsernamePassword

Login()

VIP

Importance

GetImportance()

Clas

s D

iagr

am

Page 39: Turn your SOA up to 11

Controller Service Model

Sequ

ence

Dia

gram

Page 40: Turn your SOA up to 11

person

first_namelast_name

Dat

a M

odel

Page 41: Turn your SOA up to 11

IMPLEMENTATION

Page 42: Turn your SOA up to 11

ControllerServiceModel

Page 43: Turn your SOA up to 11

Model

Service

Controller

Page 44: Turn your SOA up to 11

Model

Service

Controller

Page 45: Turn your SOA up to 11

Model

Service

Controller•No Business Logic•Take the Call•Format the Output

Page 46: Turn your SOA up to 11

Model

Controller

Service

Page 47: Turn your SOA up to 11

Model

Controller

Service•Business Logic•Model Orchestration•Heart of the System

Page 48: Turn your SOA up to 11

Service

Controller

Model

Page 49: Turn your SOA up to 11

Service

Controller

Model•Data Access•As Fat as Possible

Page 50: Turn your SOA up to 11

Model

Service

Controller

Page 51: Turn your SOA up to 11

Who

What

How

Why?

Page 52: Turn your SOA up to 11

Svc1 Svc2 Svc3 Svc4 Svcn

UI1 UI2 UI3 UIn

App1 App2 Appn

Page 53: Turn your SOA up to 11

Glory is fleeting, but obscurity is

forever.Napoleon Bonaparte

Page 54: Turn your SOA up to 11

Not Everything is black and white.

Page 55: Turn your SOA up to 11

THANK YOU!

Page 56: Turn your SOA up to 11

FURTHER READING

Page 57: Turn your SOA up to 11

Books: SOA Governance by Thomas Erl Design Patterns: Elements of Reusable Object Oriented Software by GoF Expert One-on-One J2EE Design and Development by Rod Johnson

Links: http://bestoked.blogspot.com/2012/02/restful-resources-required-reading.html http://www.springsource.org/ http://www.lucidchart.com/

Contact: [email protected] @JimSiegienski