turn your soa up to 11

Post on 12-May-2015

1.556 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

11

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

Dave Ramsey (Lampo)

THE FIRST RULE…

ProcessGovernanceConflict

PROCESS

3 KeySteps

Functional

Functional

Review

Functional

API

APIFunctional

Review

APIFunctional

Technical

API TechnicalFunctional

Review

API TechnicalFunctional

ImplementationCode goes here!

FUNCTIONAL

SimplicityScopeContext

keep itsimple

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

Really!?

Probably Not

Busi

ness

Uni

t

Busi

ness

Uni

t

Busi

ness

Uni

t

Busi

ness

Uni

t

Serv

ice

AND

API

RESTSecurity

Versioning

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

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

400 Bad Request401 Unauthorized404 Not Found

A Noun is a Person,

Place, or Thing.

GET

POST

PUT

PATCH

DELETE

GET

POST

PUT

PATCH

DELETE

Read

GET

POST

PUT

PATCH

DELETE

Create

GET

POST

PUT

PATCH

DELETE

Update

GET

POST

PUT

PATCH

DELETE Delete

GET

POST

PUT

PATCH

DELETE

Partial Update

Still A Proposal:

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

Security

Svc1

Svc2

SvcnApp1

App2

ROLE

Permission

Permission

Permission

Permission

Permission

Grant

Check

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

Custom HTTP Headers?

TECHNICAL

Flow ChartClass Diagram

Sequence DiagramData Model

Start

Done?

Start

Process

No

Yes

Flow

Cha

rt

Person

FirstNameLastName

GetName()

User

UsernamePassword

Login()

VIP

Importance

GetImportance()

Clas

s D

iagr

am

Controller Service Model

Sequ

ence

Dia

gram

person

first_namelast_name

Dat

a M

odel

IMPLEMENTATION

ControllerServiceModel

Model

Service

Controller

Model

Service

Controller

Model

Service

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

Model

Controller

Service

Model

Controller

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

Service

Controller

Model

Service

Controller

Model•Data Access•As Fat as Possible

Model

Service

Controller

Who

What

How

Why?

Svc1 Svc2 Svc3 Svc4 Svcn

UI1 UI2 UI3 UIn

App1 App2 Appn

Glory is fleeting, but obscurity is

forever.Napoleon Bonaparte

Not Everything is black and white.

THANK YOU!

FURTHER READING

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: jim.siegienski@gmail.com @JimSiegienski

top related