Tuesday, December 16, 2008

Application Architecture Guide is Available

After many months of work, we've released the patterns & practices Application Architecture Guide - http://www.codeplex.com/AppArchGuide.  You can download the pdf or you can view it all on the web, whichever is easier for you.

This is a 381 page playbook to designing well architected applications on the Microsoft .NET platform. It covers web applications, mobile applications, rich client applications, services and rich internet applications (like Silverlight). The guide is a distillation of many lessons learned from architecture experts both internal and external to Microsoft.  It’s principle-based and pattern-oriented to provide a durable, evolvable backdrop for application architecture that you can use for many years to come. 

Some key features of the guide:

  • Canonical app frame - Describes at a meta-level, the tiers and layers that an architect should consider. Each tier and layer is described in terms of its focus, function, capabilities, common design patterns and technologies.
  • App Types - Canonical application archetypes (such as web application or rich client application) are used to illustrate common application types.  Each archetype is described in terms of the target scenarios, technologies, patterns and infrastructure it contains.
  • Arch Frame - A common set of categories for hot spots for key engineering decisions. These include categories such as authentication and authorization, caching, state management, composition, configuration, transactions, validation, workflow and more.
  • Quality Attributes - A set of quality attributes that shape your application architecture, such as performance, security, scalability, manageability, reliability and more.
  • Principles, patterns and practices - Using the frames as backdrops, the guide overlays relevant principles, patterns, and practices, such as model view controller pattern, data transfer objects, service gateway, facade and more.
  • Technologies and capabilities - A description of the Microsoft platform and all the relevant technologies. For instance we provide guidance about which data access technologies to use, which UI and presentation layer technologies are best suited for your scenario, and when to use WCF vs. ASMX.

If you are an architect or a developer on the .NET platform, I highly recommend you pick it up. Its free, so you have nothing to lose!

No comments: