Application Architecture Guide

From Guidance Share

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:13, 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.
-[[image:ApplicationArchitectureGuide.png|left]] 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 accomplish the following: +[[image:ApplicationArchitectureGuide.png|left]] 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.
-* Design more effective architectures. +
-* Choose the right technologies. +
-* Make more effective choices for key engineering decisions.+
 +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
-The guide includes the following: 
-* a canonical application frame,  
-* a set of canonical application types 
-* an architecture frame, quality attributes  
-* principles, patterns, and practices  
-* technologies and capabilities.  
<br clear="all" /> <br clear="all" />
 +== 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 == == Chapters ==
-The following overview shows you how to execute the agile architecture method:+* [[Application Architecture Guide - Foreword by S. Somasegar | Foreword by S. Somasegar]]
-* [[Agile Architecture Method Explained - Introduction | Introduction]]+* [[Application Architecture Guide - Foreword by Scott Guthrie | Foreword by Scott Guthrie]]
-* [[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]]+* [[Application Architecture Guided - Introduction | Introduction]]
-* [[Agile Architecture Method Explained - Chapter 4 - Step 3: Application Overview | Chapter 4 - Step 3: Application Overview]]+* [[Application Architecture Guide - Architecture and Design Solutions At a Glance | Architecture and Design Solutions At a Glance]]
-* [[Agile Architecture Method Explained - Chapter 5 - Step 4: Key Hot Spots | Chapter 5 - Step 4: Key Hot Spots]]+* [[Application Architecture Guide - Fast Track | Fast Track]]
-* [[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]]+Part I, Fundamentals
-* [[Agile Architecture Method Explained - Chapter 8 - Communicating Your Architecture | Chapter 8 - Communicating Your Architecture]]+* [[Application Architecture Guide - Chapter 1 - Fundamentals of Application Architecture | Chapter 1 - Fundamentals of Application Architecture]]
 +* [[Application Architecture Guide - Chapter 2 - .NET Platform Overview | Chapter 2 - .NET Platform Overview]]
 +* [[Application Architecture Guide - Chapter 3 - Architecture and Design Guidelines | Chapter 3 - Architecture and Design Guidelines]]
 + 
 +Part II, Design
 +* [[Application Architecture Guide - Chapter 4 - Designing Your Architectures | Chapter 4 - Designing Your Architecture]]
 +* [[Application Architecture Guide - Chapter 5 - Deployment Patterns | Chapter 5 - Deployment Patterns]]
 +* [[Application Architecture Guide - Chapter 6 - Architectural Styles | Chapter 6 - Architectural Styles]]
 +* [[Application Architecture Guide - Chapter 7 - Quality Attributes | Chapter 7 - Quality Attributes]]
 +* [[Application Architecture Guide - Chapter 8 - Communication Guidelines | Chapter 8 - Communication Guidelines]]
 + 
 +Part III, Layers
 +* [[Application Architecture Guide - Chapter 9 - Layers and Tiers | Chapter 9 - Layers and Tiers]]
 +* [[Application Architecture Guide - Chapter 10 - Presentation Layer Guidelines | Chapter 10 - Presentation Layer Guidelines]]
 +* [[Application Architecture Guide - Chapter 11 - Business Layer Guidelines | Chapter 11 - Business Layer Guidelines]]
 +* [[Application Architecture Guide - Chapter 12 - Data Access Layer Guidelines | Chapter 12 - Data Access Layer Guidelines]]
 +* [[Application Architecture Guide - Chapter 13 - Service Layer Guidelines | Chapter 13 - Service Layer Guidelines]]
 + 
 +Part IV, Archetypes
 +* [[Application Architecture Guide - Chapter 14 - Application Archetypes | Chapter 14 - Application Archetypes]]
 +* [[Application Architecture Guide - Chapter 15 - Web Applications | Chapter 15 - Web Applicationss]]
 +* [[Application Architecture Guide - Chapter 16 - Rich Internet Applications (RIA) | Chapter 16 - Rich Internet Applications (RIA)]]
 +* [[Application Architecture Guide - Chapter 17 - Rich Client Applications | Chapter 17 - Rich Client Applications]]
 +* [[Application Architecture Guide - Chapter 18 - Services | Chapter 18 - Services]]
 +* [[Application Architecture Guide - Chapter 19 - Mobile Applications | Chapter 19 - Mobile Applications]]
 +* [[Application Architecture Guide - Chapter 20 - Office Business Applications (OBA) | Chapter 20 - Office Business Applications (OBA)]]
 +* [[Application Architecture Guide - Chapter 21 - SharePoint Line-Of-Business (LOB) Applications | Chapter 21 - SharePoint Line-Of-Business (LOB) Applications]]
 + 
 +Appendix
 +* [[Application Architecture Guide - Cheat Sheet - patterns & practices Pattern Catalog | Cheat Sheet - patterns & practices Pattern Catalog]]
 +* [[Application Architecture Guide - Cheat Sheet - Presentation Technology Matrix | Cheat Sheet - Presentation Technology Matrix]]
 +* [[Application Architecture Guide - Cheat Sheet - Data Access Technology Matrix | Cheat Sheet - Data Access Technology Matrix]]
 +* [[Application Architecture Guide - Cheat Sheet - Workflow Technology Matrix | Cheat Sheet - Workflow Technology Matrix]]
 +* [[Application Architecture Guide - Cheat Sheet - Integration Technology Matrix | Cheat Sheet - Integration Technology Matrix]]
 + 
 +__NOTOC__ __NOEDITSECTION__

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