app arch guide (dons)
TRANSCRIPT
Application Architecture
Architecting software is …
Objectives for this talk
Metaphors can be helpful
If you have a chance, please see the comments in this deck for more details.
Application Architecture
Goals, Principles & Landscape
The Scope of Architecture
Applying a method
System
BusinessUser
Architecture Goals
Consider the impact on structure
Fundamental Principles
Separation of Concerns
Composition over Inheritance
Evolutionary Design
Reuse over Duplication
Encapsulation
Architectural Landscape
Users are No. 1Market MaturityFuture Trends
Agility
The Scope of Architecture
Architecture Frame
Architecture Styles
Application TypesQuality Attributes
Application Types
Mobile Client
Rich Client
Web Client
Remote Services
Rich Internet Client
Deployment
Architecture Styles
Structure
Communication
Multi-TierClient/Server
Object-orientedComponent-oriented
Message BusService-orientation
Quality Attributes
AvailabilityInteroperability
ScalabilityMaintainability Manageability
SecurityPerformance
Extensibility
Reliability
Testability
Architecture Frame
AuthenticationAuthorizationCommunicationCoupling & CohesionCaching & Data AccessException Mgmt.InstrumentationData Validation
Applying a Method
1: Identify objectives
2: Choose a key scenario3: Make some choices4: Test against hot spots
5: Build a candidate
Step 1: Identify Objectives
Goals
Consumers
Constraints
Step 2: Choose a Key Scenario Business
CriticalBroad Impact
High Impact
Step 3: App Overview
Choose App Type
Choose Arch Styles
Choose Technologies
Deployment Scenario
Step 4: Test Against Hot Spots
Architecture FrameQuality Attributes
Step 5: Build a Candidate
… and then go pick another scenario
In Summary
Goals, Principles & Landscape
The Scope of Architecture
Applying a method
Your Call to Action
http://apparchguide.codeplex.com
Appendix
The Architecture Meta Frame
The Agile Architecture Method
The Architecture Meta Frame
The Agile Architecture Method