Showing posts with label Linq. Show all posts
Showing posts with label Linq. Show all posts

Saturday, April 19, 2008

A Microsoft Cloud Database. Now its starting to make sense.

I apologize in advance for this fairly technical article, but I wanted to post about this to highlight that Microsoft can produce some really impressive stuff on the Development side of things, even for SaaS.

It was announced fairly recently that Microsoft was planning to release a cloud version of its SQL Server DBMS, called Microsoft Data Services, (Whitepaper found here.).

There are a number of major players in this arena, including Google, Amazon and even Intuit but that isn't the focus of this blog post.

Despite Microsoft's sometimes "perceived" less than committed approach to SaaS and Cloud Computing in general, they always seem to come up with some great additions to their development platforms.

Their latest .NET framework 3.5 Platform introduces a component called Linq or Language Integrated queries. This component which is based upon Functional Language constructs and Lambda expression building blocks essentially provides a SQL language capability embedded in the C# and VB.NET language sets used by many. It provides an abstraction layer hiding database specific language constructs from client apps.

Example:

var query = from p in Contacts where p.LastName=="Wing" select p;


Linq can be used against all types of collections, and in fact the building blocks of Linq, Lambda Expressions and extension methods also simplifies many scenarios where you have to iterate through collections. In instances where you would traditionally write multi line code with a FOREACH statement you can replace with a single line.
string[] contacts= {"Troy","Jane","Kim"};
IEnumerable contactList= contacts.Select(p=> p += " Wing").
.Where(q=>q=="Troy");
So back to the reason why I am blogging about this and why its "starting to make sense", these technical features which can make developer's lives a lot easier, actually have a more significant and strategic use. They will form the development platform for ISV's to build apps against Microsofts Cloud Database. Because Linq is Database agnostic, it becomes the perfect tool to use in the SaaS world when building Multi-Tenant Client apps. It removes the need to write complex database specific code anywhere in your app.

It will simplify development, and provide the ability to bring to market a SaaS product requiring a database backend a lot more cheaply and quickly and perhaps open up the SaaS market to smaller organizations who normally couldn't afford to build such an app.

It would have taken several years for such significant features to be designed and implemented by Microsoft, so although I don't know whether this was intentional or not, Microsoft has been seriously thinking about architecture for Cloud Computing for quite a while.

Friday, July 20, 2007

LINQ and useful Blog

Last few days finally had a chance to do some research, after the last few months of heavy development and deployment for new multinational customers.

I focused on LINQ the Microsoft technology as a potential answer to something which grows tiresome for me when architecting on demand applications. I don't know about you all out there, but I am getting tired of building Data Access Layers and trying multiple different ways of defining SQL statements in this layer and reviewing all sorts of frameworks which are supposed to help in this area.

After playing around with LINQ in Visual Studio.NET codename "Orcas", I can say I am extremely excited. LINQ is basically Microsoft's response to this problem. It provides a way of managing in code, relational databases as objects. Thus merging the normally disparate application code and SQL queries against the database.

Also found an excellent Blog from Wriju at Microsoft. Check it out. I found it very useful.

Wriju on LINQ

Monday, July 16, 2007

New Stuff

Note to self: find something original to write about Silverlight, WPF, Linq and Acropolis.
This is really cool stuff to be playing round with, and there are plenty of bloggers writing about them now. Just need to find a different angle to discuss.