architecture | life, the universe, and everything: sixty years of architectural knowledge in sixty...

15
Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes Alasdair Nottingham

Upload: jax-london

Post on 08-Jan-2017

814 views

Category:

News & Politics


0 download

TRANSCRIPT

Page 1: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty

MinutesAlasdair Nottingham

Page 2: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

The Architecture

Page 3: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

The Reality?

dragons

Page 4: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Encapsulation

Page 5: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

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

Page 6: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Loose Coupling

• How do I achieve Loose Coupling

• Bad Answer: Use static factories

• Good Answer: Use OSGi services

Page 7: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Extensibility

• I want to allow someone to plugin

• Bad Answer: Ooh, Eclipse has this thing called the Extension Registry

• Good Answer: OSGi services

Page 8: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

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.

Page 9: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Maintenance

Page 10: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Versioning

• How do I version my shiny new component

• Bad Answer: Get marketing to do it for you.

• Good Answer: Version semantically.

Page 11: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

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.

Page 12: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

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

Page 13: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

The Nice Architect• Trusts the developers

• Listens to the developers

• Can actually write code

• Explains reasoning

• Be honest

• Is the developer?

Page 14: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

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.

Page 15: Architecture | Life, the Universe, and Everything: Sixty Years of Architectural Knowledge in Sixty Minutes | Alasdair Nottingham

Thanks