I have blogged over time about various guidance material that we have released out of our Patterns and Practices team for customers. It is something that our customers ask us for and I like how it draws upon Microsoft’s internal experience in application architecture and also consolidates the contributions of external experts, customers, and others in the community.
Earlier this week, we released a Beta of the Application Architecture Guide 2.0. This guide is a consolidated set of principles, patterns, and practices for designing application architecture. The purpose of the guide is to help solution architects and developers design and build more effective applications on the .NET platform and supports top-level decision making at the early stages of a new project as well as topic-specific content to help architects and developers improve their existing solutions. This guidance incorporates the contributions and reviews of over fifteen external experts and customers.
The Architecture Meta Frame is a conceptual framework used throughout the guide. By thinking about applications in terms of scenarios, application types, architecture styles, and requirements, you can very quickly determine relevant technologies, patterns, and solution assets. You can then use the Architecture Frame as an additional lens to identify potential hot spots in your application architecture. For example, by focusing on data access or validation, you can prototype and test potential solutions to figure out the best approach for your scenario.
The guide includes a reference application architecture, common canonical application archetypes including web, rich client, RIA, mobile and a service, architecture frame, quality attributes and design approach to help you design your architecture.
To summarize, the biggest benefit of the guide is a consolidation of guidance for designing application architecture. It aims to help you choose the right architecture, choose the right technologies, make more effective design decisions, and choose relevant patterns.