Tips, tricks and all the info about Microsoft Visual Studio 2008

Introduction to New SQL Server Data Services

, posted: 20-Feb-2009 09:00

Web-based Data Storage in a Cloud
This document is for developers with at least a basic idea of what "Cloud Computing" is and are familiar with Microsoft developer tools (e.g. Microsoft Visual Studio 2008). You must have experience designing and/or implementing systems deployed in "traditional" hosted environments.

Overview of Windows Azure Services Platform

Windows Azure Platform at a Glance
The Windows Azure Platform consists of infrastructure and APIs sourced from Microsoft, which allow developers to integrate new web developments on top of this platform. 

In turn, these new tools that you create can either be standalone applications, or add-ins into Microsoft's other popular end-user applications such as Office Live, Exchange Online or SharePoint Online.

What Do I Get "in the Box"?
By hooking into the functionality exposed by the Azure platform, developers are able to take advantage of such services as Live Services (for Identity, Contacts & Devices), .NET Services (for Service Bus, Workflow and Access Control) and SQL Services (for Database, Analytics and Reporting).

Windows Azure will manage the process of deploying and localising storage.  It will also manage the process of load balancing.  You just code the application.  Microsoft (via Azure) will maintain the infrastructure.

Overview of Microsoft SQL Server Data Services (SSDS)

SQL Services - Extending the SQL Data Platform to the Cloud
SQL Services are the data services tier of the Azure Services Platform.  They are built on Microsoft SQL Server foundation, with broad data platform capabilities as a service such as friction-free provisioning and scaling;  and significant investments in scale, high availability, lights-out operation, and total cost of ownership.

At this stage of the Beta programme, only the database and Data Sync functions are offered.

Your Data Any Place, Any Time
This tag line from Microsoft means your data can follow you around. There are 3 propositions to make this happen:

  • Agility means there is no schema.  This means you code using completely flexible entities.
  • Scalability means future growth is built in (and can be scaled back and forth daily, if your usage rate requires it).
  • SLA means Microsoft will guarantee availablity, reliability and security.

Shape of the Service

SSDS Service Architecture
SSDS is Microsoft's response to the question "How to extend SQL Server to the Cloud?" and implemented in the mid-tier.  The conceptual service architecture model is your client application will interact with the SSDS storage tier via either REST or SOAP (your choice) web calls.

The SSDS Feature Areas are:
  • Data and Storage Models
  • Web service API (REST, SOAP, resource and formats)
  • Provisioning
  • Query Model
  • Security

The ACE Concepts
- Authority
  • Unit of geo-location and billing
  • Collection of containers

- Container
  • Unit of consistency/search
  • Collection of entities
  • No schema requried

- Entity
  • Property bag or name/value pairs
  • Unit of update/change
  • No schema

Concepts: Entity
- Flexible Entity Model
  • No schema required
  • Smallest unit of storage (unit of update)

- Metadata properties
  • ID - unique name within parent container
  • Kind - track user type (e.g. JobListing, Resume, Car, Circle, etc)
  • Version - update timestamp on each operation

- Flex properties
  • Can change instance type or add additional properties
  • Support for simple types: decimal, string, blob, etc.
  • All properties are indexed

REST Support
- Representational State Transfer
  • Pure HTTP-based solution
  • All resources are directly accessible from Internet URLs
  • HTTP Verbs mapped directly to SSDS operations (UML: Create, Read, Update, Delete; SQL: INSERT, SELECT, UPDATE, DELETE; REST: POST, GET, PUT, DELETE)

- Very broad accessibility from almost any environment
- Simple XML-based payloads or plain old XML (POX)

Query Language
  • Textual query language through Web-service head, passed in as literal text string
  • Lanuage patterned after C# LINQ syntax
  • Operator semantics handles variant values
  • Query supported over metadata and data properties
About the beta
There is a Technical Preview available now:

- Open release of the desktop software development kit
- Limited preview of the cloud infrastructure with free usage and quotas
- Key Features
  • Virtual machines with dedicated resources
  • Automated service management
  • Simple service architectures
  • Microsoft ASP.NET Web sites, managed code "workers"
  • Storage
  • Single, large data centre on the US West Coast

SSDS Takeaways
  • Scale, cost and operations excellence
  • Learn about customer and partner usage patterns
  • Built on proven Windows Server and SQL Server technology
  • Industrial strength servers; years of experience running large-scale MSN and Windows Live services
  • Novel distributed data fabric for massive scale out and lights-out operation
  • Service will evolve based on feedback and partnerships

For More Information

Landing pages

Download Visual Studio 2008 90 day trial
For detailed information and to request a free 90-day trial DVD of Visual Studio 2008 Team Suite to be sent out to you, go to the Microsoft Visual Studio webpage.

About the Author
James Hippolite started programming in 1983 on an Apple IIe, at the age of 14. After graduating with a bachelor degree in Information Systems from Victoria University of Wellington in New Zealand in 1990, he started working with small systems relational databases, like dBase, Paradox, FoxPro and finally Microsoft Access.

In 1991 he founded Mana Information Systems, a company for SME who couldn’t afford their own IT departments. As the lead developer, he developed small to medium WinForms applications using SQL Server, Visual Basic and latterly ASP.  In 2003 James developed in C# his first .NET web application, an internal metrics reporting tool for his new employer, Telecom New Zealand, utilising SQL Server stored procedures and .NET classes.

Due to the worldwide success of SubSonic, James converted in 2008 to this O/R mapper, which is currently one of the market-leading data-access solutions for .NET, C# and VB.NET. James has been a trainer and contributed lectures on Microsoft Certification and SQL Server Reporting Services to the .NET community.  James has received for his community efforts no MVP reward (yet).

He lives in Wellington and is currently employed full time in a large corporate and loving the regular hours that non-consultants enjoy.

Other related posts:
The New Zealand ALM Conference 2011 (Application Life Cycle Management)
Writing your own Html Helpers for the ASP.NET MVC Framework
Automating Visual Studio 2008

Comment by JamesHip, on 20-Feb-2009 14:22

I key point I should have made in this document (that I only learned last night after my presentation to the Wellington SQL Server User Group) is the confusion over the demarcation between Azure and SSDS.  Try to think of it this way:

Azure is like a Cloud O/S.
SSDS is like a Cloud DB.

Your application can be hosted on Azure and querying data in SSDS.

Howeve, your application does not have to be hosted on Azure.  It could be hosted locally on your PC or Mobile device, and querying data in SSDS.


About the Visual Studio 2008 Blog

In the years since the hugely successful release of Visual Studio 2005, Microsoft has used developer feedback from all over the world to introduce over 250 new features in the 2008 release.

This sponsored blog will bring Visual Studio 2008 tips and tricks from well known developers in the Australian and New Zealand tech community directly to you.

Make sure you bookmark this blog or subscribe to our RSS feed.

Other blog posts

The New Zealand ALM Conference...
Writing your own Html Helpers ...
Automating Visual Studio 2008...
Windows Azure Table Storage - ...
Windows Azure Table Storage - ...
XML and XSLT in Visual Studio ...
Using the Visual Studio 2008 P...
Getting started with Windows A...
Why consider sitting for an MC...
Unit testing .Net Compact Fram...

Some recent comments

Praveen M on Visual Studio 2008 support for building SilverLigh: I installed SILVERLIGHT TOOLS for VS2008 at my work. I am able to do silverlight...

zefo on Unit testing with Visual Studio 2008: Just minor recommendation: better use *.png for the screenshots. Jpeg is more su...

gil ziny on Unit testing with Visual Studio 2008: When I associate the unit test with TFS testing policy, if fails during check-in...

lynette on Visual Studio 2008 JavaScript Debugging: i have enable in IE the ability to debug scripts. if i go to my section in my c...

Junkie on Why consider sitting for an MCTS or MCP Certificat: The way you presented the case for certification has been completely different f...

Brian Link on Unit testing with Visual Studio 2008: You seem to be incorrect in one of your opening remarks - it seems that web.conf...

Dipanwaya on Unit testing .Net Compact Framework applications w: Steps Behind the Test in the VS 2008? How to test a module in the VS 2008 Envir...

Ricardo on Visual Studio 2008 support for building SilverLigh: Yes! Found the solution myself :) Reset the environment of Visual Web Developer...

Ricardo on Visual Studio 2008 support for building SilverLigh: Have the same problem after installing Visual Web Developer 2008 SP1 and Silverl...

kjward on Automating Visual Studio 2008: thanks lots for all the great info. i'm sure the answer to my question is in th...


The Visual Studio 2008 blog is sponsored by Microsoft NZ. The blog posts are the authors' genuine accounts of their experiences with Visual Studio 2008 and are not influenced or filtered by Microsoft NZ in any way.