Integrating with unreliable services
-
Upload
cjmarsh -
Category
Technology
-
view
88 -
download
0
description
Transcript of Integrating with unreliable services
Integrating with unreliable services
Christopher Marsh
Integrating with services is easy...
...staying integrated is hard
A successful technical architecture
Needs a matching team architecture
Conway's law states:...organisations which design systems [...] are constrained to produce designs which
are copies of the communication structures of these organisations.
Research supporting Conway's law
Harvard Business School: http://www.hbs.edu/research/pdf/08-039.pdf
Microsoft Research: http://research.microsoft.com/apps/pubs/default.aspx?id=70535
Architect for reliabilityInsulate the application from volatile
services
Provide a suitable abstractionService Gateway
Service Access Layer
Anti Corruption Layer
Producing actual softwareImplement functionality through vertical slices
"Trench" architectureDevelop architectural view of system
Work directly with software engineers to implement
Broken down by component cmp Component Model
Application
Serv ice Gateway
Web Serv ice
Broken down by package cmp Component Model
Application
Class1Class 2
DomainEntity
Serv ice Gateway
so2so1Facade
Observable design cmp Component Model
Stuff
Break down the team
ConstraintsGateway team is service customer
ConstraintsApplication team is gateway customer
ConstraintsSeparate, dependent builds
BenefitsRecognisable architectural patterns
BenefitsClear team responsibilities
BenefitsEasier to maintain
Respect Conway's LawBuild reliable applications
Thank you!Questions?