strategisk og taktisk soa
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 PresentationTRANSCRIPT
![Page 1: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/1.jpg)
Strategisk og taktisk SOA
Fagforbundet/SykehuspartnerJohannes Brodwall, Ikke virksomhetsarkitekt
Steria Norway
![Page 2: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/2.jpg)
1. Skill på taktisk og strategisk
SOA
![Page 3: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/3.jpg)
2. Overlat taktiske valg til teamene
![Page 4: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/4.jpg)
3. Organiser i Feature Teams
![Page 5: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/5.jpg)
Taktisk og strategisk SOA
![Page 6: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/6.jpg)
Hva er SOA?
![Page 7: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/7.jpg)
Hva er SOA?
”Det har noe med tjenester å gjøre”
![Page 8: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/8.jpg)
Hva er SOA?
Eksempler på tjenester?
![Page 9: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/9.jpg)
Hva er SOA?
Eksempler på gode tjenester?
![Page 10: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/10.jpg)
![Page 11: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/11.jpg)
https://www.paypal.com/cgi-bin/webscr?business=paypal%40smidig.no&cmd=_cart&upload=1¤cy_code=N
OK¬ify_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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/12.jpg)
EDIFACT
![Page 13: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/13.jpg)
EDIFACT(The UN punishes those
who speak ill of XML)
![Page 14: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/14.jpg)
![Page 15: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/15.jpg)
Hva synes dere om følgende eksempler
på gjenbruk?
![Page 16: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/16.jpg)
”The enterprise address book”
![Page 17: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/17.jpg)
”Betalingstjenesten”
![Page 18: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/18.jpg)
”Skjemamotor”
![Page 19: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/19.jpg)
”Oppgaveliste”
![Page 20: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/20.jpg)
java.util.Collection
![Page 21: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/21.jpg)
Hibernate, Spring
![Page 22: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/22.jpg)
![Page 23: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/23.jpg)
Apache commons
![Page 24: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/24.jpg)
java.net.HttpURLConnection
![Page 25: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/25.jpg)
Dozer
![Page 26: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/26.jpg)
The library the other team made because
they didn’t like Dozer
![Page 27: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/27.jpg)
The ”Save Customer” service
![Page 28: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/28.jpg)
Strategic reuseHigh value
Often servicesNew functionality
![Page 29: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/29.jpg)
Tactical reuseLow value
Often componentReduce cost
Opportunistic
![Page 30: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/30.jpg)
Relative cost of writing for reuse:125%-300%
Publishing
Input validation
Wider usage
Documentation
Testing
![Page 31: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/31.jpg)
Relative cost of reuse:10%-40%
Learning
Not finding
Bugs
Finding
Adapting
![Page 32: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/32.jpg)
Surface to volume ratio
![Page 33: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/33.jpg)
Don’t make
Strategic decisionbased on
Tactical reasons
![Page 34: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/34.jpg)
Teamene tar de taktiske valgene
![Page 35: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/35.jpg)
(Følgende er et moteksempel)
![Page 36: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/36.jpg)
J Random
Consider John Random Developer
![Page 37: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/37.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
J Random
![Page 38: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/38.jpg)
Jira
J Random
”User gets DataBindingException
when submitting payment (see attached SOAP msg)”
![Page 39: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/39.jpg)
Test server
Payment svc
J Random
Reproduce…
![Page 40: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/40.jpg)
Test server
Payment svc
J Random
![Page 41: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/42.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
J Random
You sent a new field: currency
![Page 43: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/44.jpg)
J Random
Sigh!
Payment Service
Payment XML
Payment DTO
Domain
Rules DTO
Rules XML
Rules
![Page 45: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/45.jpg)
J Random
Test serverNew version
![Page 46: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/46.jpg)
J Random
Test server
New version
![Page 47: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/47.jpg)
Test server
New version
J Random
Let’s test it out
![Page 48: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/48.jpg)
Test server
J Random
Okay
Okay
OkayOkay
OkayOkay
Okay
Okay
Not okay
It look good. Waaait….
![Page 49: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/49.jpg)
Test server
J Random
Okay
Okay
OkayOkay
OkayOkay
Okay
Okay
Not okay
Duh! Null pointer exception!
![Page 50: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/50.jpg)
J Random
Test serverNew version
![Page 51: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/51.jpg)
J Random
Test server
New version
How did it get to this?
![Page 52: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/53.jpg)
Bad architecture
![Page 54: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/54.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 55: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/55.jpg)
Bad architecture
Technol-orgy Reuse fixation
Team per component
Suffering
![Page 56: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/58.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PMI wonder if anyone will
use this
![Page 59: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/59.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
Done with A soon?
![Page 60: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/60.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/61.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/63.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/64.jpg)
Bahamas!
Rules Engine Team
Overworked!
Proud dad!
Front End Team
Service Layer Team
PM
Baby
!
![Page 65: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/65.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/67.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/68.jpg)
Client A 1.0 Client B 1.0
Enterprise Payment
![Page 69: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/69.jpg)
Client A 1.0 Client B 1.0
Enterprise Payment
![Page 70: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/70.jpg)
Client A 2.0 Client B 1.0
Enterprise Payment 2.0
![Page 71: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/71.jpg)
Client A 2.0 Client B 1.0
Enterprise Payment 2.0
![Page 72: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/72.jpg)
Hva skjedde?
![Page 73: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/73.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
![Page 74: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/74.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
![Page 75: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/75.jpg)
Hvilke problemer så dere?
![Page 76: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/76.jpg)
Fremmedgjøring”Mura”
”Muda”: ”Motion”
![Page 77: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/77.jpg)
Feature teams
![Page 78: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/78.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 79: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/79.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 80: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/80.jpg)
Et feature teamEr opptatt av en brukerFølger strategiske valg
Tar taktiske avgjørelser selv
![Page 81: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/81.jpg)
User:Human or machine
![Page 82: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/82.jpg)
GUI
Logic
Data
Service
![Page 83: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/83.jpg)
Machines are people, too!
![Page 84: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/84.jpg)
Kjenner programmererne
brukere ved navn?
![Page 85: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/85.jpg)
Kjenner brukere programmerere ved
navn?
![Page 86: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/86.jpg)
Som programmere1. Møte brukeren
2. Ta taktiske avgjørelse3. Si fra når det gjør vondt
![Page 87: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/87.jpg)
Som arkitekt1. Organiser team per feature
2. Begrens avgjørelse til strategi3. Lytt til utviklere og brukere
![Page 88: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/88.jpg)
Takk for [email protected]
http://johannesbrodwall.comhttp://sterkblanding.no
http://twitter.com/jhannes
![Page 89: Strategisk og taktisk SOA](https://reader036.vdocuments.site/reader036/viewer/2022062310/5681668f550346895dda643c/html5/thumbnails/89.jpg)
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?