Project Description
This project is dedicated to creating an architecture based on the KISS principle, but still conforming to Einstein's maxim that "everything should be made as simple as possible, but no simpler."

Overview
Building further on the ideas introduced in the Windows Mobile Architecture Blueprint, an architecture with loosely coupled tiers can easily take advantage of new offerings like Azure:
kissdistr.png
Starting from the left, we have a stand-alone application (A) with all three tiers running locally on the client. The next, is the traditional client/server application (B) with a fat client only hosting the data on the server. This option has not been used much the last couple of years, mostly because of the lack of simple data access, but will probably be more common in application using Silverlight 2 and ADO.NET Data Services. Next, is the typical fat client application (C) using server-side services, and then we have a normal Web application (D). The first option that use the cloud (E) is an application that make use of a cloud-hosted data service (like SQL Data Services), and the last two options also host the services (F) and even the presentation (G) tier in the cloud (using .NET Services). Of course, several of these options can be combined, and an example is an application hosted in the cloud (G) that can also be run offline (A) when the client doesn't have a network connection (a common scenario for a mobile application).

Readings
The architecture is covered by a series of blog posts:
Part 1 was a general introduction
Part 2 outlined the architecture (tiers, etc)
Part 3 showed the benefit of loosely coupled tiers (distribution, cloud, etc)
Part 4 started the implementation by creating the entity data model (using ADO.NET Entity Framework)
Part 5 published the entity data model as a data service (using ADO.NET Data Services)
Part 6 implemented the business domain (using the data service)
Part 7 created the service (using WCF)
Part 8 started the implementation of the mobile client (using WCF)
Part 9 added offline support to the mobile client (using SQL Server Compact, etc)
Part 10 is the summary of the mobile series
Part 11 showed a traditional Windows client (using Windows Forms)
Part 12 demonstrated a traditional Web client (using ASP.NET)
Part 13 implemented a modern Windows client (using WPF)
Part 14 created a modern Web client (using Silverlight 2)
Part 15 is the summary of the complete series

Requirements
You need to have these things installed to use the architecture:
.NET Framework 3.5 + SP1 the treasure chest
Visual Studio 2008 + SP1 + SQL Server (Express) world class development tool and database
Northwind sample database still going strong ;-)
Silverlight Tools for Visual Studio 2008 SP1 the new way of designing the UX
WPF Toolkit (October 2008) for the controls
Silverlight Toolkit (November 2008) for the controls

Last edited Mar 8, 2009 at 9:19 PM by cforsberg, version 17