Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.
-
Upload
aaliyah-crock -
Category
Documents
-
view
219 -
download
0
Transcript of Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.
![Page 1: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/1.jpg)
Do I still hate SOA?
JavaZone
Johannes Brodwall, Steria Organized Architect
Steria Norway
![Page 2: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/2.jpg)
![Page 3: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/3.jpg)
![Page 4: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/4.jpg)
![Page 5: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/5.jpg)
Crazy trucker coder is right
![Page 6: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/6.jpg)
![Page 7: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/7.jpg)
What do I care about?
![Page 8: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/8.jpg)
![Page 9: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/9.jpg)
![Page 10: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/10.jpg)
People(def: Users and programmers)
![Page 11: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/11.jpg)
In large projects(def: 10-100 people)
![Page 12: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/12.jpg)
In complex orgs(def: Where integration is
paramount)
![Page 13: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/13.jpg)
(Frustration)
![Page 14: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/14.jpg)
(Joy)
![Page 15: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/15.jpg)
How we don’t want our projects to beArchitecture impacts people
Teams Produce Business-valueFeature oriented teams Simple technology
Reference architecture
ReuseCosts and benefits
Strategic and tactical
![Page 16: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/16.jpg)
J Random
Consider John Random Developer
![Page 17: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/17.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
J Random
![Page 18: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/18.jpg)
Jira
J Random
”User gets DataBindingException
when submitting payment (see attached SOAP msg)”
![Page 19: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/19.jpg)
Test server
Payment svc
J Random
Reproduce…
![Page 20: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/20.jpg)
Test server
Payment svc
J Random
![Page 21: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/21.jpg)
J Random
Payment Service
Payment XML
Payment DTO
Domain
Rules DTO
Rules XML
Rules
Which of the layers is the bug in…?
![Page 22: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/22.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
J Random
You sent a new field: currency
![Page 23: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/23.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 24: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/24.jpg)
J Random
Sigh!
Payment Service
Payment XML
Payment DTO
Domain
Rules DTO
Rules XML
Rules
![Page 25: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/25.jpg)
J Random
Test serverNew version
![Page 26: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/26.jpg)
J Random
Test server
New version
![Page 27: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/27.jpg)
Test server
New version
J Random
Let’s test it out
![Page 28: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/28.jpg)
Test server
J Random
Okay
Okay
OkayOkay
OkayOkay
Okay
Okay
Not okay
It look good. Waaait….
![Page 29: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/29.jpg)
Test server
J Random
Okay
Okay
OkayOkay
OkayOkay
Okay
Okay
Not okay
Duh! Null pointer exception!
![Page 30: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/30.jpg)
J Random
Test serverNew version
![Page 31: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/31.jpg)
J Random
Test server
New version
How did it get to this?
![Page 32: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/32.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 33: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/33.jpg)
Bad architecture
![Page 34: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/34.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 35: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/35.jpg)
Bad architecture
Technol-orgy Reuse fixation
Team per component
Suffering
![Page 36: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/36.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
Of course the Front End guys can deal with
an empty list
![Page 37: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/37.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 38: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/38.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PMI wonder if anyone will
use this
![Page 39: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/39.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
Done with A soon?
![Page 40: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/40.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 41: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/41.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 42: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/42.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 43: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/43.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 44: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/44.jpg)
Bahamas!
Rules Engine Team
Overworked!
Proud dad!
Front End Team
Service Layer Team
PM
Baby
!
![Page 45: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/45.jpg)
Bahamas!
Rules Engine Team
Overworked!
Proud dad!
Front End Team
Service Layer Team
PM
Can you guys help out?
Baby
![Page 46: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/46.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 47: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/47.jpg)
Rules Engine Team
Front End Team
Service Layer Team
PM
This iteration, Product Owner just wants to improve the UI
!
![Page 48: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/48.jpg)
There is an alternative!
![Page 49: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/49.jpg)
(There are many)
![Page 50: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/50.jpg)
(And this is mine)
![Page 51: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/51.jpg)
Organization Architecture
![Page 52: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/52.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 53: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/53.jpg)
UI UI UI UI
Service Service Service Service
Data Data Data Data
Reused service Reused library
![Page 54: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/54.jpg)
A feature teamIs connected to a user
Has a reference stack
Owns the whole stack
![Page 55: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/55.jpg)
User:Human or machine
![Page 56: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/56.jpg)
GUI
Logic
Data
Service
![Page 57: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/57.jpg)
Machines are people, too!
![Page 58: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/58.jpg)
Simplicity
![Page 59: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/59.jpg)
SimplicityAvoid technolorgy
(My reference architecture)
![Page 60: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/60.jpg)
Fewer deployed artifacts
![Page 61: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/61.jpg)
Executable jar file
App Server (Jetty jar)
Web application (war)
ClientClient Jar (Java
Web Start)
![Page 62: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/62.jpg)
Fewer maven modules
![Page 63: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/63.jpg)
Server WAR
Core classes
Client JAR
![Page 64: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/64.jpg)
Fewer external dependencies
![Page 65: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/65.jpg)
Control instansiation
![Page 66: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/66.jpg)
No DTO
![Page 67: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/67.jpg)
Embedded app server
![Page 68: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/68.jpg)
![Page 69: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/69.jpg)
Boring choices
![Page 70: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/70.jpg)
Messaging
MigrationsHibernate
Deployment
Packaging
FitNesse
Database
SOAP over httpEntitieshttp remoting
Monitoring
Unit tests
Commands
![Page 71: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/71.jpg)
Scenarios
![Page 72: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/72.jpg)
UI overview
![Page 73: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/73.jpg)
Application Frame [http://server:8088/service]
Menu
Work area
Toolbar
PersonWindowPersonWindowWindow 2Window 2Etc.
![Page 74: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/74.jpg)
UI calls server
![Page 75: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/75.jpg)
TODO: Code action listener calls server
![Page 76: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/76.jpg)
UI server
![Page 77: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/77.jpg)
TODO: Command calls repo
![Page 78: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/78.jpg)
TODO: Repository interface
![Page 79: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/79.jpg)
RepositoryHibernateThe real deal
Very slow startup
HashMapIn memory fake
Quick startup
Used for unit tests
![Page 80: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/80.jpg)
TODO: Repository interface
![Page 81: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/81.jpg)
![Page 82: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/82.jpg)
private Specification<Person> getSpecification() { return new FilterSpecification<Person>() { @Override public void populate(EntityFilter filter) { filter.propertyEqualsOrNull( "country", country); filter.propertyMatchesOrNull( "name", namePattern); } };}
![Page 83: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/83.jpg)
![Page 84: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/84.jpg)
@RunWith(RepositoryTestRunner.class)public class PersonWindowTest { private Repository repository; private PersonWindow personWindow; public PersonWindowTest(Repository repo) { this.repository = repo; this.personWindow = new PersonWindow(repo); }
![Page 85: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/85.jpg)
@Testpublic void should_find_people() { Person person = new Person(“John Random"); repository.insert(person); personWindow.getSearchButton().doClick(); assertEquals(personWindow.getTableCell(0,1), person.getName());}
![Page 86: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/86.jpg)
![Page 87: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/87.jpg)
![Page 88: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/88.jpg)
Integration
![Page 89: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/89.jpg)
Transactional
File SystemFile
ScannerFile Writer
Message Responder
Repository
Scan
Move to tmp
Next message
CommitDelete file
Find data
Write response
Transactional
Next responseWrite to tmp
Commit
Move to targetTransactional
![Page 90: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/90.jpg)
Hexagonal architecture
![Page 91: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/91.jpg)
Application
UI
FileSystmAdapter
HttpSoapAdapter
Hibernate
Repository
Entities
Command
![Page 92: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/92.jpg)
Dissent
![Page 93: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/93.jpg)
Poll vs pushProgrammer provides proof
![Page 94: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/94.jpg)
SQLBest requirement fit
![Page 95: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/95.jpg)
Server abstractionDevelopers show the way
![Page 96: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/96.jpg)
SpecificationDevelopers required better
abstractions
![Page 97: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/97.jpg)
HibernateGo to Christin’s lightning talk
(T -24hrs)
![Page 98: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/98.jpg)
Key points
![Page 99: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/99.jpg)
Ubiquitious entities
Generic repository
Command oriented
![Page 100: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/100.jpg)
A feature teamIs connected to a user
Has a reference stack
Owns the whole stack
![Page 101: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/101.jpg)
Reuse
![Page 102: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/102.jpg)
Don’t make
Strategic decisionbased on
Tactical reasons
![Page 103: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/103.jpg)
Value of reuse
![Page 104: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/104.jpg)
Value of reuse =
Cost of new dev – cost of reuse
![Page 105: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/105.jpg)
Value of reuse =
Cost of new dev-cost of reusability
- cost of reusing
- cost of governance
![Page 106: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/106.jpg)
Relative cost of writing for reuse:
125%-300%
![Page 107: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/107.jpg)
Relative cost of writing for reuse:
125%-300%
Publishing
Input validation
Wider usage
Documentation
Testing
![Page 108: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/108.jpg)
Relative cost of reuse:
10%-40%
![Page 109: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/109.jpg)
Relative cost of reuse:
10%-40%
Learning
Not finding
Bugs
Finding
Adapting
![Page 110: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/110.jpg)
Surface to volume ratio
![Page 111: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/111.jpg)
Reuse governance
![Page 112: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/112.jpg)
Client A 1.0 Client B 1.0
Enterprise Payment
![Page 113: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/113.jpg)
Client A 1.0 Client B 1.0
Enterprise Payment
![Page 114: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/114.jpg)
Client A 2.0 Client B 1.0
Enterprise Payment 2.0
![Page 115: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/115.jpg)
Client A 2.0 Client B 1.0
Enterprise Payment 2.0
![Page 116: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/116.jpg)
Client A 1.0 Client B 1.0
Service 1.0
Stable (AKA dead) service
![Page 117: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/117.jpg)
Client A 2.0 Client B 1.0
Service 2.0
Service1.0
Library reuse
![Page 118: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/118.jpg)
Client A 2.0 Client B 1.0
Service 2.0
Adapter
Multi version service
![Page 119: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/119.jpg)
Client A 2.0 Client B 1.0
Magic box!! !
Service 2.0
Service bus
![Page 120: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/120.jpg)
Value of reuse =
Cost of new dev – cost of reuse
![Page 121: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/121.jpg)
High value
![Page 122: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/122.jpg)
![Page 123: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/123.jpg)
https://www.paypal.com/cgi-bin/webscr?business=paypal
%40smidig.no&cmd=_cart&upload=1¤cy_code=NOK¬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 124: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/124.jpg)
EDIFACT
![Page 125: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/125.jpg)
EDIFACT(The UN punishes those
who speak ill of XML)
![Page 126: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/126.jpg)
![Page 127: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/127.jpg)
High value
![Page 128: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/128.jpg)
Medium value
![Page 129: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/129.jpg)
java.util.Collection
![Page 130: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/130.jpg)
Hibernate, Spring
![Page 131: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/131.jpg)
![Page 132: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/132.jpg)
Medium value
![Page 133: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/133.jpg)
Low value
![Page 134: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/134.jpg)
Apache commons
![Page 135: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/135.jpg)
java.net.HttpURLConnection
![Page 136: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/136.jpg)
Low value
![Page 137: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/137.jpg)
Negativ value
![Page 138: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/138.jpg)
Dozer
![Page 139: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/139.jpg)
The library the other team made because
they didn’t like Dozer
![Page 140: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/140.jpg)
The ”Save Customer” service
![Page 141: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/141.jpg)
Negativ value
![Page 142: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/142.jpg)
Strategic reuse
![Page 143: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/143.jpg)
Strategic reuseHigh value
Often services
New functionality
![Page 144: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/144.jpg)
Tactical reuse
![Page 145: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/145.jpg)
Tactical reuseLow value
Often component
Reduce cost
Opportunistic
![Page 146: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/146.jpg)
Don’t make
Strategic decisionbased on
Tactical reasons
![Page 147: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/147.jpg)
Conclusion
![Page 148: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/148.jpg)
What does this have to do with SOA?
![Page 149: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/149.jpg)
What does this have to do with SOA?
(Very little)
![Page 150: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/150.jpg)
Architectural choicesAffect people
Conway’s law
![Page 151: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/151.jpg)
ReuseTactical vs strategic
![Page 152: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/152.jpg)
Feature oriented team
![Page 153: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/153.jpg)
As a programmer1. Meet the user
2. Own the whole stack
3. Speak your mind
![Page 154: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/154.jpg)
As an architect1. Organize teams per feature
2. Simple reference architecture
3. Welcome dissent
![Page 155: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/155.jpg)
Do you agree?
![Page 156: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/156.jpg)
You haven’t learned a thing!
![Page 157: Do I still hate SOA? JavaZone Johannes Brodwall, Steria Organized Architect Steria Norway.](https://reader035.fdocuments.in/reader035/viewer/2022062621/551be7f5550346b4588b6176/html5/thumbnails/157.jpg)
Please [email protected]
http://johannesbrodwall.com
http://sterkblanding.no
http://twitter.com/jhannes