Today we released our patterns & practices Application Architecture Guide 2.0 Beta 2. This is our Microsoft playbook for the application platform. It’s 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. This is the guide that helps you understand our platform, choose among the technologies, and build applications based on lessons learned and proven practices.
Key Changes in Beta 2
Beta 2 is a significant overhaul of the entire guide. We carried the good forward. We made some key additions:
- Added a foreword by S. Somasegar.
- Added technology considerations throughout the guide.
- Added technology matrixes for choosing technologies, including Presentation, Data Access, Workflow, and Integration technologies.
- Added a new Agile Architecture Method (see chapter 4.)
- Tuned and pruned the recommendations across the entire guide.
- Restructured the guide for simpler parts – fundamentals, design, layers and archetypes.
- Part I, “Fundamentals”
- Part II, “Design”
- Part III, “Layers”
- Part IV, “Archetypes"
- Chapter 1 – Architecture Fundamentals
- Chapter 2 – .NET Platform Overview
- Chapter 3 – Architecture and Design Guidelines
- Chapter 4 – Designing Your Architecture
- Chapter 5 – Deployment Patterns
- Chapter 6 – Architectural Styles
- Chapter 7 – Quality Attributes
- Chapter 8 – Communication Guidelines
- Chapter 9 – Layers and Tiers
- Chapter 10 – Presentation Layer Guidelines
- Chapter 11 – Business Layer Guidelines
- Chapter 12 – Data Access Layer Guidelines
- Chapter 13 – Service Layer Guidelines
- Chapter 14 – Application Archetypes
- Chapter 15 – Web Applications
- Chapter 16 – Rich Internet Applications (RIA)
- Chapter 17 – Rich Client Applications
- Chapter 18 – Services
- Chapter 19 – Mobile Applications
- Chapter 20 – Office Business Applications (OBA)
- Chapter 21 – SharePoint LOB Applications
- Cheat Sheet – patterns & practices Pattern Catalog
- Cheat Sheet – Presentation Technology Matrix
- Cheat Sheet – Data Access Technology Matrix
- Cheat Sheet – Workflow Technology Matrix
- Cheat Sheet – Integration Technology Matrix
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; John Kordyback; Keith Pleas; Kent Corley; Mark Baker; Paul Ballard; Peter Oehlert; Norman Headlam; Ryan Plant; Sam Gentile; Sidney G Pinney; Ted Neward; 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; Ian Ellison-Taylor; Ilia Fortunov; J.R. Arredondo; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Manish Prabhu; Meghan Perez; 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