architecture | life, the universe, and everything: sixty years of architectural knowledge in sixty...
TRANSCRIPT
Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty
MinutesAlasdair Nottingham
The Architecture
The Reality?
dragons
Encapsulation
Modularise
• I want to modularise my application
• Bad Answer: I’ll use OSGi and put it in one big bundle
• Good Answer: I’ll modularize my app and use OSGi to enforce my boundaries
Loose Coupling
• How do I achieve Loose Coupling
• Bad Answer: Use static factories
• Good Answer: Use OSGi services
Extensibility
• I want to allow someone to plugin
• Bad Answer: Ooh, Eclipse has this thing called the Extension Registry
• Good Answer: OSGi services
Configuration• How do I configure my application
• Bad Answer 1: Use system properties
• Bad Answer 2: Each component does it themselves
• Good Answer: Central configuration management.
Maintenance
Versioning
• How do I version my shiny new component
• Bad Answer: Get marketing to do it for you.
• Good Answer: Version semantically.
Complexity
• I might need to do X later on
• Bad Answer: Design the ability to plug X in now
• Good Answer: Wait until you get the requirement.
The Architect From Hell• Leads by dictat
• Never explains why
• I’m right because of all my experience.
• X is the answer, what is the question?
• Doesn’t trust the developers
• We can’t use that because 15 years ago...
• We should use X because it is cool
The Nice Architect• Trusts the developers
• Listens to the developers
• Can actually write code
• Explains reasoning
• Be honest
• Is the developer?
Plan for Failure
• The Earth’s 10 billion year program was destroyed 5 minutes before the program to calculate the ultimate question of life the universe and everything completed.
Thanks