New Release: patterns & practices App Arch Guide 2.0 Beta 2

ApplicationArchitectureGuideV3

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.

4 Parts

  • Part I, “Fundamentals”
  • Part II, “Design”
  • Part III, “Layers”
  • Part IV, “Archetypes"

Chapters

Appendix

Key Scenarios
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.

Key Features

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

Conceptual Framework
At a high level, the guide is based on the following conceptual framework for application architecture:

ArchMetaFrame2

Reference Application Architecture
We used the following reference application architecture as a backdrop for explaining how to design effective layers and components:

RefAppArch

Key Links

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

patterns & practices App Arch Guide 2.0 Project

App Arch Guide 2.0 Beta 1 Release

App Arch Guide 2.0 Overview Slides

Abstract for Application Architecture Guide 2.0

App Arch Meta-Frame

App Types

Architecture Frame

App Arch Guidelines

Layers and Components

Key Software Trends

Cheat Sheet: patterns & practices Catalog at a Glance Posted to CodePlex

Cheat Sheet: patterns & practices Pattern Catalog Posted to CodePlex