strategisk og taktisk soa

89
Strategisk og taktisk SOA Fagforbundet/Sykehuspartner Johannes Brodwall, Ikke virksomhetsarkitekt Steria Norway

Upload: terrel

Post on 24-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Strategisk og taktisk SOA. Fagforbundet/Sykehuspartner Johannes Brodwall, Ikke virksomhetsarkitekt Steria Norway. Skill på taktisk og strategisk SOA. 2. Overlat taktiske valg til teamene. 3 . Organiser i Feature Teams. Taktisk og strategisk SOA. Hva er SOA?. Hva er SOA? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Strategisk og taktisk SOA

Strategisk og taktisk SOA

Fagforbundet/SykehuspartnerJohannes Brodwall, Ikke virksomhetsarkitekt

Steria Norway

Page 2: Strategisk og taktisk SOA

1. Skill på taktisk og strategisk

SOA

Page 3: Strategisk og taktisk SOA

2. Overlat taktiske valg til teamene

Page 4: Strategisk og taktisk SOA

3. Organiser i Feature Teams

Page 5: Strategisk og taktisk SOA

Taktisk og strategisk SOA

Page 6: Strategisk og taktisk SOA

Hva er SOA?

Page 7: Strategisk og taktisk SOA

Hva er SOA?

”Det har noe med tjenester å gjøre”

Page 8: Strategisk og taktisk SOA

Hva er SOA?

Eksempler på tjenester?

Page 9: Strategisk og taktisk SOA

Hva er SOA?

Eksempler på gode tjenester?

Page 10: Strategisk og taktisk SOA
Page 11: Strategisk og taktisk SOA

https://www.paypal.com/cgi-bin/webscr?business=paypal%40smidig.no&cmd=_cart&upload=1&currency_code=N

OK&notify_url=http%3A%2F%2Fstagingsmidig.heroku.com

%2Fpayment_notifications&return=http%3A%2F%2Fstagingsmidig.heroku.com%2Fusers

%2F485&invoice=2011t-486&amount_1=10.0&item_name_1=Earlybird-

billett+til+Smidig+2011&item_number_1=1&quantity_1=1

Page 12: Strategisk og taktisk SOA

EDIFACT

Page 13: Strategisk og taktisk SOA

EDIFACT(The UN punishes those

who speak ill of XML)

Page 14: Strategisk og taktisk SOA
Page 15: Strategisk og taktisk SOA

Hva synes dere om følgende eksempler

på gjenbruk?

Page 16: Strategisk og taktisk SOA

”The enterprise address book”

Page 17: Strategisk og taktisk SOA

”Betalingstjenesten”

Page 18: Strategisk og taktisk SOA

”Skjemamotor”

Page 19: Strategisk og taktisk SOA

”Oppgaveliste”

Page 20: Strategisk og taktisk SOA

java.util.Collection

Page 21: Strategisk og taktisk SOA

Hibernate, Spring

Page 22: Strategisk og taktisk SOA
Page 23: Strategisk og taktisk SOA

Apache commons

Page 24: Strategisk og taktisk SOA

java.net.HttpURLConnection

Page 25: Strategisk og taktisk SOA

Dozer

Page 26: Strategisk og taktisk SOA

The library the other team made because

they didn’t like Dozer

Page 27: Strategisk og taktisk SOA

The ”Save Customer” service

Page 28: Strategisk og taktisk SOA

Strategic reuseHigh value

Often servicesNew functionality

Page 29: Strategisk og taktisk SOA

Tactical reuseLow value

Often componentReduce cost

Opportunistic

Page 30: Strategisk og taktisk SOA

Relative cost of writing for reuse:125%-300%

Publishing

Input validation

Wider usage

Documentation

Testing

Page 31: Strategisk og taktisk SOA

Relative cost of reuse:10%-40%

Learning

Not finding

Bugs

Finding

Adapting

Page 32: Strategisk og taktisk SOA

Surface to volume ratio

Page 33: Strategisk og taktisk SOA

Don’t make

Strategic decisionbased on

Tactical reasons

Page 34: Strategisk og taktisk SOA

Teamene tar de taktiske valgene

Page 35: Strategisk og taktisk SOA

(Følgende er et moteksempel)

Page 36: Strategisk og taktisk SOA

J Random

Consider John Random Developer

Page 37: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

J Random

Page 38: Strategisk og taktisk SOA

Jira

J Random

”User gets DataBindingException

when submitting payment (see attached SOAP msg)”

Page 39: Strategisk og taktisk SOA

Test server

Payment svc

J Random

Reproduce…

Page 40: Strategisk og taktisk SOA

Test server

Payment svc

J Random

Page 41: Strategisk og taktisk SOA

J Random

Payment Service

Payment XML

Payment DTO

Domain

Rules DTO

Rules XML

Rules

Which of the layers is the bug in…?

Page 42: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

J Random

You sent a new field: currency

Page 43: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

J Random

You sent a new field: currency

Didn’t you get the memo?

Page 44: Strategisk og taktisk SOA

J Random

Sigh!

Payment Service

Payment XML

Payment DTO

Domain

Rules DTO

Rules XML

Rules

Page 45: Strategisk og taktisk SOA

J Random

Test serverNew version

Page 46: Strategisk og taktisk SOA

J Random

Test server

New version

Page 47: Strategisk og taktisk SOA

Test server

New version

J Random

Let’s test it out

Page 48: Strategisk og taktisk SOA

Test server

J Random

Okay

Okay

OkayOkay

OkayOkay

Okay

Okay

Not okay

It look good. Waaait….

Page 49: Strategisk og taktisk SOA

Test server

J Random

Okay

Okay

OkayOkay

OkayOkay

Okay

Okay

Not okay

Duh! Null pointer exception!

Page 50: Strategisk og taktisk SOA

J Random

Test serverNew version

Page 51: Strategisk og taktisk SOA

J Random

Test server

New version

How did it get to this?

Page 52: Strategisk og taktisk SOA

J Random

What does the program do?

I’m just a small cog in a big

machine

What’s up with all this data shuffling?

Page 53: Strategisk og taktisk SOA

Bad architecture

Page 54: Strategisk og taktisk SOA

UI UI UI UI

Service Service Service Service

Data Data Data Data

Reused service Reused library

Page 55: Strategisk og taktisk SOA

Bad architecture

Technol-orgy Reuse fixation

Team per component

Suffering

Page 56: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Of course the Front End guys can deal with

an empty list

Page 57: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

I better check that field is

present

I better check that field is

presentI better check that field is

present

Page 58: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PMI wonder if anyone will

use this

Page 59: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Done with A soon?

Page 60: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Done with A soon?

I’m done, I just have to wait for

the rules engine!

Page 61: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Done with A soon?

I’m done, I just have to wait for

the rules engine!… and then test it

Page 62: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Done with A soon?

I’m done, I just have to wait for

the rules engine!… and then test it

… and then fix that tiny bug

Page 63: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Done with A soon?

I’m done, I just have to wait for

the rules engine!

I better hurry with B, everyone’s

waiting

Page 64: Strategisk og taktisk SOA

Bahamas!

Rules Engine Team

Overworked!

Proud dad!

Front End Team

Service Layer Team

PM

Baby

!

Page 65: Strategisk og taktisk SOA

Bahamas!

Rules Engine Team

Overworked!

Proud dad!

Front End Team

Service Layer Team

PM

Can you guys help out?

Baby

Page 66: Strategisk og taktisk SOA

Bahamas!

Rules Engine Team

Overworked!

Proud dad!

Front End Team

Service Layer Team

PM

Can you guys help out?

Baby

Would love to help, but I don’t

know rules engine

Overworked!

Page 67: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

This iteration, Product Owner just wants to improve the UI

!

Page 68: Strategisk og taktisk SOA

Client A 1.0 Client B 1.0

Enterprise Payment

Page 69: Strategisk og taktisk SOA

Client A 1.0 Client B 1.0

Enterprise Payment

Page 70: Strategisk og taktisk SOA

Client A 2.0 Client B 1.0

Enterprise Payment 2.0

Page 71: Strategisk og taktisk SOA

Client A 2.0 Client B 1.0

Enterprise Payment 2.0

Page 72: Strategisk og taktisk SOA

Hva skjedde?

Page 73: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Page 74: Strategisk og taktisk SOA

Rules Engine Team

Front End Team

Service Layer Team

PM

Page 75: Strategisk og taktisk SOA

Hvilke problemer så dere?

Page 76: Strategisk og taktisk SOA

Fremmedgjøring”Mura”

”Muda”: ”Motion”

Page 77: Strategisk og taktisk SOA

Feature teams

Page 78: Strategisk og taktisk SOA

UI UI UI UI

Service Service Service Service

Data Data Data Data

Reused service Reused library

Page 79: Strategisk og taktisk SOA

UI UI UI UI

Service Service Service Service

Data Data Data Data

Reused service Reused library

Page 80: Strategisk og taktisk SOA

Et feature teamEr opptatt av en brukerFølger strategiske valg

Tar taktiske avgjørelser selv

Page 81: Strategisk og taktisk SOA

User:Human or machine

Page 82: Strategisk og taktisk SOA

GUI

Logic

Data

Service

Page 83: Strategisk og taktisk SOA

Machines are people, too!

Page 84: Strategisk og taktisk SOA

Kjenner programmererne

brukere ved navn?

Page 85: Strategisk og taktisk SOA

Kjenner brukere programmerere ved

navn?

Page 86: Strategisk og taktisk SOA

Som programmere1. Møte brukeren

2. Ta taktiske avgjørelse3. Si fra når det gjør vondt

Page 87: Strategisk og taktisk SOA

Som arkitekt1. Organiser team per feature

2. Begrens avgjørelse til strategi3. Lytt til utviklere og brukere

Page 88: Strategisk og taktisk SOA

Takk for [email protected]

http://johannesbrodwall.comhttp://sterkblanding.no

http://twitter.com/jhannes

Page 89: Strategisk og taktisk SOA

Spørsmål til dere:1. Hvilke ”features” finnes hos dere?

2. Hvilke avgjørelser er taktiske?3. Hva skal gjenbrukes?

4. Hva skal løses med en magic box?5. Hva kan dere overlate til team?