There’s a complete sample that shows you how to extend the reach of data to anyone that has an Internet connection: Windows Azure Sync Service Sample. It uses Microsoft Sync Framework 2.1, distributed to a Windows Azure Hosted Service, so the data can be seen even by users with poor or intermittent connections. The data needed by the user is kept on the user’s local computer and is synchronized with the server database when necessary.
You can download it here: http://code.msdn.microsoft.com/sync/Release/ProjectReleases.aspx?ReleaseId=5037
A typical scenario: You have data stored in a SQL Azure database and you want to allow remote users to have access to this data, but you don’t want to allow users to connect directly to your SQL Azure database.
The solution is to create a middle tier that runs as a Windows Azure Hosted Service where client applications connect to your hosted service, and the service connects to your SQL Azure database, thus providing a layer of security and business logic between the client and the service provider. Client applications can create a synchronized relationship with your server database, take their data offline, and synchronize changes back to the server database when a connection is available. In this way, client applications operate seamlessly even when the Internet connection is unreliable.
The Windows Azure Hosted Service benefits are:
- Security: There is no need to allow users direct access to your SQL Azure database. You control the middle tier, so you control exactly what flows in and out of your database.
- Business rules: The middle tier allows you to modify the data that flows between the server database and the client, enforcing any rules that are particular to your business.
- Ease of connection: The hosted service in this sample uses Windows Communication Foundation (WCF) to communicate between the client and the middle tier component, allowing a flexible and standardized way of communicating commands and data.