Today we released our patterns & practices App Arch Guide 2.0 Beta 1. This is our guide to help solution architects and developers make the most of the Microsoft platform. It’s a distillation of many lessons learned. It’s principle-based and pattern-oriented to provide a durable, evolvable backdrop for application architecture. It’s a collaborative effort among product team members, field, industry experts, MVPs, and customers. Keep in mind it’s Beta so there’s still moving parts and we’re processing quite a bit of feedback across the guide. Now’s the time to bang on it.
- Part I, “Fundamentals”
- Part II, “Design”
- Part III, “Layers”
- Part IV, “Quality Attributes”
- Part V, “Archetypes – Design and Patterns”
- Chapter 1 – Fundamentals of Application Architecture
- Chapter 2 – .NET Platform Overview
- Chapter 3 – Application Archetypes
- Chapter 4 – Deployment Patterns
- Chapter 5 – Arch Styles
- Chapter 6 – Quality Attributes
- Chapter 7 – Layers and Tiers
- Chapter 8 – Designing Your Architecture
- Chapter 9 – Architecture and Design Guidelines
- Chapter 10 – Designing Services
- Chapter 11 – Communication Guidelines
- Chapter 12 – Presentation Layer Guidelines
- Chapter 13 – Business Layer Guidelines
- Chapter 14 – Data Access Layer Guidelines
- Chapter 15 – Service Layer Guidelines
- Chapter 16 – Performance Engineering
- Chapter 17 – Security Engineering
- Chapter 18 – Mobile Application
- Chapter 19 – Office Business Application (OBA)
- Chapter 20 – Rich Client Application
- Chapter 21 – Rich Internet Application (RIA)
- Chapter 22 – Service Archetype
- Chapter 23 – SharePoint LOB Application
- Chapter 24 – Web Application
The guide helps you address the following scenarios:
- Choose the right architecture for your application.
- Choose the right technologies
- Make more effective choices for key engineering decisions.
- Map appropriate strategies and patterns.
- Map relevant patterns & practices solution assets.
- Canonical app frame – describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer is described in terms of its focus, function, capabilities, common design patterns and technologies.
- App Types. Canonical application archetypes to illustrate common application types. Each archetype is 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.
- Arch Frame – a common set of categories for 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.
- Principles, patterns and practices – Using the frames as backdrops, the guide overlays relevant principles, patterns, and practices.
- Technologies and capabilities – a description/overview of the Microsoft custom app dev platform and the main technologies and capabilities within it.
At a high level, the guide is based on the following conceptual framework for application architecture:
Reference Application Architecture
We used the following reference application architecture as a backdrop for explaining how to design effective layers and components:
- Application Architecture Guide 2.0 – The Book (CodePlex)
- Application Architecture Guide 2.0 – Knowledge Base (CodePlex)
Core Dev Team
- J.D. Meier , Alex Homer, David Hill, Jason Taylor, Prashant Bansode , Lonnie Wall, Rob Boucher, Akshay Bogawat
Contributors / Reviewers
- Test team: Rohit Sharma, Praveen Rangarajan
- Edit team: Dennis Rea.
- External Contributors/Reviewers. Adwait Ullal; Andy Eunson; Christian Weyer; David Guimbellot; David Weller; Derek Greer; Eduardo Jezierski; Evan Hoff; Gajapathi Kannan; Jeremy D. Miller; Kent Corley; Mark Baker; Paul Ballard; Norman Headlam; Ryan Plant; Sam Gentile; Udi Dahan
- Microsoft Contributors / Reviewers. Ade Miller; Anoop Gupta; Bob Brumfield; Brad Abrams; Brian Cawelti; Bhushan Nene; Burley Kawasaki; Carl Perry; Chris Keyser; Chris Tavares; Clint Edmonson; David Hill; Denny Dayton; Diego Dagum; Dmitri Martynov; Dmitri Ossipov; Don Smith; Dragos Manolescu; Elisa Flasko; Eric Fleck; Erwin van der Valk; Faisal Mohamood; Francis Cheung; Gary Lewis; Glenn Block; Gregory Leake; Ilia Fortunov; J.R. Arredondo; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Mehran Nikoo; Michael Puleio; Mike Walker; Mubarak Elamin; Nick Malik; Nobuyuki Akama; Ofer Ashkenazi; Pablo Castro; Pat Helland; Phil Haack; Reed Robison; Rob Tiffany; Ryno Rijnsburger; Scott Hanselman; Serena Yeoh; Srinath Vasireddy; Tom Hollander; Wojtek Kozaczynski
My Related Posts