Application Architecture Guide

From Guidance Share

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:30, 25 April 2009 (edit)
JD (Talk | contribs)

← Previous diff
Current revision (02:44, 22 January 2010) (edit)
JD (Talk | contribs)

 
Line 1: Line 1:
-- J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat.+<em style="margin:0;background-color:#cedff2;font-family:sans-serif;border:1px solid #a3b0bf;text-align:center;color:#000;padding:0.2em 0.4em;">
 +Note - The patterns & practices Microsoft Application Architecture Guide, 2nd Edition is now live at http://msdn.microsoft.com/en-us/library/dd673617.aspx.
 +</em>
 + 
 +- J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat.
Line 12: Line 16:
== Key Features == == Key Features ==
The guide includes the following: The guide includes the following:
-* Architecture Frame - is a map of some of the most important elements of architecture, including scenarios, quality attributes, application types, architecture styles and key engineering hot spots. +* '''Architecture Frame''' - is a map of some of the most important elements of architecture, including scenarios, quality attributes, application types, architecture styles and key engineering hot spots.
-* Application Types - a set of canonical application archetypes to illustrate common application types. Each archetype will be described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype will be mapped to the canonical app frame. They are illustrative of common app types and not comprehensive or definitive.+* '''Application Types''' - a set of canonical application archetypes to illustrate common application types. Each archetype will be described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype will be mapped to the canonical app frame. They are illustrative of common app types and not comprehensive or definitive.
-* Application Feature Frame - a common set of hot spots for key engineering decisions.+* '''Application Feature Frame''' - a common set of hot spots for key engineering decisions.
-* Quality Attributes - a set of qualities/abilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.+* '''Quality Attributes''' - a set of qualities/abilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.
-* Layered Application Reference Example - describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer will be described in terms of its focus, function, capabilities, common design patterns and technologies.+* '''Layered Application Reference Example''' - describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer will be described in terms of its focus, function, capabilities, common design patterns and technologies.
-* Principles, patterns and practices - using the frames as backdrops, the guide overlays relevant principles, patterns, and practices.+* '''Principles, patterns and practices''' - using the frames as backdrops, the guide overlays relevant principles, patterns, and practices.
- +
-== Parts ==+
-Part I, Fundamentals +
-Part II, Design+
-Part III, Layers+
-Part IV, Archetypes +
== Chapters == == Chapters ==
-Forewords+* [[Application Architecture Guide - Foreword by S. Somasegar | Foreword by S. Somasegar]]
-* [[Agile Architecture Method Explained - Foreword by S. Somasegar | Foreword by S. Somasegar]]+* [[Application Architecture Guide - Foreword by Scott Guthrie | Foreword by Scott Guthrie]]
-* [[Agile Architecture Method Explained - Foreword by Scott Guthrie | Foreword by Scott Guthrie]]+
 +* [[Application Architecture Guided - Introduction | Introduction]]
 +* [[Application Architecture Guide - Architecture and Design Solutions At a Glance | Architecture and Design Solutions At a Glance]]
 +* [[Application Architecture Guide - Fast Track | Fast Track]]
-Introduction 
-Architecture and Design Solutions At a Glance 
-Fast Track 
Part I, Fundamentals Part I, Fundamentals
-Chapter 1 - Fundamentals of Application Architecture+* [[Application Architecture Guide - Chapter 1 - Fundamentals of Application Architecture | Chapter 1 - Fundamentals of Application Architecture]]
-Chapter 2 - .NET Platform Overview+* [[Application Architecture Guide - Chapter 2 - .NET Platform Overview | Chapter 2 - .NET Platform Overview]]
-Chapter 3 - Architecture and Design Guidelines+* [[Application Architecture Guide - Chapter 3 - Architecture and Design Guidelines | Chapter 3 - Architecture and Design Guidelines]]
 + 
Part II, Design Part II, Design
-Chapter 4 - Designing Your Architecture+* [[Application Architecture Guide - Chapter 4 - Designing Your Architectures | Chapter 4 - Designing Your Architecture]]
-Chapter 5 - Deployment Patterns+* [[Application Architecture Guide - Chapter 5 - Deployment Patterns | Chapter 5 - Deployment Patterns]]
-Chapter 6 - Architectural Styles+* [[Application Architecture Guide - Chapter 6 - Architectural Styles | Chapter 6 - Architectural Styles]]
-Chapter 7 - Quality Attributes+* [[Application Architecture Guide - Chapter 7 - Quality Attributes | Chapter 7 - Quality Attributes]]
-Chapter 8 - Communication Guidelines+* [[Application Architecture Guide - Chapter 8 - Communication Guidelines | Chapter 8 - Communication Guidelines]]
 + 
Part III, Layers Part III, Layers
-Chapter 9 - Layers and Tiers+* [[Application Architecture Guide - Chapter 9 - Layers and Tiers | Chapter 9 - Layers and Tiers]]
-Chapter 10 - Presentation Layer Guidelines+* [[Application Architecture Guide - Chapter 10 - Presentation Layer Guidelines | Chapter 10 - Presentation Layer Guidelines]]
-Chapter 11 - Business Layer Guidelines+* [[Application Architecture Guide - Chapter 11 - Business Layer Guidelines | Chapter 11 - Business Layer Guidelines]]
-Chapter 12 - Data Access Layer Guidelines+* [[Application Architecture Guide - Chapter 12 - Data Access Layer Guidelines | Chapter 12 - Data Access Layer Guidelines]]
-Chapter 13 - Service Layer Guidelines+* [[Application Architecture Guide - Chapter 13 - Service Layer Guidelines | Chapter 13 - Service Layer Guidelines]]
 + 
Part IV, Archetypes Part IV, Archetypes
-Chapter 14 - Application Archetypes+* [[Application Architecture Guide - Chapter 14 - Application Archetypes | Chapter 14 - Application Archetypes]]
-Chapter 15 - Web Applications+* [[Application Architecture Guide - Chapter 15 - Web Applications | Chapter 15 - Web Applicationss]]
-Chapter 16 - Rich Internet Applications (RIA)+* [[Application Architecture Guide - Chapter 16 - Rich Internet Applications (RIA) | Chapter 16 - Rich Internet Applications (RIA)]]
-Chapter 17 - Rich Client Applications+* [[Application Architecture Guide - Chapter 17 - Rich Client Applications | Chapter 17 - Rich Client Applications]]
-Chapter 18 - Services+* [[Application Architecture Guide - Chapter 18 - Services | Chapter 18 - Services]]
-Chapter 19 - Mobile Applications+* [[Application Architecture Guide - Chapter 19 - Mobile Applications | Chapter 19 - Mobile Applications]]
-Chapter 20 - Office Business Applications (OBA)+* [[Application Architecture Guide - Chapter 20 - Office Business Applications (OBA) | Chapter 20 - Office Business Applications (OBA)]]
-Chapter 21 - SharePoint Line-Of-Business (LOB) Applications+* [[Application Architecture Guide - Chapter 21 - SharePoint Line-Of-Business (LOB) Applications | Chapter 21 - SharePoint Line-Of-Business (LOB) Applications]]
 + 
Appendix Appendix
-Cheat Sheet - patterns & practices Pattern Catalog+* [[Application Architecture Guide - Cheat Sheet - patterns & practices Pattern Catalog | Cheat Sheet - patterns & practices Pattern Catalog]]
-Cheat Sheet - Presentation Technology Matrix+* [[Application Architecture Guide - Cheat Sheet - Presentation Technology Matrix | Cheat Sheet - Presentation Technology Matrix]]
-Cheat Sheet - Data Access Technology Matrix+* [[Application Architecture Guide - Cheat Sheet - Data Access Technology Matrix | Cheat Sheet - Data Access Technology Matrix]]
-Cheat Sheet - Workflow Technology Matrix+* [[Application Architecture Guide - Cheat Sheet - Workflow Technology Matrix | Cheat Sheet - Workflow Technology Matrix]]
-Cheat Sheet - Integration Technology Matrix +* [[Application Architecture Guide - Cheat Sheet - Integration Technology Matrix | Cheat Sheet - Integration Technology Matrix]]
- +__NOTOC__ __NOEDITSECTION__
-== Chapters ==+
-The following overview shows you how to execute the agile architecture method:+
-* [[Agile Architecture Method Explained - Introduction | Introduction]]+
-* [[Agile Architecture Method Explained - Chapter 1 - Agile Architecture Method | Chapter 1 - Agile Architecture Method]]+
-* [[Agile Architecture Method Explained - Chapter 2 - Step 1: Identify Architecture Objectives | Chapter 2 - Step 1: Identify Architecture Objectives]]+
-* [[Agile Architecture Method Explained - Chapter 3 - Step 2: Identify Key Scenarios | Chapter 3 - Step 2: Identify Key Scenarios]]+
-* [[Agile Architecture Method Explained - Chapter 4 - Step 3: Application Overview | Chapter 4 - Step 3: Application Overview]]+
-* [[Agile Architecture Method Explained - Chapter 5 - Step 4: Key Hot Spots | Chapter 5 - Step 4: Key Hot Spots]]+
-* [[Agile Architecture Method Explained - Chapter 6 - Step 5: Candidate Solutions | Chapter 6 - Step 5: Candidate Solutions]]+
-* [[Agile Architecture Method Explained - Chapter 7 - Reviewing Your Architecture | Chapter 7 - Reviewing Your Architecture]]+
-* [[Agile Architecture Method Explained - Chapter 8 - Communicating Your Architecture | Chapter 8 - Communicating Your Architecture]]+

Current revision

Note - The patterns & practices Microsoft Application Architecture Guide, 2nd Edition is now live at http://msdn.microsoft.com/en-us/library/dd673617.aspx.

- J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat.


The purpose of the Application Architecture Guide is to improve your effectiveness building applications on the Microsoft platform. The primary audience is solution architects and developer leads. The guide provides design-level guidance for the architecture and design of applications. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.

We wrote this guide to help you with the following:

  • design more effective architectures
  • choose the right technologies
  • make more effective choices for key engineering decisions


Key Features

The guide includes the following:

  • Architecture Frame - is a map of some of the most important elements of architecture, including scenarios, quality attributes, application types, architecture styles and key engineering hot spots.
  • Application Types - a set of canonical application archetypes to illustrate common application types. Each archetype will be described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype will be mapped to the canonical app frame. They are illustrative of common app types and not comprehensive or definitive.
  • Application Feature Frame - a common set of hot spots for key engineering decisions.
  • Quality Attributes - a set of qualities/abilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.
  • Layered Application Reference Example - describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer will be described in terms of its focus, function, capabilities, common design patterns and technologies.
  • Principles, patterns and practices - using the frames as backdrops, the guide overlays relevant principles, patterns, and practices.

Chapters


Part I, Fundamentals

Part II, Design

Part III, Layers

Part IV, Archetypes

Appendix


Personal tools