Wednesday, March 18, 2009

Patterns & Practices Application Architecture Guide 2.0

Microsoft has just released the most recent update to their Application Architecture Guide. I got a copy of the first edition of this book quite a few years ago and it has remained close at hand on my bookshelf since then. This version is a much needed update to the guide.

The purpose of this book is to provide  guidance on how to do good application design. Although it’s primary focus is on designing Microsoft .NET apps, it contains a lot of material that is applicable to any development platform.

The book is divided up into four parts. The first part is called Fundamentals. It starts with a discussion of the basic concepts of application architecture, provides a high level overview of the .NET platform, and finally provides a fairly large collection of design guidelines.

The second part, called Design, walks your through the process of how to design an application. It goes through the things you will have to decide on during the design process and provides guidance on how to make these decisions.

Part three, Layers, discusses the traditional layers that are found in an application. It provides information on how to design presentation, business logic, data access and services layers and  discusses how to map various Microsoft technologies to these layers.

Finally part four, Archetypes, goes over each major type of application you may have to design and talks about the design considerations as they relate to each type of app. In this part you will find information on designing web apps, rich Internet apps, mobile apps, etc.

The appendix of the book contains some very useful technology “cheat sheets” for Data, Integration, Presentation, and Workflow. In each section you will find information on the related .NET technologies along with guidance to help in deciding which technologies are best suited to your specific design scenario.

You can download the guide for free from, http://www.codeplex.com/AppArchGuide.

You can also hear a talk with Rob Boucher, one of the authors of the guide on the Dot Net Rocks podcast 426, http://www.dotnetrocks.com/default.aspx?showNum=426

Sunday, March 15, 2009

Changes coming to SDS

There was an announcement this week from the SDS development team in Microsoft that there will be a change in direction for SDS. Instead of the schema-less database I have been talking about over last few weeks it will be moving towards full blown SQL Server hosted in the cloud. The big advantage is that it will make it much easier to migrate existing database apps to the Azure platform.

This decision also makes sense when you consider that a lot of the features of the existing SDS are already available as part of other Microsoft data access technologies. For example Azure already has a schema less database technology in the form of Azure Table Storage. You can also get the REST based database interface by using ADO.NET Data Services.

If you are getting confused by all the different data access technologies Microsoft is providing, you are not alone. I really should do a post that describes the different technologies that are out there.