KISS Architecture (part 3)

by Chris 12. December 2008 15:57

I'm continuing the series that started with part 1 and part 2 by talking more about the changes in a modern mobile multi-tier architecture. This time I will talk about the benefits of having loose coupling of the tiers.

For years, actually since Web Services started to be used, we have had a loose coupling between the presentation and middle tier. The effect has been that the system can be physically partitioned on different machines and even on either side of a firewall. Effectively creating many options for separating presentation from services, like using external services or even outsourcing services. It also allowed the outsourcing of the presentation tier unrelated to the location of services.

With the data tier, it was more difficult. Even if many applications also physically separated the services from the data tier, it was often problematic due to security issues (like opening up odd ports in the firewall to allow database traffic). With a technology like ADO.NET Data Services, it becomes easier to deploy the data tier separated from the services tier. That is not only a benefit for deployments on the server side, but it also opens up the ability to use an external data provider.

One interesting initiative by Microsoft is what they call services in the "cloud" (i.e. on the Internet), known as Azure (note the color of the cloud in the diagram figure below), and it means that we will have a new option for outsourcing the different tiers. With an upside-down view of the tiers (users at the bottom and the data tier on top), the following figure shows a number of available options:

KISS Architecture Tier Distribution

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

In the next part, I will start implementing the architecture that enable these options.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Architecture | Chris | Compact Framework | Windows Mobile

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen