App Arch Guide (Dons)

21
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.

Transcript of App Arch Guide (Dons)

Page 1: App Arch Guide (Dons)

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.

Page 2: App Arch Guide (Dons)

Application Architecture

Goals, Principles & Landscape

The Scope of Architecture

Applying a method

Page 3: App Arch Guide (Dons)

System

BusinessUser

Architecture Goals

Consider the impact on structure

Page 4: App Arch Guide (Dons)

Fundamental Principles

Separation of Concerns

Composition over Inheritance

Evolutionary Design

Reuse over Duplication

Encapsulation

Page 5: App Arch Guide (Dons)

Architectural Landscape

Users are No. 1Market MaturityFuture Trends

Agility

Page 6: App Arch Guide (Dons)

The Scope of Architecture

Architecture Frame

Architecture Styles

Application TypesQuality Attributes

Page 7: App Arch Guide (Dons)

Application Types

Mobile Client

Rich Client

Web Client

Remote Services

Rich Internet Client

Page 8: App Arch Guide (Dons)

Deployment

Architecture Styles

Structure

Communication

Multi-TierClient/Server

Object-orientedComponent-oriented

Message BusService-orientation

Page 9: App Arch Guide (Dons)

Quality Attributes

AvailabilityInteroperability

ScalabilityMaintainability Manageability

SecurityPerformance

Extensibility

Reliability

Testability

Page 10: App Arch Guide (Dons)

Architecture Frame

AuthenticationAuthorizationCommunicationCoupling & CohesionCaching & Data AccessException Mgmt.InstrumentationData Validation

Page 11: App Arch Guide (Dons)

Applying a Method

1: Identify objectives

2: Choose a key scenario3: Make some choices4: Test against hot spots

5: Build a candidate

Page 12: App Arch Guide (Dons)

Step 1: Identify Objectives

Goals

Consumers

Constraints

Page 13: App Arch Guide (Dons)

Step 2: Choose a Key Scenario Business

CriticalBroad Impact

High Impact

Page 14: App Arch Guide (Dons)

Step 3: App Overview

Choose App Type

Choose Arch Styles

Choose Technologies

Deployment Scenario

Page 15: App Arch Guide (Dons)

Step 4: Test Against Hot Spots

Architecture FrameQuality Attributes

Page 16: App Arch Guide (Dons)

Step 5: Build a Candidate

… and then go pick another scenario

Page 17: App Arch Guide (Dons)

In Summary

Goals, Principles & Landscape

The Scope of Architecture

Applying a method

Page 18: App Arch Guide (Dons)

Your Call to Action

http://apparchguide.codeplex.com

Page 19: App Arch Guide (Dons)

Appendix

The Architecture Meta Frame

The Agile Architecture Method

Page 20: App Arch Guide (Dons)

The Architecture Meta Frame

Page 21: App Arch Guide (Dons)

The Agile Architecture Method