It has been some time since I wrote something interesting in this blog. To be perfectly honest, because I just started in my new role as a Developer Evangelist at Microsoft, it’s been busy to say the least. You could say that I’m being evangelized on how to become a good evangelist, which sounds strange but does make perfect sense when I think about it.
As part of that evangelizing process, I’ve been finally addressing some technology areas that have been out of my scope for the past few years, due to the nature of my work as an Application Development Consultant in Microsoft Services. Some of those areas include “The Cloud” (one of the most fascinating topics there are) and Silverlight, which unfortunately I’ve been unable to pick up in the past few years (only worked with version 1.0, which is an experience I don’t like to recall very oftenJ).
Today I had the chance to exercise myself in the Evangelist role when I was confronted with a simple, yet interesting application scenario. I was asked for advice on how to build a small application that had some interesting requirements:
· A simple Silverlight “control” to be placed in a portal, which will be reused for several other portals in different countries.
· The control must allow both read and write access to a set of data
· Due to budget constraints, the organization doesn’t have the resources to acquire a database server to hold that data
One of the most interesting aspects of my role is that things are never quite this simple. One of the most important things to quickly understand in any advisory role is that, more often than not, what people ask and what people want to know are two different things. So I didn’t have the luxury of being presented with such a structured scenario, and we did spend quite some time trying to get these requirements right, using a simple exploratory process of asking questions and creating a mental picture of the required scenario.
In the end, after carefully analyzing our alternatives, we came up with the following solution:
· Silverlight control (it is a requirement and I would have advise it anyway)
· Database hosted somewhere in the cloud
· Service hosted on Azure to provide both read and write access to the data
· Depending on what they want to achieve they can opt for a WCF service or a REST service (using ADO.NET Data Services).
I believe this is an interesting scenario and very up-to-date to current technology trends, so it’s definitely a good exercise especially when the developers are inexperienced in any of the included technologies.
Since I could consider myself inexperienced in these areas as well, I thought it would be nice to help them further by creating a simple proof of concept that they could use as a starting point to develop their scenario. And while I’m at it, why shouldn’t I blog about the experience of creating this simple, yet interesting application?
I always enjoy reading posts that are done from a “newbie” perspective. First, they will no doubt be easy to follow, and second they often show that all these scary concepts and jargons are actually quite easy to use once you get around to it (at least I hope they are, since I’m writing this before I actually get started developing this application).
So, the next few posts will be a step by step guide on how to build this application. It won’t be fancy, but it may be an interesting read if you have been wondering about some of these concepts yourself but never really tried them before.
The first post in this series will be about creating the database using Microsoft SQL Azure. I will try to be as thorough as possible.
Until then, have fun!